@rabbi696/ezrouter 0.6.16 → 0.6.17
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 +28 -25
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +24 -0
- package/app/.next-cli-build/react-loadable-manifest.json +2 -2
- package/app/.next-cli-build/routes-manifest.json +18 -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 +2 -2
- 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/convoy/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/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/error-log/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/keys/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mcp-gateway/servers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +5 -5
- 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 +6 -6
- 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 +4 -4
- 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/pxpipe/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/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/routing-health/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/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/(dashboard)/dashboard/wakeup/page.js +2 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/wakeup/page.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/wakeup/page_client-reference-manifest.js +1 -0
- package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- 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 +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- 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 +4 -4
- 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/saml/acs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/saml/test/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/changelog/route.js +1 -1
- package/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli/providers/codex/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
- 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 +1 -1
- 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/codewhale-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-native/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-native/readiness/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
- 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 +1 -1
- 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/crush-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- 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/devin-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- 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/forge-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
- 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/omp-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/omp-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 +1 -1
- 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/cli-tools/pi-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-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/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/export/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/presets/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/combos/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/convoy/rules/route.js +2 -2
- package/app/.next-cli-build/server/app/api/convoy/rules/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- 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/internal/codex-native/lease/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/internal/codex-native/lease/[action]/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/mcp-gateway/instances/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/instances/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/instances/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/instances/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/keys/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/message/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp-gateway/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/oauth/[id]/[action]/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp-gateway/oauth/[id]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp-gateway/sse/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp-gateway/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/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/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/enabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/enabled/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/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/callback/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/grok-cli/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/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/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
- package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/zed/import/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]/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]/overrides/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/refresh-profile/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 +14 -14
- 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 +14 -14
- 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/netlify-deploy/route.js +68 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route_client-reference-manifest.js +1 -0
- 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/pxpipe/health/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/routing-health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/routing-health/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/token-saver/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/token-saver/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/token-saver/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/token-saver/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tool-disclosure/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tool-disclosure/stats/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 +1 -1
- 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]/claude-reset/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/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/error-logs/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/error-logs/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/alpha/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/alpha/search/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/codex/alpha/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/alpha/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/images/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/memories/trace_summarize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/codex/responses/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 +3 -3
- 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/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/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/systemone/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/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/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/api/wakeup/route.js +1 -0
- package/app/.next-cli-build/server/app/api/wakeup/route.js.nft.json +1 -0
- package/app/.next-cli-build/server/app/api/wakeup/route_client-reference-manifest.js +1 -0
- 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 +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/convoy.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 +6 -6
- 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 +6 -6
- 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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/keys/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/keys.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/keys.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/servers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/servers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway/servers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard/mcp-gateway.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mcp-gateway.segments/_tree.segment.rsc +2 -2
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
- 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 +7 -7
- 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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/routing-health.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 +4 -4
- 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 +2 -2
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +6 -6
- 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 +6 -6
- 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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/wakeup.html +1 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.meta +17 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.rsc +26 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/!KGRhc2hib2FyZCk/dashboard/wakeup/__PAGE__.segment.rsc +9 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/!KGRhc2hib2FyZCk/dashboard/wakeup.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/!KGRhc2hib2FyZCk.segment.rsc +5 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/_full.segment.rsc +26 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/_head.segment.rsc +6 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/_index.segment.rsc +8 -0
- package/app/.next-cli-build/server/app/dashboard/wakeup.segments/_tree.segment.rsc +4 -0
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
- 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 +6 -6
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +2 -2
- 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 +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
- 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 +4 -4
- 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 +28 -25
- package/app/.next-cli-build/server/chunks/1133.js +1 -1
- package/app/.next-cli-build/server/chunks/1198.js +1 -0
- package/app/.next-cli-build/server/chunks/1253.js +1 -1
- package/app/.next-cli-build/server/chunks/14.js +2 -0
- package/app/.next-cli-build/server/chunks/1522.js +1 -1
- package/app/.next-cli-build/server/chunks/1641.js +1 -1
- package/app/.next-cli-build/server/chunks/1733.js +1 -1
- package/app/.next-cli-build/server/chunks/1847.js +1 -1
- package/app/.next-cli-build/server/chunks/{9026.js → 1942.js} +18 -18
- package/app/.next-cli-build/server/chunks/2180.js +1 -0
- package/app/.next-cli-build/server/chunks/2220.js +1 -1
- package/app/.next-cli-build/server/chunks/2269.js +1 -1
- package/app/.next-cli-build/server/chunks/2316.js +1 -0
- package/app/.next-cli-build/server/chunks/2348.js +1 -1
- package/app/.next-cli-build/server/chunks/2898.js +1 -1
- package/app/.next-cli-build/server/chunks/290.js +1 -1
- package/app/.next-cli-build/server/chunks/3092.js +1 -0
- package/app/.next-cli-build/server/chunks/321.js +10 -0
- package/app/.next-cli-build/server/chunks/3275.js +1 -1
- package/app/.next-cli-build/server/chunks/3547.js +1 -1
- package/app/.next-cli-build/server/chunks/3583.js +1 -1
- package/app/.next-cli-build/server/chunks/369.js +23 -23
- package/app/.next-cli-build/server/chunks/3874.js +1 -0
- package/app/.next-cli-build/server/chunks/3886.js +1 -1
- package/app/.next-cli-build/server/chunks/3977.js +1 -1
- package/app/.next-cli-build/server/chunks/412.js +3 -3
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/{5704.js → 4344.js} +34 -34
- package/app/.next-cli-build/server/chunks/4378.js +2 -52
- package/app/.next-cli-build/server/chunks/4646.js +1 -1
- package/app/.next-cli-build/server/chunks/4704.js +3 -53
- package/app/.next-cli-build/server/chunks/4803.js +1 -1
- package/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/app/.next-cli-build/server/chunks/4878.js +1 -1
- package/app/.next-cli-build/server/chunks/4989.js +1 -0
- package/app/.next-cli-build/server/chunks/5251.js +1 -1
- package/app/.next-cli-build/server/chunks/5460.js +2 -2
- package/app/.next-cli-build/server/chunks/5872.js +1 -1
- package/app/.next-cli-build/server/chunks/6103.js +1 -1
- package/app/.next-cli-build/server/chunks/615.js +1 -1
- package/app/.next-cli-build/server/chunks/6252.js +1 -1
- package/app/.next-cli-build/server/chunks/6405.js +1 -1
- package/app/.next-cli-build/server/chunks/6464.js +1 -0
- package/app/.next-cli-build/server/chunks/6569.js +1 -0
- package/app/.next-cli-build/server/chunks/6623.js +1 -0
- package/app/.next-cli-build/server/chunks/6664.js +1 -0
- package/app/.next-cli-build/server/chunks/6799.js +1 -1
- package/app/.next-cli-build/server/chunks/7362.js +1 -1
- package/app/.next-cli-build/server/chunks/7594.js +16 -16
- package/app/.next-cli-build/server/chunks/7633.js +1 -0
- package/app/.next-cli-build/server/chunks/7663.js +1 -1
- package/app/.next-cli-build/server/chunks/7677.js +1 -1
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7775.js +1 -1
- package/app/.next-cli-build/server/chunks/7811.js +1 -1
- package/app/.next-cli-build/server/chunks/8062.js +1 -1
- package/app/.next-cli-build/server/chunks/8129.js +1 -1
- package/app/.next-cli-build/server/chunks/823.js +1 -1
- package/app/.next-cli-build/server/chunks/8243.js +5 -14
- package/app/.next-cli-build/server/chunks/8306.js +1 -1
- package/app/.next-cli-build/server/chunks/8469.js +1 -1
- package/app/.next-cli-build/server/chunks/8644.js +1 -1
- package/app/.next-cli-build/server/chunks/8950.js +1 -0
- package/app/.next-cli-build/server/chunks/8976.js +1 -1
- package/app/.next-cli-build/server/chunks/9303.js +1 -1
- package/app/.next-cli-build/server/chunks/{4768.js → 9352.js} +1 -1
- package/app/.next-cli-build/server/chunks/9485.js +1 -1
- package/app/.next-cli-build/server/chunks/9616.js +1 -0
- package/app/.next-cli-build/server/chunks/9761.js +51 -0
- package/app/.next-cli-build/server/chunks/9865.js +1 -1
- package/app/.next-cli-build/server/chunks/9898.js +51 -0
- package/app/.next-cli-build/server/functions-config-manifest.json +2 -1
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +6 -6
- 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/static/FVexSVbOSDtcylsZCcjge/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/{1321-73fdccd2b1bf151d.js → 1321-26e45b3f54a76b57.js} +1 -1
- package/app/.next-cli-build/static/chunks/5497-4241ae61f34ae4c0.js +17 -0
- package/app/.next-cli-build/static/chunks/6509-e4e72b0db83cac55.js +1 -0
- package/app/.next-cli-build/static/chunks/{801-a83c4648747b8c6a.js → 801-410b498dd92d55c0.js} +1 -1
- package/app/.next-cli-build/static/chunks/8105-e126b2fb1459aebd.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-6720afc00e5d9d9a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-c35f746b4bd9fc90.js → page-948cbe61db1d6e26.js} +11 -11
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-2f0ed88b5c33439a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-7f28486bb0eb77b3.js → page-886fa42ab104c02b.js} +2 -2
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-0868ecc0d2f1bd04.js → page-f9acce0bf6425bac.js} +5 -5
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-7813952170842887.js +4 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-07467119470e1841.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-c804bcf327d3ef5a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/wakeup/page-cc38ba001d74e072.js +1 -0
- package/app/.next-cli-build/static/chunks/app/_global-error/page-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/changelog/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli/providers/codex/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/readiness/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/export/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/convoy/rules/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/internal/codex-native/lease/[action]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/message/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/oauth/[id]/[action]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/sse/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/enabled/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/callback/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh-profile/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/routing-health/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/token-saver/stats/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/token-saver/stream/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tool-disclosure/stats/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/alpha/search/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/alpha/search/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/edits/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/generations/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/memories/trace_summarize/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/compact/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/wakeup/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/landing/page-1317108013cd8887.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-6152f72d0a627f31.js +1 -0
- package/app/.next-cli-build/static/chunks/{webpack-ac71f993743961ad.js → webpack-2e234f646b31f149.js} +1 -1
- package/app/.next-cli-build/static/css/9f1798df7ad706c5.css +1 -0
- package/app/CHANGELOG.md +34 -0
- package/app/package.json +1 -1
- package/app/public/CHANGELOG.md +34 -0
- package/package.json +1 -1
- package/src/cli/menus/combos.js +9 -2
- package/src/cli/utils/comboModelId.js +10 -0
- package/app/.next-cli-build/server/chunks/5130.js +0 -1
- package/app/.next-cli-build/server/chunks/6420.js +0 -1
- package/app/.next-cli-build/server/chunks/7066.js +0 -1
- package/app/.next-cli-build/server/chunks/7218.js +0 -1
- package/app/.next-cli-build/server/chunks/8231.js +0 -1
- package/app/.next-cli-build/server/chunks/8772.js +0 -1
- package/app/.next-cli-build/server/chunks/9062.js +0 -1
- package/app/.next-cli-build/static/Y5Sk8uSUyB0vJ-ZgW1X1U/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/5497-ff58e90f4053e184.js +0 -17
- package/app/.next-cli-build/static/chunks/6808-93e2068e37a63896.js +0 -1
- package/app/.next-cli-build/static/chunks/8105-9b41dc96e4b019cf.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-72d5a02ccf63ca71.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-56484613ccd100dd.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-fd1013905d903c5c.js +0 -4
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-6cb070834a750fdd.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-e54e9501bfa23e38.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/changelog/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli/providers/codex/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-native/readiness/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/export/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/convoy/rules/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/internal/codex-native/lease/[action]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/[id]/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/instances/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/keys/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/message/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/oauth/[id]/[action]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp-gateway/sse/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/catalog-sync/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/enabled/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/callback/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh-profile/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/routing-health/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/token-saver/stats/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/token-saver/stream/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tool-disclosure/stats/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/error-logs/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/alpha/search/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/alpha/search/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/edits/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/images/generations/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/memories/trace_summarize/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/compact/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/codex/responses/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-7d5b31b8481d8fdd.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-4c5cfa991861ba1b.js +0 -1
- package/app/.next-cli-build/static/css/76821f2171e21e80.css +0 -1
- package/app/src/shared/services/quotaAutoPing.js +0 -376
- /package/app/.next-cli-build/static/{Y5Sk8uSUyB0vJ-ZgW1X1U → FVexSVbOSDtcylsZCcjge}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6405,exports.ids=[6405],exports.modules={17660:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({children:a,title:b,subtitle:c,icon:g,action:h,padding:i="md",hover:j=!1,elev:k=!1,className:l,...m}){return(0,d.jsxs)("div",{className:(0,e.cn)("bg-surface border border-border-subtle",k?"rounded-[14px] shadow-[var(--shadow-elev)]":"rounded-[14px] shadow-[var(--shadow-soft)]",j&&"hover:shadow-[var(--shadow-warm)] hover:border-brand-500/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],l),...m,children:[(b||h)&&(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[g&&(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:g})}),(0,d.jsxs)("div",{children:[b&&(0,d.jsx)("h3",{className:"text-text-main font-semibold",children:b}),c&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:c})]})]}),h]}),a]})}f.Section=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",b),...c,children:a})},f.Row=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",b),...c,children:a})},f.ListItem=function({children:a,actions:b,className:c,...f}){return(0,d.jsxs)("div",{className:(0,e.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",c),...f,children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:a}),b&&(0,d.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:b})]})}},71404:(a,b,c)=>{c.d(b,{cn:()=>d});function d(...a){return a.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}},80212:(a,b,c)=>{c.d(b,{ad:()=>f,gH:()=>e});let d={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},meta:{"muse-spark-1.2":{input:1.25,output:4.25,cached:.15,reasoning:4.25},"muse-spark-1.1":{input:1.25,output:4.25,cached:.15,reasoning:4.25},"muse-spark-1.2-contributor":{input:.1,output:.2,cached:.002,reasoning:.2}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"z-ai/glm-5.3-free":{input:0,output:0,cached:0,reasoning:0}}};function e(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function f(){return d}}};
|
|
1
|
+
"use strict";exports.id=6405,exports.ids=[6405],exports.modules={17660:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({children:a,title:b,subtitle:c,icon:g,action:h,padding:i="md",hover:j=!1,elev:k=!1,className:l,...m}){return(0,d.jsxs)("div",{className:(0,e.cn)("bg-surface border border-border-subtle",k?"rounded-[14px] shadow-[var(--shadow-elev)]":"rounded-[14px] shadow-[var(--shadow-soft)]",j&&"hover:shadow-[var(--shadow-warm)] hover:border-brand-500/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],l),...m,children:[(b||h)&&(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[g&&(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:g})}),(0,d.jsxs)("div",{children:[b&&(0,d.jsx)("h3",{className:"text-text-main font-semibold",children:b}),c&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:c})]})]}),h]}),a]})}f.Section=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",b),...c,children:a})},f.Row=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",b),...c,children:a})},f.ListItem=function({children:a,actions:b,className:c,...f}){return(0,d.jsxs)("div",{className:(0,e.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",c),...f,children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:a}),b&&(0,d.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:b})]})}},71404:(a,b,c)=>{c.d(b,{cn:()=>d});function d(...a){return a.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}},80212:(a,b,c)=>{c.d(b,{ad:()=>f,gH:()=>e});let d={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},meta:{"muse-spark-1.2":{input:1.25,output:4.25,cached:.15,reasoning:4.25},"muse-spark-1.1":{input:1.25,output:4.25,cached:.15,reasoning:4.25},"muse-spark-1.2-contributor":{input:.1,output:.2,cached:.002,reasoning:.2}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"z-ai/glm-5.3-free":{input:0,output:0,cached:0,reasoning:0}}};function e(a,b){let c=e._cache||(e._cache=new Map),d=c.get(a);return void 0===d&&(d=RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i"),c.set(a,d)),d.test(b)}function f(){return d}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=6464,exports.ids=[4989,6464],exports.modules={13808:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw,wV:()=>d.wV});var d=c(33079)},53129:(a,b,c)=>{function d(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}function e(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(4-a.length%4)%4,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}function f(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function g(a){let b=f(a);if(b)return b.email||b.preferred_username||b.sub||void 0}async function h(a){if(!a)return null;try{let b=await fetch("https://codewhisperer.us-east-1.amazonaws.com/ListAvailableProfiles",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({maxResults:10})});if(!b.ok)return null;let c=await b.json();return c.profiles?.find(a=>a.arn?.trim())?.arn?.trim()||null}catch{return null}}function i(a){let b=f(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}c.d(b,{J_:()=>g,YR:()=>i,gR:()=>h,js:()=>d,pG:()=>e})},73159:(a,b,c)=>{c.d(b,{Ue:()=>k,oT:()=>l});var d=c(39141);let e=d.xq.xai?.clientId,f="https://auth.x.ai",g="/oauth2/authorize",h="/oauth2/token",i="/.well-known/openid-configuration",j="/callback",k=96,l={clientId:e,issuer:f,authEndpointPath:g,tokenEndpointPath:h,discoveryPath:i,authorizeUrl:`${f}${g}`,tokenUrl:`${f}${h}`,discoveryUrl:`${f}${i}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${j}`,loopbackPort:56121,callbackPath:j,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/9router",codeChallengeMethod:"S256"}},86103:(a,b,c)=>{c.d(b,{PY:()=>ak,exchangeTokens:()=>ag,extractCodexAccountInfo:()=>e.YR,fetchKiroProfileArn:()=>e.gR,kP:()=>af,sO:()=>ae,Su:()=>ai,Re:()=>ah}),c(30369);var d=c(13808),e=c(53129),f=c(92990);let g={config:f.OV,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d)=>{let e=new URLSearchParams({code:"true",client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c});return`${a.authorizeUrl}?${e.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=b,g="";if(f.includes("#")){let a=f.split("#");f=a[0],g=a[1]||""}let h=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({code:f,state:g||e,grant_type:"authorization_code",client_id:a.clientId,redirect_uri:c,code_verifier:d})});if(!h.ok){let a=await h.text();throw Error(`Token exchange failed: ${a}`)}return await h.json()},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope})},h={config:f.DI,flowType:"authorization_code_pkce",fixedPort:f.DI.fixedPort,callbackPath:f.DI.callbackPath,buildAuthUrl:(a,b,c,d)=>{let e=Object.entries({response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,...a.extraParams,state:c}).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${e}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b=(0,e.YR)(a.id_token),c={accessToken:a.access_token,refreshToken:a.refresh_token,idToken:a.id_token,expiresIn:a.expires_in,lastRefreshAt:new Date().toISOString()},d=b.email||(0,e.J_)(a.access_token);return d&&(c.email=d),(b.chatgptAccountId||b.chatgptPlanType)&&(c.providerSpecificData={chatgptAccountId:b.chatgptAccountId,chatgptPlanType:b.chatgptPlanType}),c}};var i=c(55511),j=c.n(i),k=c(73159);let l=null;async function m(){if(l)return l;try{let a=await fetch(k.oT.discoveryUrl,{headers:{Accept:"application/json"}});if(a.ok){let b=await a.json();return l={authorizeUrl:(0,e.js)(b.authorization_endpoint,"authorization_endpoint"),tokenUrl:(0,e.js)(b.token_endpoint,"token_endpoint")}}}catch{}return l={authorizeUrl:k.oT.authorizeUrl,tokenUrl:k.oT.tokenUrl}}let n={config:k.oT,flowType:"authorization_code_pkce",fixedPort:k.oT.loopbackPort,callbackPath:k.oT.callbackPath,pkceVerifierBytes:k.Ue,prepareConfig:async a=>{let b=await m();return{...a,authorizeUrl:b.authorizeUrl,tokenUrl:b.tokenUrl}},buildAuthUrl:(a,b,c,d)=>{let e=j().randomBytes(16).toString("hex"),f=Object.entries({response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c,nonce:e,plan:"generic",referrer:"cli-proxy-api"}).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${f}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`xAI token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope},c=(0,e.pG)(a.id_token);return c&&(b.email=c),a.id_token&&(b.providerSpecificData={idToken:a.id_token}),b}};var o=c(13247);let p={config:f.qp,flowType:"device_code",requestDeviceCode:async a=>{let b=new URLSearchParams({client_id:a.clientId,scope:a.scope});a.referrer&&b.set("referrer",a.referrer);let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":o.hY},body:b});if(!c.ok){let a=await c.text();throw Error(`Grok CLI device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":o.hY},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:b,client_id:a.clientId})});try{c=await d.json()}catch{c={error:"invalid_response",error_description:await d.text()}}let e=c?.error==="authorization_pending"||c?.error==="slow_down";return{ok:d.ok||e,data:c}},postExchange:async a=>{try{let b=await fetch("https://cli-chat-proxy.grok.com/v1/user",{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","User-Agent":o.hY,"x-xai-token-auth":"xai-grok-cli","x-grok-client-version":o.uG}});if(b.ok)return{user:await b.json()}}catch{}return{user:null}},mapTokens:(a,b)=>{let c=(0,e.pG)(a.id_token)||(0,e.J_)(a.access_token)||b?.user?.email||null,d=b?.user?.userId||b?.user?.principalId||null,f=[b?.user?.firstName,b?.user?.lastName].filter(Boolean).join(" ").trim()||null,g=a.expires_in?new Date(Date.now()+1e3*a.expires_in).toISOString():null;return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,expiresAt:g,scope:a.scope,email:c||void 0,displayName:f||void 0,providerSpecificData:{authMethod:"device_code",idToken:a.id_token||null,email:c||null,userId:d,hasGrokCodeAccess:b?.user?.hasGrokCodeAccess??null,subscriptionTier:b?.user?.subscriptionTier??null}}}},q="1.0.0",r={config:f.sA,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","x-api-version":q},body:new URLSearchParams({client_id:a.clientId})});if(!b.ok){let a=await b.text();throw Error(`Muse Code device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","x-api-version":q},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:b,client_id:a.clientId})});try{c=await d.json()}catch{c={error:"invalid_response",error_description:await d.text()}}let e=c?.error==="authorization_pending"||c?.error==="slow_down";return{ok:d.ok||e,data:c}},postExchange:async a=>{let b,c;for(let c=0;(429===(b=await fetch("https://api.meta.ai/muse-code/key",{method:"POST",headers:{Accept:"application/json",Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","x-api-version":q},body:JSON.stringify({onboard:!0}),redirect:"error"})).status||b.status>=500)&&!(c>=2);c++)await new Promise(a=>setTimeout(a,5e3*(c+1)));let d=await b.text();if(!b.ok){let a=`${b.status} ${d.slice(0,200)}`;try{let b=JSON.parse(d);(b?.title||b?.detail)&&(a=[b.title,b.detail].filter(Boolean).join(": "),b.action_url&&(a+=` — ${b.action_url}`))}catch{}throw Error(`Muse Code key mint failed: ${a}`)}try{c=JSON.parse(d)}catch{throw Error("Muse Code key mint returned invalid JSON")}if(!1===c.is_subs_active)throw Error("Muse Code subscription is inactive — activate it on muse.ai first");let e=c.action_url||c.require_payment_action_url;if(!c.api_key&&(c.require_payment||e))throw Error(`Muse Code subscription required${e?`: ${e}`:""}`);if(!c.api_key)throw Error("Muse Code key response is missing api_key");return{key:c}},mapTokens:(a,b)=>{let c=b?.key||{};return{accessToken:c.api_key,refreshToken:null,expiresIn:null,email:c.user_email?.trim().toLowerCase()||void 0,providerSpecificData:{authMethod:"device_code",oauthAccessToken:a.access_token,subscriptionTier:c.subs_tier_name||null}}}},s={config:f.LT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${f.LT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`}}),c=b.ok?await b.json():{},d="";try{let b=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:(0,f.cD)(),mode:1})});if(b.ok){let a=await b.json();d=a.cloudaicompanionProject?.id||a.cloudaicompanionProject||""}}catch(a){console.log("Failed to fetch project ID:",a)}return{userInfo:c,projectId:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},t={config:f.YT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c}),signal:AbortSignal.timeout(1e4)});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b={Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","User-Agent":f.YT.loadCodeAssistUserAgent,"x-request-source":"local"},c=(0,f.cD)(),d={};try{let b=await fetch(`${f.YT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`,"x-request-source":"local"},signal:AbortSignal.timeout(5e3)});b.ok&&(d=await b.json())}catch(a){console.log("Failed to fetch user info:",a)}let e="",g="legacy-tier";try{let a=await fetch(f.YT.loadCodeAssistEndpoint,{method:"POST",headers:b,body:JSON.stringify({metadata:c}),signal:AbortSignal.timeout(5e3)});if(a.ok){let b=await a.json();if(e=b.cloudaicompanionProject?.id||b.cloudaicompanionProject||"",Array.isArray(b.allowedTiers)){for(let a of b.allowedTiers)if(a.isDefault&&a.id){g=a.id.trim();break}}}}catch(a){console.log("Failed to load code assist:",a)}return e&&(async()=>{for(let a=0;a<10;a++){try{let a=await fetch(f.YT.onboardUserEndpoint,{method:"POST",headers:b,body:JSON.stringify({tierId:g,metadata:c})});if(a.ok){let b=await a.json();if(!0===b.done)break}}catch(a){break}await new Promise(a=>setTimeout(a,5e3))}})().catch(()=>{}),{userInfo:d,projectId:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})},u={config:f.ZL,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({loginMethod:a.extraParams.loginMethod,type:a.extraParams.type,redirect:b,state:c,client_id:a.clientId});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=Buffer.from(`${a.clientId}:${a.clientSecret}`).toString("base64"),e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c,client_id:a.clientId,client_secret:a.clientSecret})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},postExchange:async a=>{let b=await fetch(`${f.ZL.userInfoUrl}?accessToken=${encodeURIComponent(a.access_token)}`,{headers:{Accept:"application/json"}});if(!b.ok){let a=await b.text();throw Error(`Failed to fetch user info: ${a}`)}let c=await b.json();if(!c.success)throw Error(`User info request failed: ${c.message||"Unknown error"}`);let d=c.data||{};if(!d.apiKey||""===d.apiKey.trim())throw Error("Empty API key returned from iFlow");if(!(d.email?.trim()||d.phone?.trim()))throw Error("Missing account email/phone in user info");return{userInfo:d}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,apiKey:b?.userInfo?.apiKey,email:b?.userInfo?.email||b?.userInfo?.phone,displayName:b?.userInfo?.nickname||b?.userInfo?.name})};function v(a){return{config:a,flowType:"device_code",requestDeviceCode:async a=>{let{QoderService:b}=await c.e(3912).then(c.bind(c,91531)),d=await new b(a).initiateDeviceFlow();return{device_code:d.nonce,user_code:d.nonce.slice(0,8).toUpperCase(),verification_uri:a.loginUrl,verification_uri_complete:d.verificationUriComplete,expires_in:300,interval:2,codeVerifier:d.codeVerifier,_qoderNonce:d.nonce,_qoderMachineId:d.machineId,_qoderMachineToken:d.machineToken}},pollToken:async(a,b,d,e)=>{let f,{QoderService:g}=await c.e(3912).then(c.bind(c,91531)),h=new g(a),i=b||e?._qoderNonce,j=d||e?._qoderVerifier;if(!i||!j)return{ok:!1,data:{error:"invalid_request",error_description:"Missing nonce/verifier"}};try{f=await h.pollDeviceToken({nonce:i,codeVerifier:j})}catch(a){return{ok:!1,data:{error:"poll_failed",error_description:a.message}}}if("pending"===f.status)return{ok:!1,data:{error:"authorization_pending"}};let k=await h.fetchUserInfo(f.accessToken),l=Math.max(86400,Math.floor((f.expireTime-Date.now())/1e3));return{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:l,_qoderUserId:f.userId,_qoderMachineId:e?._qoderMachineId||"",_qoderMachineToken:e?._qoderMachineToken||e?._qoderMachineId||"",_qoderName:k.name,_qoderEmail:k.email,_qoderOrganizationId:k.organizationId}}},mapTokens:a=>{let b=(a._qoderEmail||"").trim(),c=(a._qoderName||"").trim()||null,d=a._qoderUserId||"",e=b||(d?`qoder-user-${d}`:null);return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,email:e,displayName:c,providerSpecificData:{authMethod:"device",userId:d,machineId:a._qoderMachineId||"",machineToken:a._qoderMachineToken||a._qoderMachineId||"",organizationId:a._qoderOrganizationId||""}}}}}let w=v(f.hF),x=v(f.t3),y={config:f.Nu,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scopes})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,device_code:b,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});try{c=await d.json()}catch(a){c={error:"invalid_response",error_description:await d.text()}}return{ok:d.ok,data:c}},postExchange:async a=>{let b=await fetch(f.Nu.copilotTokenUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":f.Nu.apiVersion,"User-Agent":f.Nu.userAgent}}),c=b.ok?await b.json():{},d=await fetch(f.Nu.userInfoUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":f.Nu.apiVersion,"User-Agent":f.Nu.userAgent}});return{copilotToken:c,userInfo:d.ok?await d.json():{}}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,name:b?.userInfo?.login||b?.userInfo?.name,displayName:b?.userInfo?.name||b?.userInfo?.login,email:b?.userInfo?.email||null,providerSpecificData:{copilotToken:b?.copilotToken?.token,copilotTokenExpiresAt:b?.copilotToken?.expires_at,githubUserId:b?.userInfo?.id,githubLogin:b?.userInfo?.login,githubName:b?.userInfo?.name,githubEmail:b?.userInfo?.email}})},z={config:f.Tx,flowType:"device_code",requestDeviceCode:async(a,b,c={})=>{let d=("string"==typeof c.region?c.region.trim():"")||"us-east-1";(0,f.S6)(d);let e=("string"==typeof c.startUrl?c.startUrl.trim():"")||a.startUrl,g="idc"===c.authMethod?"idc":"builder-id",h=`https://oidc.${d}.amazonaws.com/client/register`,i=`https://oidc.${d}.amazonaws.com/device_authorization`,j=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:a.clientName,clientType:a.clientType,scopes:a.scopes,grantTypes:a.grantTypes,issuerUrl:a.issuerUrl})});if(!j.ok){let a=await j.text();throw Error(`Client registration failed: ${a}`)}let k=await j.json(),l=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k.clientId,clientSecret:k.clientSecret,startUrl:e})});if(!l.ok){let a=await l.text();throw Error(`Device authorization failed: ${a}`)}let m=await l.json();return{device_code:m.deviceCode,user_code:m.userCode,verification_uri:m.verificationUri,verification_uri_complete:m.verificationUriComplete,expires_in:m.expiresIn,interval:m.interval||5,_clientId:k.clientId,_clientSecret:k.clientSecret,_region:d,_authMethod:g,_startUrl:e}},pollToken:async(a,b,c,d)=>{let e,g=d?._region||"us-east-1";(0,f.S6)(g);let h=`https://oidc.${g}.amazonaws.com/token`,i=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:d?._clientId,clientSecret:d?._clientSecret,deviceCode:b,grantType:"urn:ietf:params:oauth:grant-type:device_code"})});try{e=await i.json()}catch(a){e={error:"invalid_response",error_description:await i.text()}}return e.accessToken?{ok:!0,data:{access_token:e.accessToken,refresh_token:e.refreshToken,expires_in:e.expiresIn,profile_arn:e?.profileArn||null,_clientId:d?._clientId,_clientSecret:d?._clientSecret,_region:d?._region,_authMethod:d?._authMethod,_startUrl:d?._startUrl}}:{ok:!1,data:{error:e.error||"authorization_pending",error_description:e.error_description||e.message}}},mapTokens:a=>{let b=(0,e.J_)(a.access_token);return{accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,email:b,providerSpecificData:{profileArn:a?.profile_arn||null,clientId:a._clientId,clientSecret:a._clientSecret,region:a._region||"us-east-1",authMethod:a._authMethod||"builder-id",startUrl:a._startUrl||f.Tx.startUrl}}}},A={config:f.WN,flowType:"import_token",mapTokens:a=>({accessToken:a.accessToken,refreshToken:null,expiresIn:a.expiresIn||86400,providerSpecificData:{machineId:a.machineId,authMethod:"imported"}})},B={config:f.aV,flowType:"device_code",requestDeviceCode:async a=>{let{buildKimiHeaders:b}=await Promise.resolve().then(c.bind(c,28730)),d=j().randomUUID(),e={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...b(d)},f=await fetch(a.deviceCodeUrl,{method:"POST",headers:e,body:new URLSearchParams({client_id:a.clientId})});if(!f.ok){let a=await f.text();throw Error(`Device code request failed: ${a}`)}let g=await f.json(),h=a.authorizeDeviceUrl||"https://www.kimi.com/code/authorize_device";return{device_code:g.device_code,user_code:g.user_code,verification_uri:g.verification_uri||h,verification_uri_complete:g.verification_uri_complete||`${h}?user_code=${g.user_code}`,expires_in:g.expires_in,interval:g.interval||5,_kimiDeviceId:d}},pollToken:async(a,b,d,e)=>{let f,{buildKimiHeaders:g}=await Promise.resolve().then(c.bind(c,28730)),h=e?._kimiDeviceId,i={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...g(h)},j=await fetch(a.tokenUrl,{method:"POST",headers:i,body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b})});try{f=await j.json()}catch{f={error:"invalid_response",error_description:"non-json token response"}}return"authorization_pending"===f.error||"slow_down"===f.error?{ok:!0,data:f}:(f.access_token&&h&&(f._kimiDeviceId=h),{ok:j.ok||!!f.access_token||!!f.error,data:f})},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{authMethod:"device_code",...a._kimiDeviceId?{deviceId:a._kimiDeviceId}:{}}})},C={config:f.MZ,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.initiateUrl,{method:"POST",headers:{"Content-Type":"application/json"}});if(!b.ok){if(429===b.status)throw Error("Too many pending authorization requests. Please try again later.");let a=await b.text();throw Error(`Device auth initiation failed: ${a}`)}let c=await b.json();return{device_code:c.code,user_code:c.code,verification_uri:c.verificationUrl,verification_uri_complete:c.verificationUrl,expires_in:c.expiresIn||300,interval:3}},pollToken:async(a,b)=>{let c=await fetch(`${a.pollUrlBase}/${b}`);if(202===c.status)return{ok:!1,data:{error:"authorization_pending"}};if(403===c.status)return{ok:!1,data:{error:"access_denied",error_description:"Authorization denied by user"}};if(410===c.status)return{ok:!1,data:{error:"expired_token",error_description:"Authorization code expired"}};if(!c.ok)return{ok:!1,data:{error:"poll_failed",error_description:`Poll failed: ${c.status}`}};let d=await c.json();if("approved"===d.status&&d.token){let b=null;try{let c=await fetch(`${a.apiBaseUrl}/api/profile`,{headers:{Authorization:`Bearer ${d.token}`}});if(c.ok){let a=await c.json();b=a.organizations?.[0]?.id||null}}catch{}return{ok:!0,data:{access_token:d.token,_userEmail:d.userEmail,_orgId:b}}}return{ok:!1,data:{error:"authorization_pending"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:null,expiresIn:null,email:a._userEmail,...a._orgId?{providerSpecificData:{orgId:a._orgId}}:{}})},D={config:f.lB,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Cline token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},E={config:f.w1,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`ClinePass token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})},F={config:f.f7,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d,e={})=>{let f=e.baseUrl||a.defaultBaseUrl,g=new URLSearchParams({client_id:e.clientId||"",redirect_uri:b,response_type:"code",state:c,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod});return`${f}${a.authorizeUrlPath}?${g.toString()}`},exchangeToken:async(a,b,c,d,e,f={})=>{let g=f.baseUrl||a.defaultBaseUrl,h=f.clientId||"",i=f.clientSecret||"",j=new URLSearchParams({client_id:h,grant_type:"authorization_code",code:b,redirect_uri:c,code_verifier:d});i&&j.set("client_secret",i);let k=await fetch(`${g}${a.tokenUrlPath}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:j.toString()});if(!k.ok)throw Error(`GitLab token exchange failed: ${await k.text()}`);let l=await k.json(),m=await fetch(`${g}${a.userInfoUrlPath}`,{headers:{Authorization:`Bearer ${l.access_token}`}}),n=m.ok?await m.json():{};return{...l,_user:n,_baseUrl:g,_clientId:h}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,providerSpecificData:{username:a._user?.username||"",email:a._user?.email||a._user?.public_email||"",name:a._user?.name||"",baseUrl:a._baseUrl,clientId:a._clientId,authKind:"oauth"}})},G={config:f.Nl,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})},H={config:f.DV,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy Intl state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy Intl state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})},I={config:f.Td,flowType:"browser_token",buildAuthUrl:(a,b,c)=>{let d=(a.webAppUrl||"https://app.kimchi.dev").replace(/\/+$/,""),e=new URLSearchParams({callback:b,state:c});return`${d}/cli-auth?${e.toString()}`},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!c)throw Error("Missing Kimchi token");let d=a.validationUrl||"https://api.cast.ai/v1/llm/openai/supported-providers",e=await fetch(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});if(!e.ok)throw Error(`Kimchi token validation failed: ${e.status}`);let f={};if(a.userInfoUrl)try{let b=await fetch(a.userInfoUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});b.ok&&(f=await b.json())}catch{f={}}return{access_token:c,token_type:"Bearer",_kimchiUser:f}},mapTokens:a=>{let b=a._kimchiUser||{},c=b.id?String(b.id):"",d=b.username||"",e=b.email||(c?`kimchi-user-${c}`:null);return{accessToken:a.access_token,refreshToken:null,email:e,displayName:b.name||d||null,providerSpecificData:{authMethod:"browser_token",userId:c,username:d}}}};function J(a,b){for(let c of b){let b=a;for(let a of c){if(null==b||"object"!=typeof b){b=void 0;break}b=b[a]}if("string"==typeof b&&b.trim())return b.trim();if("number"==typeof b)return String(b)}return null}async function K(a){let b=JSON.stringify({loginTraceID:a,login_trace_id:a}),c="no successful response";for(let a of f.SK.loginGuidanceUrls)try{let d=await fetch(a,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent},body:b});if(!d.ok){c=`${a} HTTP ${d.status}`;continue}let e=await d.json(),g=J(e,[["Result","LoginHost"],["Result","loginHost"],["Result","LoginURL"],["result","loginHost"],["data","Result","LoginHost"],["data","loginHost"],["LoginHost"],["loginHost"]]);if(g)return g;c=`${a} missing LoginHost`}catch(b){c=`${a} ${b.message}`}throw Error(`Trae GetLoginGuidance failed: ${c}`)}function L(){return[...f.SK.apiOrigins]}async function M(a,b){let c=JSON.stringify({ClientID:f.SK.clientId,RefreshToken:a,ClientSecret:f.SK.clientSecret,UserID:""}),d="no successful response";for(let e of L()){let g=`${e.replace(/\/$/,"")}${f.SK.exchangeTokenPath}`;try{let e,h={Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent};b&&(h["x-cloudide-token"]=b);let i=await fetch(g,{method:"POST",headers:h,body:c}),j=await i.text();if(!i.ok){d=`${g} HTTP ${i.status}`;continue}try{e=JSON.parse(j)}catch{d=`${g} invalid JSON`;continue}let k=J(e,[["Result","AccessToken"],["Result","accessToken"],["result","access_token"],["accessToken"]]);if(!k){let a=J(e,[["message"],["msg"],["error"],["Result","Message"]])||"missing AccessToken";d=`${g} ${a}`;continue}return{accessToken:k,refreshToken:J(e,[["Result","RefreshToken"],["result","refresh_token"],["refreshToken"]])||a,expiresIn:null,expiresAt:J(e,[["Result","ExpiresAt"],["Result","expiresAt"],["result","expires_at"],["expiresAt"]])}}catch(a){d=`${g} ${a.message}`}}throw Error(`Trae ExchangeToken failed: ${d}`)}async function N(a){for(let b of L()){let c=`${b.replace(/\/$/,"")}${f.SK.getUserInfoPath}`;try{let b=await fetch(c,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent,"x-cloudide-token":a},body:JSON.stringify({})});if(!b.ok)continue;let d=await b.json();return{email:J(d,[["Result","NonPlainTextEmail"],["Result","Email"],["Result","email"],["email"],["data","email"]]),name:J(d,[["Result","ScreenName"],["Result","Nickname"],["Result","Name"],["result","nickname"],["nickname"],["name"]]),aiRegion:J(d,[["Result","AIRegion"],["Result","aiRegion"],["aiRegion"]]),region:J(d,[["Result","Region"],["Result","region"],["region"]]),tenant:J(d,[["Result","TenantID"],["Result","tenantId"],["tenantId"]]),userId:J(d,[["Result","UserID"],["Result","userId"],["userId"]])}}catch{}}return{email:null,name:null}}let O={config:f.SK,flowType:"authorization_code",callbackPath:f.SK.callbackPath,prepareConfig:async a=>{let b=j().randomUUID(),c=await K(b);return{...a,loginTraceID:b,loginHost:c}},buildAuthUrl:(a,b,c)=>{var d;let e,g,h={plugin_version:f.SK.defaultPluginVersion,machine_id:j().randomUUID(),device_id:f.SK.defaultDeviceId,x_device_brand:"unknown",x_device_type:"unknown",x_os_version:"unknown",x_env:"",x_app_version:f.SK.defaultAppVersion,x_app_type:f.SK.defaultAppType},i=a.loginTraceID||c;return d=a.loginHost,(e=new URL(d.startsWith("http")?d:`https://${d.replace(/^\/+/,"")}`)).pathname=f.SK.authorizationPath,(g=new URLSearchParams).set("login_version","1"),g.set("auth_from","trae"),g.set("login_channel","native_ide"),g.set("plugin_version",h.plugin_version),g.set("auth_type","local"),g.set("client_id",f.SK.clientId),g.set("redirect","0"),g.set("login_trace_id",i),g.set("auth_callback_url",b),g.set("machine_id",h.machine_id),g.set("device_id",h.device_id),g.set("x_device_id",h.device_id),g.set("x_machine_id",h.machine_id),g.set("x_device_brand",h.x_device_brand),g.set("x_device_type",h.x_device_type),g.set("x_os_version",h.x_os_version),g.set("x_env",h.x_env),g.set("x_app_version",h.x_app_version),g.set("x_app_type",h.x_app_type),e.search=g.toString(),e.toString()},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!(/[?=&]/.test(c)&&(c.includes("refreshToken")||c.includes("refresh_token"))))return{accessToken:c.replace(/^(Cloud-IDE-JWT|Bearer)\s+/i,""),refreshToken:null,expiresIn:24*f.SK.tokenLifetimeDays*3600,_authMethod:"imported"};let{refreshToken:d,cloudideToken:e}=function(a){let b=String(a||"").trim(),c=b;b.includes("?")&&(c=b.slice(b.indexOf("?")+1)),b.startsWith("#")&&(c=b.slice(1));let d=Object.fromEntries(new URLSearchParams(c)),e=a=>{for(let b of a){let a=d[b];if(a&&String(a).trim())return String(a).trim()}return null},f=e(["error","error_code","errorCode"]);if(f){let a=e(["error_description","error_desc","message"]);throw Error(a?`Trae auth failed: ${f} (${a})`:`Trae auth failed: ${f}`)}let g=e(["refreshToken","refresh_token","RefreshToken"]);if(!g)throw Error("Trae callback missing refreshToken");let h=e(["loginHost","login_host","LoginHost","host","consoleHost"]);if(!h)throw Error("Trae callback missing loginHost");return{refreshToken:g,loginHost:h,cloudideToken:e(["x-cloudide-token","xCloudideToken","accessToken","access_token","token"])}}(c);return{...await M(d,e),_authMethod:"oauth"}},postExchange:async a=>({userInfo:await N(a.accessToken)}),mapTokens:(a,b)=>{let c,d=a.expiresIn||(a.expiresAt?Math.max(60,Number(a.expiresAt)-Math.floor(Date.now()/1e3)):24*f.SK.tokenLifetimeDays*3600),e=b?.userInfo||{},g=e.aiRegion||"US-East";return{accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:d,email:e.email||void 0,displayName:e.name||void 0,providerSpecificData:{authMethod:a._authMethod||"oauth",aiRegion:g,region:e.region||g,tenant:e.tenant||"marscode",userId:e.userId||"",scope:"sg"===(c=(g||"").toLowerCase())||c.includes("singapore")?"marscode-sg":"cn"===c||c.includes("cn")||c.includes("china")?"marscode-cn":"marscode-us",webId:"",bizUserId:"",userUniqueId:"",appLanguage:"en",appVersion:f.SK.defaultAppVersion,userRegion:"SG"===g?"SG":"US",userIdentity:"Free"}}}};async function P(a,b,c){let d=`${a.replace(/\/$/,"")}${b}`,e=await fetch(d,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.eD.userAgent},body:JSON.stringify(c)}),g=await e.text();if(!e.ok)throw Error(`Windsurf ${b} HTTP ${e.status}: ${g.slice(0,200)}`);try{return JSON.parse(g)}catch{throw Error(`Windsurf ${b} invalid JSON`)}}async function Q(a){let b=await P(f.eD.registerApiBaseUrl,f.eD.registerPath,{firebase_id_token:a}),c=J(b,[["apiKey"],["api_key"]]);if(!c)throw Error("Windsurf RegisterUser missing apiKey");return{apiKey:c,apiServerUrl:J(b,[["apiServerUrl"],["api_server_url"]])||f.eD.defaultApiServerUrl,name:J(b,[["name"]])}}async function R(a,b){try{let c=await P(a,f.eD.oneTimeAuthPath,{firebaseIdToken:b}),d=J(c,[["authToken"],["auth_token"]]);if(!d)return{email:null,name:null};let e=await P(a,f.eD.currentUserPath,{authToken:d,includeSubscription:!0}),g=e.user||e;return{email:J(g,[["email"]]),name:J(g,[["name"]])}}catch{return{email:null,name:null}}}let S={config:f.eD,flowType:"authorization_code",callbackPath:f.eD.callbackPath,buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({response_type:"token",client_id:a.clientId,redirect_uri:b,state:c,prompt:"login",redirect_parameters_type:"query",workflow:"onboarding"});return`${a.authBaseUrl}${a.signInPath}?${d.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=String(b||"").trim();if(!(f.includes("?")||f.includes("access_token="))){let b=f.replace(/^Bearer\s+/i,"");if(b.startsWith("sk-ws-"))return{accessToken:b,refreshToken:null,expiresIn:null,apiServerUrl:a.defaultApiServerUrl,firebaseIdToken:null,_authMethod:"imported"};let c=await Q(b);return{accessToken:c.apiKey,refreshToken:null,expiresIn:null,apiServerUrl:c.apiServerUrl,firebaseIdToken:b,_authMethod:"imported"}}let{firebaseIdToken:g}=function(a,b){let c=String(a||"").trim(),d=c;c.includes("?")&&(d=c.slice(c.indexOf("?")+1)),c.startsWith("#")&&(d=c.slice(1));let e=Object.fromEntries(new URLSearchParams(d)),f=a=>{for(let b of a){let a=e[b];if(a&&String(a).trim())return String(a).trim()}return null},g=f(["error"]);if(g){let a=f(["error_description"]);throw Error(a?`Windsurf auth failed: ${g} (${a})`:`Windsurf auth failed: ${g}`)}let h=f(["access_token","token"]);if(!h)throw Error("Windsurf callback missing access_token");let i=f(["state"]);if(b&&i&&i!==b)throw Error("Windsurf callback state mismatch");return{firebaseIdToken:h}}(f,e),h=await Q(g);return{accessToken:h.apiKey,refreshToken:null,expiresIn:null,apiServerUrl:h.apiServerUrl,firebaseIdToken:g,_authMethod:"oauth"}},postExchange:async a=>a.firebaseIdToken?{userInfo:await R(a.apiServerUrl,a.firebaseIdToken)}:{userInfo:{email:null,name:null}},mapTokens:(a,b)=>({accessToken:a.accessToken,refreshToken:null,expiresIn:null,email:b?.userInfo?.email||void 0,displayName:b?.userInfo?.name||void 0,providerSpecificData:{authMethod:a._authMethod||"oauth",apiServerUrl:a.apiServerUrl,firebaseIdToken:a.firebaseIdToken}})};var T=c(49934);let U={config:f.RY,flowType:"authorization_code",callbackPath:"/",prepareConfig:async(a,b)=>{let c=Number(b?.nativeAppPort)||f.RY.defaultNativeAppPort,d=(0,T.le)(a,{nativeAppPort:c});return{...a,...d}},buildAuthUrl:(a,b,c)=>a.authUrl,exchangeToken:async(a,b,c,d,e,f)=>{let{userId:g,encryptedAccessToken:h}=(0,T.Q_)(b);return{accessToken:(0,T.Wc)(h,d),userId:g,systemId:f?.systemId||a.systemId}},postExchange:async a=>{let b={accessToken:a.accessToken,providerSpecificData:{userId:a.userId,systemId:a.systemId}},c=null;try{c=await (0,T.qJ)(b,{config:f.RY})}catch{}let d=(0,T.k9)(b,c);return{userInfo:c,organizationId:d,email:c?.email||null,name:c?.name||c?.display_name||null}},mapTokens:(a,b)=>({accessToken:a.accessToken,refreshToken:null,expiresIn:null,email:b?.email||void 0,displayName:b?.name||void 0,providerSpecificData:{authMethod:"oauth",userId:a.userId,systemId:a.systemId,organizationId:b?.organizationId||""}})},V={config:f._0,flowType:"device_code",requestDeviceCode:async a=>{let b=j().randomBytes(32).toString("hex"),c=await fetch(a.cliInitUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b}`},body:JSON.stringify({provider:a.providerId||"zai"})});if(!c.ok){let a=await c.text();throw Error(`ZCode OAuth init failed: ${a}`)}let d=await c.json();if(!$(d.code)||!d.data)throw Error(d.msg||"ZCode OAuth init returned no data");let e=d.data;if(!e.flow_id||!e.authorize_url)throw Error("ZCode OAuth init response missing flow_id/authorize_url");return{device_code:e.flow_id,verification_uri:e.authorize_url,expires_in:function(a){let b=Number(a);if(!Number.isFinite(b)||b<=0)return null;let c=Math.floor(((b>1e12?b:1e3*b)-Date.now())/1e3);return c>0?c:null}(e.expires_at)??300,interval:e.poll_interval_sec||3,_zcodePollToken:b}},pollToken:async(a,b,c,d)=>{let e=d?._zcodePollToken;if(!e)return{ok:!0,data:{error:"access_denied",error_description:"Missing ZCode poll token — restart the login flow"}};let f=await fetch(`${a.cliPollUrl}/${encodeURIComponent(b)}`,{headers:{Authorization:`Bearer ${e}`}});if(!f.ok)return{ok:!0,data:{error:"access_denied",error_description:`ZCode poll failed (HTTP ${f.status})`}};let g=await f.json();if(!$(g.code))return{ok:!0,data:{error:"access_denied",error_description:g.msg||"ZCode poll failed"}};let h=g.data||{};if("pending"===h.status)return{ok:!0,data:{error:"authorization_pending"}};if("failed"===h.status)return{ok:!0,data:{error:"access_denied",error_description:"ZCode authorization failed or was cancelled"}};if("ready"!==h.status)return{ok:!0,data:{error:"authorization_pending",error_description:`Unknown status: ${h.status}`}};let i=h[a.providerId]||h[h.providerId]||{},j=i.access_token||i.accessToken||h.accessToken||h.access_token;if(!j)return{ok:!0,data:{error:"access_denied",error_description:"ZCode poll response missing access token"}};let{planApiKey:k,businessToken:l}=await W(a,j);return{ok:!0,data:{access_token:k,_zcodeJwtToken:h.token||"",_zaiBusinessToken:l,_zaiRefreshToken:i.refresh_token||i.refreshToken||h.refresh_token||h.refreshToken||"",_zcodeUser:h.user||{}}}},mapTokens:a=>{let b=a._zcodeUser||{},c=b.name||b.email||null;return{accessToken:a.access_token,refreshToken:null,email:b.email||null,...c?{displayName:c}:{},providerSpecificData:{authMethod:"cli_poll",username:b.name||void 0,userId:b.user_id||void 0,zcodeJwtToken:a._zcodeJwtToken||void 0,zaiBusinessToken:a._zaiBusinessToken||void 0,...a._zaiRefreshToken?{zaiRefreshToken:a._zaiRefreshToken}:{}}}}};async function W(a,b){let c=await X(a,b),d={Authorization:`Bearer ${c}`,"Content-Type":"application/json"},e=function(a){let b=(Array.isArray(a?.organizations)?a.organizations:[]).map(a=>({organization:a,projects:(a?.projects||[]).filter(a=>"2"!==String(a?.projectType??"").trim())})).filter(({organization:a,projects:b})=>!!(a?.organizationId&&b.length));if(!b.length)return null;let c=b.find(({organization:a})=>Z(a.organizationName))||b[0],d=c.projects.find(a=>Z(a?.projectName))||c.projects[0];return c.organization?.organizationId&&d?.projectId?{organizationId:c.organization.organizationId,projectId:d.projectId}:null}(await Y(`${a.apiBaseUrl}/api/biz/customer/getCustomerInfo`,{headers:d},"customer info"));if(!e)throw Error("Unable to resolve Z.ai organization and project for the coding plan");let f=`${a.apiBaseUrl}/api/biz/v1/organization/${e.organizationId}/projects/${e.projectId}/api_keys`,g=await Y(f,{headers:d},"api keys")||[],h=Array.isArray(g)?g.find(b=>b?.name===a.planApiKeyName):null;h||(h=await Y(f,{method:"POST",headers:d,body:JSON.stringify({name:a.planApiKeyName})},"api key create"));let i=h?.apiKey?.trim();if(!i)throw Error("Z.ai api_keys response is missing apiKey");let j=await Y(`${f}/copy/${encodeURIComponent(i)}`,{headers:d},"api key copy"),k=j?.secretKey?.trim();if(!k)throw Error("Z.ai api key copy response is missing secretKey");return{planApiKey:`${i}.${k}`,businessToken:c}}async function X(a,b){let c=await Y(a.businessLoginUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:b})},"Z.ai business login"),d=c?.access_token?.trim()||c?.accessToken?.trim();if(!d)throw Error("Z.ai business login response is missing access_token");return d}async function Y(a,b,c){let d,e=await fetch(a,b),f=await e.text();if(!e.ok)throw Error(`Z.ai ${c} request failed (HTTP ${e.status}): ${f.slice(0,200)}`);try{d=JSON.parse(f)}catch{throw Error(`Z.ai ${c} response is not valid JSON`)}if(!$(d?.code)||d?.success===!1)throw Error(d?.msg||`Z.ai ${c} returned business error ${d?.code}`);return d?.data??d??null}function Z(a){let b=String(a||"").trim().toLowerCase();return b.includes("默认机构")||b.includes("默认项目")||"default"===b}function $(a){return null==a||0===a||200===a||"0"===a||"200"===a}let _=(a,b)=>"string"==typeof a?.[b]&&a[b].trim()?a[b].trim():void 0,aa=(a,b)=>"number"==typeof a?.[b]&&Number.isFinite(a[b])&&a[b]>0?a[b]:void 0;async function ab(a,b){let c,d=await fetch(a,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(b).toString(),signal:AbortSignal.timeout(3e4)});try{c=JSON.parse(await d.text())}catch{}return c&&"object"==typeof c||(c={error:`invalid_json_response (HTTP ${d.status})`}),{status:d.status,body:c}}function ac(a){return{config:{clientId:"mcode-public",scope:"agent.default",audience:"agent-backend",deviceUrl:`${a.account}/oauth2/device/code`,tokenUrl:`${a.account}/oauth2/token`},flowType:"device_code",async requestDeviceCode(a,b){let c,d,e;if(!b)throw Error("MiniMax Code sign-in requires a PKCE code challenge");let{status:f,body:g}=await ab(a.deviceUrl,{client_id:a.clientId,scope:a.scope,audience:a.audience,code_challenge:b,code_challenge_method:"S256"}),{userCode:h,deviceCode:i,uri:j}={userCode:_(g,"user_code"),deviceCode:_(g,"device_code"),uri:_(g,"verification_uri_complete")??_(g,"verification_uri")??_(g,"verification_url")};if(!h||!j)throw Error(`MiniMax device code response unusable (HTTP ${f})`);let k=!i;return{device_code:i??h,user_code:h,verification_uri:j,expires_in:(c=aa(g,"expires_in"),d=aa(g,"expired_in"),(c||(d?d<1e12?d:Math.max(1,Math.ceil((d-Date.now())/1e3)):void 0))??Math.floor(600)),interval:(e=aa(g,"interval"))?k&&e>=60?Math.round(e/1e3):e:5,_minimaxPollByUser:k}},async pollToken(a,b,c,d){if(!b)return{ok:!0,data:{error:"authorization_pending"}};let e={grant_type:"urn:ietf:params:oauth:grant-type:device_code",...d?._minimaxPollByUser?{user_code:b}:{device_code:b},client_id:a.clientId,code_verifier:c},{body:f}=await ab(a.tokenUrl,e),g=_(f,"status");return"pending"===g?{ok:!0,data:{error:"authorization_pending"}}:"slow_down"===g?{ok:!0,data:{error:"slow_down"}}:"denied"===g||"access_denied"===g?{ok:!0,data:{error:"access_denied"}}:"expired"===g||"expired_token"===g?{ok:!0,data:{error:"expired_token"}}:g?{ok:!0,data:{error:`unexpected_status:${g}`}}:_(f,"error")?{ok:!0,data:{error:_(f,"error"),error_description:_(f,"error_description")}}:_(f,"access_token")?{ok:!0,data:f}:{ok:!0,data:{error:"no_access_token"}}},mapTokens(a){let b=aa(a,"expires_in");return{accessToken:_(a,"access_token"),refreshToken:_(a,"refresh_token")??"",expiresIn:b??3600}}}}let ad={claude:g,codex:h,xai:n,"grok-cli":p,muse:r,"gemini-cli":s,antigravity:t,iflow:u,qoder:w,"qoder-cn":x,github:y,kiro:z,cursor:A,kimi:B,kilocode:C,cline:D,clinepass:E,gitlab:F,"codebuddy-cn":G,"codebuddy-intl":H,kimchi:I,trae:O,windsurf:S,zed:U,glm:V,"minimax-code":ac({account:"https://account.minimax.cn"}),"minimax-code-global":ac({account:"https://account.minimax.io"})};function ae(a){let b=ad["kimi-coding"===a?"kimi":a];if(!b)throw Error(`Unknown provider: ${a}`);return b}async function af(a,b,c){let e=ae(a),f=e.prepareConfig?await e.prepareConfig(e.config,c||{}):e.config,{codeVerifier:g,codeChallenge:h,state:i}=(0,d.lz)(e.pkceVerifierBytes),j=f.loginTraceID||i,k=f.privateKeyVerifier||g;return{authUrl:"device_code"===e.flowType?null:"authorization_code_pkce"===e.flowType?e.buildAuthUrl(f,b,j,h,c||{}):e.buildAuthUrl(f,b,j,void 0,c||{}),state:j,codeVerifier:k,codeChallenge:h,redirectUri:b,flowType:e.flowType,fixedPort:e.fixedPort,callbackPath:e.callbackPath||"/callback",...f.systemId?{systemId:f.systemId}:{}}}async function ag(a,b,c,d,e,f){let g=ae(a),h=g.prepareConfig?await g.prepareConfig(g.config,f||{}):g.config,i=await g.exchangeToken(h,b,c,d,e,f||{}),j=null;return g.postExchange&&(j=await g.postExchange(i)),g.mapTokens(i,j)}async function ah(a,b,c){let d=ae(a);if("device_code"!==d.flowType)throw Error(`Provider ${a} does not support device code flow`);return await d.requestDeviceCode(d.config,b,c||{})}async function ai(a,b,c,d){let f=ae(a);if("device_code"!==f.flowType)throw Error(`Provider ${a} does not support device code flow`);let g=await f.pollToken(f.config,b,c,d);if(g.ok)if(g.data.access_token){let b=null;if(f.postExchange)try{b=await f.postExchange(g.data)}catch(b){return console.warn(`[oauth] ${a} postExchange failed:`,b?.message||b),{success:!1,error:"exchange_failed",errorDescription:b.message,fatal:!0}}let c=f.mapTokens(g.data,b);if("kiro"===a&&!c.providerSpecificData?.profileArn){let a=await (0,e.gR)(c.accessToken);a&&(c.providerSpecificData.profileArn=a)}return{success:!0,tokens:c}}else if("authorization_pending"===g.data.error||"slow_down"===g.data.error)return{success:!1,error:g.data.error,errorDescription:g.data.error_description||g.data.message,pending:"authorization_pending"===g.data.error};else return{success:!1,error:g.data.error||"no_access_token",errorDescription:g.data.error_description||g.data.message||"No access token received"};return{success:!1,error:g.data.error,errorDescription:g.data.error_description}}let aj=!1;async function ak(){if(!aj){aj=!0;try{let{getProviderConnections:a,updateProviderConnection:b}=await c.e(9718).then(c.bind(c,89718));for(let c of(await a()).filter(a=>{if("codex"!==a.provider||"oauth"!==a.authType||!a.idToken)return!1;let b=!!a.email,c=!!a.providerSpecificData?.chatgptAccountId;return!b||!c})){let a=(0,e.YR)(c.idToken);if(!a.email&&!a.chatgptAccountId)continue;let d={};!c.email&&a.email&&(d.email=a.email),(a.chatgptAccountId||a.chatgptPlanType)&&(d.providerSpecificData={...c.providerSpecificData||{},chatgptAccountId:a.chatgptAccountId,chatgptPlanType:a.chatgptPlanType}),Object.keys(d).length&&await b(c.id,d)}}catch(a){aj=!1,console.log("backfillCodexEmails failed:",a?.message||a)}}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=6569,exports.ids=[6569,7633,8950],exports.modules={28950:(a,b,c)=>{c.r(b),c.d(b,{configureWakeupTasks:()=>k,executeWakeupRun:()=>h,runWakeupTaskNow:()=>i,runWakeupTick:()=>j});var d=c(9090),e=c(40014),f=c(43874);let g=global.__wakeupTasks??={interval:null,ticking:!1};async function h(a,b={getProviderConnections:d.P,pingAccountNow:f.pingAccountNow,recordWakeupResult:e.recordWakeupResult,finishWakeupRun:e.finishWakeupRun}){try{for(let c of a.task.connectionIds){let d,e=Date.now();if((await b.getProviderConnections({provider:a.task.provider,isActive:!0})).find(a=>a.id===c&&"oauth"===a.authType))try{d=await b.pingAccountNow(c,a.task)}catch{d={status:"failed",message:"Unable to run account ping."}}else d={status:"skipped",message:"Account removed, inactive or changed provider."};await b.recordWakeupResult(a.run.id,{connectionId:c,...d,durationMs:Date.now()-e})}await b.finishWakeupRun(a.run.id)}catch{await b.finishWakeupRun(a.run.id,!0)}}async function i(a){await (0,e.recoverWakeupRuns)();let b=await (0,e.claimWakeupRun)(a);if(!b)throw Error("Task is already running.");return h(b).catch(()=>console.warn("[Wakeup] Failed to persist task result.")),b.run}async function j(a={recoverWakeupRuns:e.recoverWakeupRuns,getWakeupState:e.getWakeupState,claimWakeupRun:e.claimWakeupRun,executeWakeupRun:h}){if(!g.ticking){g.ticking=!0;try{await a.recoverWakeupRuns();let b=await a.getWakeupState();if(!b.enabled)return;for(let c of b.tasks){if(!c.enabled||!c.nextRunAt||Date.parse(c.nextRunAt)>Date.now())continue;let b=await a.claimWakeupRun(c.id,"scheduled");b&&a.executeWakeupRun(b).catch(()=>console.warn("[Wakeup] Failed to persist task result."))}}finally{g.ticking=!1}}}function k(a){if(!a?.enabled||!a.tasks?.some(a=>a.enabled)){clearInterval(g.interval),g.interval=null;return}if(g.interval)return;let b=()=>{j().catch(()=>console.warn("[Wakeup] Scheduler tick failed."))};g.interval=setInterval(b,15e3),g.interval.unref?.(),b()}},40014:(a,b,c)=>{c.r(b),c.d(b,{acquirePingLease:()=>t,claimWakeupRun:()=>q,deleteWakeupTask:()=>n,finishWakeupRun:()=>s,getWakeupState:()=>j,recordWakeupResult:()=>r,recoverWakeupRuns:()=>p,releasePingLease:()=>u,saveWakeupTask:()=>m,setWakeupEnabled:()=>o});var d=c(77598),e=c(24081),f=c(50743);let g=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function h(a,b=Date.now()){if("interval"===a.kind)return new Date(b+6e4*a.minutes).toISOString();let c=new Intl.DateTimeFormat("en-GB",{timeZone:a.timezone,year:"numeric",month:"2-digit",day:"2-digit",weekday:"short",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),d=a=>Object.fromEntries(c.formatToParts(a).map(({type:a,value:b})=>[a,b])),e=d(b),f=`${e.year}-${e.month}-${e.day}`,i=`${e.hour}:${e.minute}`>=a.time;for(let c=6e4*Math.floor(b/6e4)+6e4;c<=b+6912e5;c+=6e4){let b=d(c);if((!i||`${b.year}-${b.month}-${b.day}`!==f)&&`${b.hour}:${b.minute}`===a.time&&a.days.includes(g.indexOf(b.weekday)))return new Date(c).toISOString()}throw Error("No upcoming wakeup time.")}let i=()=>({enabled:!0,tasks:[],runs:[],leases:{}});async function j(){let a=await (0,e.c)(),b=(0,f.q)(a.get("SELECT data FROM settings WHERE id = 1")?.data,{});return{...i(),...b.wakeupState}}async function k(a){let b,c=await (0,e.c)();return c.transaction(()=>{let d=(0,f.q)(c.get("SELECT data FROM settings WHERE id = 1")?.data,{}),e={...i(),...d.wakeupState};b=a(e),d.wakeupState=e,c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,f.s)(d)])}),b}function l(a,b){if(a.runs.some(a=>a.taskId===b&&"running"===a.status))throw Error("Task is running; wait before editing or deleting it.")}async function m(a,b=null){let c=a.enabled?h(a.schedule):null;return k(e=>{let f=b&&e.tasks.find(a=>a.id===b);if(b&&!f)throw Error("Task not found.");if(!b&&e.tasks.length>=100)throw Error("Maximum 100 tasks.");b&&l(e,b);let g={...a,id:b||(0,d.randomUUID)(),nextRunAt:c,createdAt:f?.createdAt||new Date().toISOString()};return e.tasks=f?e.tasks.map(a=>a.id===b?g:a):[...e.tasks,g],g})}async function n(a){return k(b=>{if(l(b,a),!b.tasks.some(b=>b.id===a))throw Error("Task not found.");b.tasks=b.tasks.filter(b=>b.id!==a)})}async function o(a){return k(b=>{b.enabled=a})}async function p(a=Date.now()){return k(b=>{for(let c of b.runs)"running"===c.status&&c.expiresAt<=a&&(c.status="interrupted",c.finishedAt=new Date(a).toISOString());for(let[c,d]of Object.entries(b.leases))d.expiresAt<=a&&delete b.leases[c]})}async function q(a,b="manual",c=Date.now(),e=null){return k(f=>{let g=a?f.tasks.find(b=>b.id===a):e;if(!g)throw Error("Task not found.");if("scheduled"===b&&(!f.enabled||!g.enabled||!g.nextRunAt||Date.parse(g.nextRunAt)>c)||a&&f.runs.some(b=>b.taskId===a&&"running"===b.status))return null;if(f.runs.filter(a=>"running"===a.status).length>=20)throw Error("Too many running tasks.");"scheduled"===b&&(g.nextRunAt=h(g.schedule,c));let i={id:(0,d.randomUUID)(),taskId:a,name:g.name,trigger:b,status:"running",startedAt:new Date(c).toISOString(),expiresAt:c+65e3*g.connectionIds.length+1e4,results:[]};return f.runs=[i,...f.runs.filter(a=>"running"===a.status),...f.runs.filter(a=>"running"!==a.status).slice(0,99)],{run:i,task:{...g}}})}async function r(a,b){return k(c=>{let d=c.runs.find(b=>b.id===a);d?.status==="running"&&d.results.push(b)})}async function s(a,b=!1){return k(c=>{let d=c.runs.find(b=>b.id===a);if(d?.status!=="running")return;let e=new Set(d.results.map(a=>a.status));d.status=b||!e.size?"interrupted":1===e.size?d.results[0].status:"partial",d.finishedAt=new Date().toISOString();let f=new Set(c.runs.filter(a=>"running"!==a.status).slice(0,100).map(a=>a.id));c.runs=c.runs.filter(a=>"running"===a.status||f.has(a.id))})}async function t(a){return k(b=>{if(b.leases[a]?.expiresAt>Date.now())return null;let c=(0,d.randomUUID)();return b.leases[a]={token:c,expiresAt:Date.now()+9e4},c})}async function u(a,b){return k(c=>{c.leases[a]?.token===b&&delete c.leases[a]})}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=6623,exports.ids=[6623],exports.modules={6623:(a,b,c)=>{c.r(b),c.d(b,{acquirePingLease:()=>s,claimWakeupRun:()=>p,deleteWakeupTask:()=>m,finishWakeupRun:()=>r,getWakeupState:()=>i,recordWakeupResult:()=>q,recoverWakeupRuns:()=>o,releasePingLease:()=>t,saveWakeupTask:()=>l,setWakeupEnabled:()=>n});var d=c(77598),e=c(36366),f=c(644),g=c(61680);let h=()=>({enabled:!0,tasks:[],runs:[],leases:{}});async function i(){let a=await (0,e.c)(),b=(0,f.q)(a.get("SELECT data FROM settings WHERE id = 1")?.data,{});return{...h(),...b.wakeupState}}async function j(a){let b,c=await (0,e.c)();return c.transaction(()=>{let d=(0,f.q)(c.get("SELECT data FROM settings WHERE id = 1")?.data,{}),e={...h(),...d.wakeupState};b=a(e),d.wakeupState=e,c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,f.s)(d)])}),b}function k(a,b){if(a.runs.some(a=>a.taskId===b&&"running"===a.status))throw Error("Task is running; wait before editing or deleting it.")}async function l(a,b=null){let c=a.enabled?(0,g.k)(a.schedule):null;return j(e=>{let f=b&&e.tasks.find(a=>a.id===b);if(b&&!f)throw Error("Task not found.");if(!b&&e.tasks.length>=100)throw Error("Maximum 100 tasks.");b&&k(e,b);let g={...a,id:b||(0,d.randomUUID)(),nextRunAt:c,createdAt:f?.createdAt||new Date().toISOString()};return e.tasks=f?e.tasks.map(a=>a.id===b?g:a):[...e.tasks,g],g})}async function m(a){return j(b=>{if(k(b,a),!b.tasks.some(b=>b.id===a))throw Error("Task not found.");b.tasks=b.tasks.filter(b=>b.id!==a)})}async function n(a){return j(b=>{b.enabled=a})}async function o(a=Date.now()){return j(b=>{for(let c of b.runs)"running"===c.status&&c.expiresAt<=a&&(c.status="interrupted",c.finishedAt=new Date(a).toISOString());for(let[c,d]of Object.entries(b.leases))d.expiresAt<=a&&delete b.leases[c]})}async function p(a,b="manual",c=Date.now(),e=null){return j(f=>{let h=a?f.tasks.find(b=>b.id===a):e;if(!h)throw Error("Task not found.");if("scheduled"===b&&(!f.enabled||!h.enabled||!h.nextRunAt||Date.parse(h.nextRunAt)>c)||a&&f.runs.some(b=>b.taskId===a&&"running"===b.status))return null;if(f.runs.filter(a=>"running"===a.status).length>=20)throw Error("Too many running tasks.");"scheduled"===b&&(h.nextRunAt=(0,g.k)(h.schedule,c));let i={id:(0,d.randomUUID)(),taskId:a,name:h.name,trigger:b,status:"running",startedAt:new Date(c).toISOString(),expiresAt:c+65e3*h.connectionIds.length+1e4,results:[]};return f.runs=[i,...f.runs.filter(a=>"running"===a.status),...f.runs.filter(a=>"running"!==a.status).slice(0,99)],{run:i,task:{...h}}})}async function q(a,b){return j(c=>{let d=c.runs.find(b=>b.id===a);d?.status==="running"&&d.results.push(b)})}async function r(a,b=!1){return j(c=>{let d=c.runs.find(b=>b.id===a);if(d?.status!=="running")return;let e=new Set(d.results.map(a=>a.status));d.status=b||!e.size?"interrupted":1===e.size?d.results[0].status:"partial",d.finishedAt=new Date().toISOString();let f=new Set(c.runs.filter(a=>"running"!==a.status).slice(0,100).map(a=>a.id));c.runs=c.runs.filter(a=>"running"===a.status||f.has(a.id))})}async function s(a){return j(b=>{if(b.leases[a]?.expiresAt>Date.now())return null;let c=(0,d.randomUUID)();return b.leases[a]={token:c,expiresAt:Date.now()+9e4},c})}async function t(a,b){return j(c=>{c.leases[a]?.token===b&&delete c.leases[a]})}},61680:(a,b,c)=>{c.d(b,{d:()=>e,k:()=>f});let d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function e(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Task must be an object.");let{name:c,provider:d,connectionIds:e,enabled:f,schedule:g}=a;if("string"!=typeof c||!c.trim()||c.length>80)throw Error("Name must contain 1–80 characters.");if(!["claude","codex"].includes(d))throw Error("Choose Claude or Codex.");if(!Array.isArray(e)||!e.length||e.length>20||e.some(a=>"string"!=typeof a||!a||a.length>128)||new Set(e).size!==e.length)throw Error("Choose 1–20 distinct accounts.");if("boolean"!=typeof f)throw Error("Enabled must be a boolean.");let h=a.model??"",i=a.prompt??"hi",j=a.reasoning??"none";if("string"!=typeof h||h.length>120||h&&!/^[a-zA-Z0-9._:/-]+$/.test(h))throw Error("Invalid model ID.");if("string"!=typeof i||!i.trim()||i.length>500)throw Error("Prompt must contain 1–500 characters.");if(!["none","low","medium","high"].includes(j))throw Error("Invalid reasoning effort.");if(g?.kind==="interval"){if(!Number.isInteger(g.minutes)||g.minutes<5||g.minutes>10080)throw Error("Interval must be 5–10080 minutes.");b={kind:"interval",minutes:g.minutes}}else if(g?.kind==="daily"){if(!/^([01]\d|2[0-3]):[0-5]\d$/.test(g.time))throw Error("Choose a valid time (HH:mm).");if("string"!=typeof g.timezone||g.timezone.length>80)throw Error("Choose a valid timezone.");try{new Intl.DateTimeFormat("en",{timeZone:g.timezone}).format()}catch{throw Error("Choose a valid timezone.")}if(!Array.isArray(g.days)||!g.days.length||g.days.length>7||g.days.some(a=>!Number.isInteger(a)||a<0||a>6)||new Set(g.days).size!==g.days.length)throw Error("Choose distinct weekdays.");b={kind:"daily",time:g.time,timezone:g.timezone,days:[...g.days].sort()}}else throw Error("Choose daily or interval scheduling.");return{name:c.trim(),provider:d,connectionIds:[...e],enabled:f,model:h,prompt:i.trim(),reasoning:j,schedule:b}}function f(a,b=Date.now()){if("interval"===a.kind)return new Date(b+6e4*a.minutes).toISOString();let c=new Intl.DateTimeFormat("en-GB",{timeZone:a.timezone,year:"numeric",month:"2-digit",day:"2-digit",weekday:"short",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),e=a=>Object.fromEntries(c.formatToParts(a).map(({type:a,value:b})=>[a,b])),g=e(b),h=`${g.year}-${g.month}-${g.day}`,i=`${g.hour}:${g.minute}`>=a.time;for(let c=6e4*Math.floor(b/6e4)+6e4;c<=b+6912e5;c+=6e4){let b=e(c);if((!i||`${b.year}-${b.month}-${b.day}`!==h)&&`${b.hour}:${b.minute}`===a.time&&a.days.includes(d.indexOf(b.weekday)))return new Date(c).toISOString()}throw Error("No upcoming wakeup time.")}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=6664,exports.ids=[6664],exports.modules={6165:(a,b,c)=>{c.d(b,{Kr:()=>e,RU:()=>g,fo:()=>f,wi:()=>h});var d=c(40615);function e(a){if(!a)return!1;let b="oauth"===a.authType,c=("apikey"===a.authType||"api_key"===a.authType)&&d.jO.includes(a.provider);return b||c}function f(a){let b=a?.quotaPauseThresholds;return b&&"object"==typeof b?b:{}}function g(a){return null!==function(a){if(!e(a))return null;let b=f(a),c=a?.lastQuotaSnapshot?.windows;if(!c||!Array.isArray(c)||0===c.length)return null;let d=null;for(let a of c){if(!a||!0===a.unlimited)continue;let c=function(a){let b=Number(a);return!Number.isFinite(b)||b<=0||b>100?0:b}(b[a.key]);if(!c)continue;let e=Number(a.remainingPercentage);Number.isFinite(e)&&e<=c&&(null===d||e<Number(d.remainingPercentage))&&(d={key:a.key,remainingPercentage:e,threshold:c})}return d}(a)}function h(a,b){if(!b||"object"!=typeof b||b.message||b.error)return null;let c=b.quotas;if(!c||"object"!=typeof c)return null;let d=Array.isArray(c)?c:Object.entries(c);if(0===d.length)return null;let e=new Date().toISOString(),f=[];for(let a of d){let[b,c]=Array.isArray(a)?a:[a?.name,a];if(!c||"object"!=typeof c)continue;let d=function(a){var b;let c,d;return a&&"number"==typeof a.remainingPercentage&&Number.isFinite(a.remainingPercentage)?Math.max(0,Math.min(100,Math.round(a.remainingPercentage))):(b=a?.used,c=Number(a?.total),d=Number(b),!Number.isFinite(c)||c<=0?null:!Number.isFinite(d)||d<=0?100:d>=c?0:Math.max(0,Math.min(100,Math.round((c-d)/c*100))))}(c);if(null==d)continue;let e=null;if(c.resetAt){let a=new Date(c.resetAt).getTime();Number.isFinite(a)&&(e=new Date(a).toISOString())}f.push({key:String(b??c.name??"unknown"),remainingPercentage:d,resetAt:e,unlimited:!0===c.unlimited})}return 0===f.length?null:{windows:f,fetchedAt:e}}},34104:(a,b,c)=>{c.d(b,{Ut:()=>k.Ut,RO:()=>l.RO,Yt:()=>l.Yt,my:()=>aU});var d=c(89843),e=c(39141),f=c(88705);let g={apiVersion:e.sr.github?.apiVersion,userAgent:e.sr.github?.userAgent};async function h(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,d.proxyAwareFetch)((0,f.U)("github").url,{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":g.apiVersion,"User-Agent":g.userAgent,"Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let e=await b.json();if(e.quota_snapshots){let a=e.quota_snapshots,b=(0,f.eZ)(e.quota_reset_date);return{plan:e.copilot_plan,resetDate:e.quota_reset_date,quotas:{chat:{...i(a.chat),resetAt:b},completions:{...i(a.completions),resetAt:b},premium_interactions:{...i(a.premium_interactions),resetAt:b}}}}if(e.monthly_quotas||e.limited_user_quotas){let a=e.monthly_quotas||{},b=e.limited_user_quotas||{},c=(0,f.eZ)(e.limited_user_reset_date);return{plan:e.copilot_plan||e.access_type_sku,resetDate:e.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function i(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}var j=c(71040),k=c(98594),l=c(49485),m=c(3148);async function n(a,b,c=null){let e=b?.authMethod||"builder-id",g="api_key"===e,h=g?{tokentype:"API_KEY"}:{},i="external_idp"===e?{TokenType:"EXTERNAL_IDP"}:{},j=g?b?.profileArn||"":b?.profileArn||(0,m.We)(e),k=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),l=!1,o=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").cwHost}${(0,f.U)("kiro").limitsPath}?${k.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE",...h,...i}},c)},{name:"codewhisperer-post",run:async()=>(0,d.proxyAwareFetch)((0,f.U)("kiro").cwHost,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...h,...i},body:JSON.stringify({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"});return(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").qHost}${(0,f.U)("kiro").limitsPath}?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...h,...i}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(l=!0),o.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=(0,f.eZ)(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,g=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:g,remaining:g-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,g=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:g,remaining:g-e,resetAt:(0,f.eZ)(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){o.push(`${b.name}:${a.message}`)}return l&&"idc"===e?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:l&&("google"===e||"github"===e)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:l?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:o.length>0?`Unable to fetch Kiro usage right now. (${o[o.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}let o={minimax:(0,f.U)("minimax").urls,"minimax-cn":(0,f.U)("minimax-cn").urls};function p(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function q(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function r(a){return Math.max(0,Number(p(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function s(a){return Math.max(0,Number(p(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function t(a){return!!(r(a)>0||s(a)>0)||null!==q(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==q(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function u(a,b,c,d,e,g,h,i,j,k){let l=d(c),m=q(c,h,i);if(l<=0&&null===m)return;let n=Math.max(0,Number(p(c,e,g))||0),o=l,r=n;l<=0&&(o=100,r=k?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,r,function(a,b,c,d,e,g){let h=Number(p(a,c,d))||0;return h>0?new Date(b+h).toISOString():(0,f.eZ)(p(a,e,g))}(c,...j),k,m)}async function v(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let e=o[b]||[],f="";for(let b=0;b<e.length;b+=1){let g=e[b],h=b<e.length-1;try{let b=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),e=await b.text(),i={};if(e)try{i=JSON.parse(e)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${e}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,q=(Array.isArray(o)?o:[]).filter(t);if(0===q.length)return{message:"MiniMax connected. No quota data was returned."};let v=Date.now(),w=g.includes("/coding_plan/remains"),x={};for(let a of q){let b=function(a){let b=String(p(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);u(x,`${b} (5h)`,a,r,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[v,"remains_time","remainsTime","end_time","endTime"],w),u(x,`${b} (7d)`,a,s,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[v,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],w)}if(0===Object.keys(x).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:x}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}let w="Characters";async function x(a,b=null){if(!a)return{message:"ElevenLabs API key not available."};try{let c=await (0,f.u9)("https://api.elevenlabs.io/v1/user/subscription",{method:"GET",headers:{"xi-api-key":a,"Content-Type":"application/json"}},1e4,b);if(401===c.status)return{message:"ElevenLabs connected. Key lacks user_read permission to read credits."};if(!c.ok)return{message:`ElevenLabs connected. Usage endpoint error (${c.status}).`};let d=await c.json(),e=Math.max(0,(0,f.IQ)(d.character_limit)),g=Math.max(0,(0,f.IQ)(d.character_count)),h=Math.max(e-g,0),i=String(d.tier||"").trim();return{quotas:{[w]:{displayName:i?`${i.charAt(0).toUpperCase()}${i.slice(1)} characters`:w,used:g,total:e,remaining:h,remainingPercentage:e>0?h/e*100:0,resetAt:(0,f.eZ)(d.next_character_count_reset_unix),unlimited:0===e}}}}catch(a){return{message:`ElevenLabs connected. Unable to fetch usage: ${a.message}`}}}var y=c(77598);let z="I*7Cf%WZ#S&%1RlZJ&C2",A={"minimax-code":{agent:"https://agent.minimaxi.com",platform:"https://www.minimaxi.com",lang:"zh"},"minimax-code-global":{agent:"https://agent.minimax.io",platform:"https://platform.minimax.io",lang:"en"}},B=a=>(0,y.createHash)("md5").update(a).digest("hex"),C=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:void 0,D=a=>"number"==typeof a&&Number.isFinite(a)?a:void 0,E=(a,b)=>"string"==typeof a?.[b]&&a[b].trim()?a[b].trim():void 0;class F extends Error{}async function G(a,b,c,d){let e,{url:f,init:g}=function(a,b,{access:c,userID:d,body:e,now:f=Date.now(),tzOffsetSec:g=-60*new Date().getTimezoneOffset()}={}){let h=new URL(b,a.agent);h.search=new URLSearchParams({device_platform:"mcode",biz_id:"3",app_id:"3001",version_code:"22201",unix:String(f),timezone_offset:String(g),sys_language:a.lang,lang:a.lang,device_id:"0",os_name:process.platform,browser_name:"mcode",user_id:String(d??"").trim()||"0",client:"mcode"}).toString();let i=h.pathname+h.search,j=Math.floor(f/1e3),k=void 0===e?void 0:JSON.stringify(e),l={Accept:"application/json","Content-Type":"application/json","User-Agent":"MiniMaxCode",Authorization:`Bearer ${c}`,yy:void 0===k?B(`${encodeURIComponent(i)}_{}${B(String(f))}ooui`):B(`${encodeURIComponent(i)}_${k}${B(String(f))}ooui`),"x-timestamp":String(j),"x-signature":void 0===k?B(`${j}${z}`):B(`${j}${z}${k}`)};return{url:h.toString(),init:{method:void 0===k?"GET":"POST",headers:l,...void 0===k?{}:{body:k}}}}(a,b,c),h=await fetch(f,{...g,signal:AbortSignal.timeout(15e3)});if(401===h.status||403===h.status)throw new F(`${d}: the sign-in was refused (HTTP ${h.status})`);if(!h.ok)throw Error(`${d}: HTTP ${h.status}`);try{e=C(JSON.parse(await h.text()))}catch{}if(!e)throw Error(`${d}: not JSON`);var i=e;let j=C(i?.statusInfo);if("number"==typeof j?.code&&0!==j.code){if(1000048===j.code)throw new F(`${d}: the sign-in was refused`);throw Error(`${d}: ${E(j,"message")??E(j,"msg")??"status "+j.code}`)}let k=C(i?.base_resp);if("number"==typeof k?.status_code&&0!==k.status_code)throw Error(`${d}: ${E(k,"status_msg")??"status "+k.status_code}`);return i}async function H(a,b){let c=await G(a,"/v1/api/user/info",{access:b},"account"),d=C(c.data),e=C(d?.userInfo)??C(d?.user_info)??C(c.userInfo)??C(c.user_info),f=E(e,"realUserID")??E(e,"real_user_id");if(!f)throw Error("account: no user id in the reply");let g=(...a)=>a.map(a=>E(e,a)).find(Boolean);return{realUserID:f,email:g("userEmail","email","userMail","user_email"),name:g("name","userName","user_name")}}function I(a){let b,c=C(a?.data),d=b=>a?.[b]??c?.[b],e=a=>"string"==typeof d(a)&&d(a).trim()?d(a).trim():void 0,f="boolean"==typeof d("has_token_plan")?d("has_token_plan"):void 0,g=D(d("token_plan_expires_at")),h=E(C(a?.op_credit_summary)??C(c?.op_credit_summary),"total_remaining_amount")??("string"==typeof(b=d("opcredit_balance"))&&b.trim()?b.trim():"number"==typeof b&&Number.isFinite(b)?String(b):void 0);return{...void 0!==f?{hasTokenPlan:f}:{},...e("op_group_id")?{opGroupId:e("op_group_id")}:{},...e("token_plan_tier")?{tier:e("token_plan_tier")}:{},...g>0?{expiresAt:g}:{},...void 0!==h?{balance:h}:{}}}async function J(a,b,c){let d;try{let e=await G(a,"/matrix/api/v1/user/get_user_extra_info",{access:b,userID:c,body:{}},"workspace");for(let a of Array.isArray(e.workspaces)?e.workspaces:Array.isArray(e.data?.workspaces)?e.data.workspaces:[]){if(0!==D(a?.workspace_type))continue;let b="number"==typeof a.workspace_id&&a.workspace_id>=0?a.workspace_id:E(a,"workspace_id");if(void 0!==b){d={id:b,m:I(a)};break}}}catch(d){if(d instanceof F)throw d;return I(await G(a,"/matrix/api/v1/commerce/get_membership_info",{access:b,userID:c,body:{}},"membership"))}if(!d)return{};try{let e=I(await G(a,"/matrix/api/v1/commerce/get_membership_info",{access:b,userID:c,body:{workspace_id:d.id}},"membership")),f=!0===d.m.hasTokenPlan||!0===e.hasTokenPlan||!1!==d.m.hasTokenPlan&&!1!==e.hasTokenPlan&&void 0;return{...d.m,...e,...void 0!==f?{hasTokenPlan:f}:{},...d.m.opGroupId||e.opGroupId?{opGroupId:d.m.opGroupId??e.opGroupId}:{}}}catch(a){if(a instanceof F)throw a;return d.m}}async function K(a,b,c){let d=await fetch(`${a.platform}/v1/api/openplatform/coding_plan/remains`,{headers:{Accept:"application/json",Authorization:`Bearer ${b}`,...c?{"X-Group-Id":c}:{}},signal:AbortSignal.timeout(15e3)});if(!d.ok)throw Error(`M Plan: HTTP ${d.status}`);return function(a){let b=C(a?.base_resp);if(b&&"number"==typeof b.status_code&&0!==b.status_code)throw Error(E(b,"status_msg")??`MiniMax said ${b.status_code}`);if(!b&&!Array.isArray(a?.model_remains))throw Error("no plan in the reply");let c=a=>a<1e12?1e3*a:a,d=a=>0===D(a),e=[];for(let b of Array.isArray(a.model_remains)?a.model_remains:[]){let a=String(b?.model_name??"").trim();if(!a||3===D(b.current_interval_status)&&3===D(b.current_weekly_status)&&d(b.current_interval_total_count)&&d(b.current_weekly_total_count))continue;let f="general"===a.toLowerCase();for(let d of[{left:D(b.current_interval_remaining_percent),status:D(b.current_interval_status)??0,start:D(b.start_time)??0,end:D(b.end_time)??0,week:!1},{left:D(b.current_weekly_remaining_percent),status:D(b.current_weekly_status)??0,start:D(b.weekly_start_time)??0,end:D(b.weekly_end_time)??0,week:!0}]){if(3===d.status||void 0===d.left&&2!==d.status)continue;let b=2===d.status?0:Math.max(0,Math.min(100,d.left)),g=0;d.start>0&&d.end>d.start?g=c(d.end)-c(d.start):d.week&&(g=6048e5);let h=d.week?"7 days":g>864e5&&g%864e5==0?`${g/864e5} days`:g>=36e5&&g%36e5==0?`${g/36e5} hours`:g>0?`${Math.floor(g/6e4)} minutes`:"Allowance",i=f?h:`${a[0].toUpperCase()+a.slice(1)} \xb7 ${h}`;e.push({name:i,used:100-b,total:100,remaining:b,remainingPercentage:b,resetAt:d.end>0?new Date(c(d.end)).toISOString():null})}}return e}(await d.json().catch(()=>null))}async function L(a){let b=A[a.provider],c=a.accessToken;if(!b||!c)return{message:`Usage API not implemented for ${a.provider}`};try{let d=E(a.providerSpecificData||{},"realUserID"),e=null;d||(d=(e=await H(b,c)).realUserID);let f=await J(b,c,d),g={};if(void 0!==f.balance){let a=Number(f.balance);g.Credits={used:0,total:Number.isFinite(a)?a:0,isCreditBalance:!0,currency:"credits"}}if(f.hasTokenPlan&&f.opGroupId)try{for(let a of(await K(b,c,f.opGroupId)))g[a.name]=a}catch(a){g["M Plan windows"]={name:"M Plan windows",used:0,total:0,resetAt:null,message:a?.message??String(a)}}return 0===Object.keys(g).length&&(g.Plan={name:"Plan",used:0,total:0,resetAt:null,message:!1===f.hasTokenPlan?"Free account (no M Plan)":"No usage data returned"}),{quotas:g,plan:f.hasTokenPlan?f.tier?`M Plan ${f.tier}`:"M Plan":"Free",...f.expiresAt>0?{planExpiresAt:new Date(f.expiresAt<1e12?1e3*f.expiresAt:f.expiresAt).toISOString()}:{},user:e?.email||e?.name||E(a.providerSpecificData||{},"realUserID")||d||null}}catch(a){if(a instanceof F)return{message:`MiniMax Code sign-in expired — unauthorized, please re-authorize (${a.message})`};return{message:a?.message??String(a)}}}function M(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function N(a,b,c,g,h=null){let i=b||c;if(!i)return{message:`CodeBuddy (${a}) credential not available.`};try{let b=await (0,d.proxyAwareFetch)((0,f.U)(a).url,{method:"POST",headers:{...e.xq[a]?.headers||{},Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}"},h);if(401===b.status||403===b.status)return{message:"CodeBuddy CN credential invalid or expired."};if(!b.ok)return{message:`CodeBuddy CN quota API error (${b.status}).`};let c=await b.json();if(c?.code!==0)return{message:`CodeBuddy CN quota error: ${c?.msg||"unknown"}`};let g=c?.data?.Response?.Data||{},j=Array.isArray(g.Accounts)?g.Accounts:[];if(0===j.length)return{message:"CodeBuddy CN connected. No credit package found."};let k=a=>{let b=(0,f.eZ)(a.CycleEndTime);return b?new Date(b).getTime():1/0},l=a=>{let b=k(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},m=(a,b)=>k(a)-k(b),n=j.filter(l).sort(m),o=j.filter(a=>!l(a)).sort(m),p={},q={};n.forEach(a=>{let b=function(a){let b=(0,f.eZ)(a.CycleStartTime),c=(0,f.eZ)(a.CycleEndTime);if(b&&c){let a=(new Date(c).getTime()-new Date(b).getTime())/864e5;if(a<=1.5)return"Daily";if(a<=10)return"Weekly"}return"Monthly"}(a);q[b]=(q[b]||0)+1,p[q[b]>1?`${b} ${q[b]}`:b]={used:M(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:M(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),o.forEach((a,b)=>{p[`Bonus Pack ${b+1}`]={used:M(a.CapacityUsedPrecise,a.CapacityUsed),total:M(a.CapacitySizePrecise,a.CapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!1}});let r=n[0]||j[0]||{};return{plan:r.PackageName||r.SubProductName||"CodeBuddy",quotas:p}}catch(b){return{message:`CodeBuddy (${a}) error: ${b.message}`}}}async function O(a,b,c,d=null){return N("codebuddy-cn",a,b,c,d)}async function P(a,b,c,d=null){return N("codebuddy-intl",a,b,c,d)}var Q=c(13247);let R=(0,f.U)("grok-cli"),S=R.url||"https://cli-chat-proxy.grok.com/v1/billing?format=credits",T=R.userUrl||"https://cli-chat-proxy.grok.com/v1/user?include=subscription",U="string"==typeof S&&S.includes("?")?S.replace(/\?.*$/,""):"https://cli-chat-proxy.grok.com/v1/billing";function V(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?(0,f.IQ)(a.val,b):(0,f.IQ)(a,b)}function W(a){return"string"==typeof a&&a.trim()?a.trim().replace(/[_-]+/g," ").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()):null}function X(a,b){let c=a?.subscriptionTier??a?.subscription_tier??a?.subscription?.tier??b?.subscriptionTier??b?.subscription_tier;return"string"==typeof c?c.trim():""}function Y({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,(0,f.IQ)(b,0)),g=Math.max(0,(0,f.IQ)(a,0));if(d||0===e)return{used:g,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let h=Math.max(0,e-g);return{used:g,total:e,remainingPercentage:h/e*100,resetAt:c||null,unlimited:!1}}function Z(a,b){let c=Math.min(100,Math.max(0,(0,f.IQ)(a,0)));return{used:c,total:100,remainingPercentage:Math.max(0,100-c),resetAt:b||null,unlimited:!1}}function $(a){let b=a&&"object"==typeof a?a:{},c=b.config&&"object"==typeof b.config&&!Array.isArray(b.config)?b.config:b;return{root:b,config:c}}async function _(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let e=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":Q.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":Q.rK,"x-grok-client-version":Q.uG,"x-grok-client-mode":"headless"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b,g]=await Promise.all([(0,d.proxyAwareFetch)(S,{method:"GET",headers:e},c),(0,d.proxyAwareFetch)(U,{method:"GET",headers:e},c).catch(()=>null),(0,d.proxyAwareFetch)(T,{method:"GET",headers:e},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let h=await a.json().catch(()=>null);if(!h||"object"!=typeof h)return{message:"Grok CLI billing response was not JSON."};let i=null;b?.ok&&(i=await b.json().catch(()=>null));let j=null;g?.ok&&(j=await g.json().catch(()=>null));let k=function(a,b=null,c=null){let d,{root:e,config:g}=$(a),h=(0,f.eZ)(g.billingPeriodEnd)||(0,f.eZ)(g.billing_period_end)||(0,f.eZ)(g.currentPeriod?.end)||(0,f.eZ)(g.resetAt||g.resetsAt||g.periodEnd)||(0,f.eZ)(e.billingPeriodEnd)||(0,f.eZ)(e.billing_period_end)||(0,f.eZ)(e.resetAt||e.resetsAt||e.periodEnd)||null,i={},j=X(b,g),k=!!j&&!/^(free|none|null)$/i.test(j),l=V(g.monthlyLimit??g.monthly_limit??e.monthlyLimit??e.monthly_limit,NaN),m=V(g.includedUsed??g.included_used??e.includedUsed??e.included_used,NaN),n=V(g.totalUsed??g.total_used??e.totalUsed??e.total_used,NaN);Number.isFinite(l)&&l>0&&(i["Monthly included"]=Y({used:Number.isFinite(m)?m:Number.isFinite(n)?n:0,total:l,resetAt:h}));let o=Array.isArray(g.productUsage)?g.productUsage:Array.isArray(e.productUsage)?e.productUsage:[],p=!1;if(o.length>0)for(let a of o){if(!a||"object"!=typeof a)continue;let b=V(a.usagePercent,NaN);if(!Number.isFinite(b))continue;let c=W(a.product)||"Usage";i[c]||(i[c]=Z(b,h),p=!0)}let q=V(g.creditUsagePercent??e.creditUsagePercent,NaN);!p&&Number.isFinite(q)&&(i.Credits=Z(q,h),p=!0);let r=V(g.onDemandCap??e.onDemandCap,NaN),s=V(g.onDemandUsed??e.onDemandUsed,NaN);if(Number.isFinite(r)&&r>0){let a=Number.isFinite(s)?Math.max(0,s):0;i["On-demand"]=Y({used:a,total:r,resetAt:h})}let t=V(g.prepaidBalance??e.prepaidBalance,NaN);for(let a of(Number.isFinite(t)&&t>0&&(i.Prepaid={used:0,total:t,remainingPercentage:100,resetAt:null,unlimited:!1}),[e.credits,e.creditBalance,e.usage,g.credits,g.includedCredits,g.subscriptionCredits].filter(a=>a&&"object"==typeof a&&!Array.isArray(a)))){let b=V(a.total??a.limit??a.cap??a.allocation??a.amount,NaN),c=V(a.used??a.spent??a.consumed,NaN),d=V(a.remaining??a.balance??a.left,NaN);if(Number.isFinite(b)&&b>0){let e=Number.isFinite(c)?c:Number.isFinite(d)?Math.max(0,b-d):0;i.Credits||(i.Credits=Y({used:e,total:b,resetAt:(0,f.eZ)(a.resetAt||a.resetsAt||a.end)||h}))}else Number.isFinite(d)&&d>=0&&!i.Credits&&(i.Credits={used:0,total:d>0?d:1,remainingPercentage:100*(d>0),resetAt:h,unlimited:!1})}if(c&&"object"==typeof c){let{config:a}=$(c),b=V(a.monthlyLimit,NaN),d=V(a.used,NaN),e=(0,f.eZ)(a.billingPeriodEnd)||null;Number.isFinite(b)&&b>0&&(i.Monthly=Y({used:Number.isFinite(d)?Math.max(0,d):0,total:b,resetAt:e}))}let u=Object.keys(i).length>0&&Object.values(i).every(a=>!0!==a.unlimited&&(a.remainingPercentage??100)<=0);return{plan:(d=X(b,g))?W(d)||d:b?.hasGrokCodeAccess===!0?"Grok Code":(g?.isUnifiedBillingUser,"Grok Build"),quotas:i,periodEnd:h,exhausted:u,subscriptionAccess:k,rawConfig:g}}(h,j,i);if(!k.quotas||0===Object.keys(k.quotas).length)return{plan:k.plan,message:k.subscriptionAccess?"Subscription access is active; Grok does not expose a numeric included quota.":"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted.",quotas:{}};return{plan:k.plan,quotas:k.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}var aa=c(28730);let ab={LEVEL_BASIC:"Moderato",LEVEL_INTERMEDIATE:"Allegretto",LEVEL_ADVANCED:"Allegro",LEVEL_STANDARD:"Vivace"};function ac({used:a,total:b,remaining:c,resetAt:d}){let e,g=Math.max(0,(0,f.IQ)(b,0)),h=Math.max(0,(0,f.IQ)(a,0));return e=g>0&&null!=c&&Number.isFinite(Number(c))?Math.max(0,Number(c))/g*100:g>0?Math.max(0,g-h)/g*100:0,{used:h,total:g,remainingPercentage:e,resetAt:d||null,unlimited:!1}}async function ad(a=null,b=null,c=null,e=null){let g="string"==typeof b&&b.length>0,h=!g&&"string"==typeof a&&a.length>0;if(!g&&!h)return{message:"Kimi access token or API key not available."};let i=g?{"x-api-key":b}:{Authorization:`Bearer ${a}`,...(0,aa.buildKimiHeaders)(e?.deviceId)};try{let a,b=await (0,d.proxyAwareFetch)(g?"https://api.moonshot.cn/v1/usage":"https://api.kimi.com/coding/v1/usages",{method:"GET",headers:{...i,"Content-Type":"application/json",Accept:"application/json"}},c),e=await b.text().catch(()=>"");if(!b.ok)return{plan:"Kimi Coding",message:function(a,b){let c=null;try{c=JSON.parse(b||"")}catch{}let d=Array.isArray(c?.details)?c.details[0]:null,e=d?.debug||c?.debug||null,f=e?.reason||c?.reason||"",g=e?.localizedMessage?.message||d?.localizedMessage?.message||c?.message||"";if(401===a)return"Kimi authentication expired. Please re-authorize.";if(403===a&&("REASON_FEATURE_NO_PERMISSION"===f||/permission_denied|do not have permission|subscribe/i.test(`${c?.code||""} ${g} ${b||""}`)))return g||"Kimi connected, but this account has no permission to view usage. Subscribe to Kimi Code to access quota.";let h=(g||b||"").slice(0,100);return h?`Kimi Coding connected. API Error ${a}: ${h}`:`Kimi Coding connected. API Error ${a}`}(b.status,e)};try{a=JSON.parse(e||"{}")}catch{return{plan:"Kimi Coding",message:"Kimi Coding connected. Invalid JSON response from API."}}let h={},j=a?.usage&&"object"==typeof a.usage?a.usage:{},k=(0,f.IQ)(j.limit??j.Limit,0),l=(0,f.IQ)(j.used??j.Used,0),m=j.remaining??j.Remaining,n=null!=m&&""!==m?(0,f.IQ)(m,NaN):NaN,o=j.resetTime||j.ResetTime||j.reset_at||j.resetAt;for(let b of(k>0&&(h.Weekly=ac({used:l,total:k,remaining:Number.isFinite(n)?n:null,resetAt:(0,f.eZ)(o)})),Array.isArray(a?.limits)?a.limits:[])){if(!b||"object"!=typeof b)continue;let a=b.detail&&"object"==typeof b.detail?b.detail:{},c=(0,f.IQ)(a.limit??a.Limit,0),d=(0,f.IQ)(a.remaining??a.Remaining,NaN),e=a.resetTime||a.reset_at||a.resetAt;if(c>0){let a=Number.isFinite(d)?d:Math.max(0,c);h.Ratelimit=ac({used:Math.max(0,c-a),total:c,remaining:a,resetAt:(0,f.eZ)(e)})}}let p=a?.user?.membership?.level,q=function(a){if(!a)return"";let b=String(a);return ab[b]?ab[b]:b.replace(/^LEVEL_/,"").toLowerCase()}(p)||"Kimi Coding";if(Object.keys(h).length>0)return{plan:q,quotas:h};return{plan:q,message:"Kimi Coding connected. Usage tracked per request."}}catch(a){return{message:`Kimi Coding connected. Unable to fetch usage: ${a.message}`}}}let ae={usageUrl:(0,f.U)("cursor").usageUrl,planUrl:(0,f.U)("cursor").planUrl};async function af(a,b,c){return(0,d.proxyAwareFetch)(a,{method:"POST",headers:{Authorization:`Bearer ${b}`,"Content-Type":"application/json","Connect-Protocol-Version":"1"},body:"{}"},c)}function ag(a,b){let c=Math.max(0,Math.min(100,a));return{used:c,total:100,remaining:Math.max(0,100-c),resetAt:b,unlimited:!1}}async function ah(a,b){try{let c=await af(ae.planUrl,a,b);if(!c.ok)return null;let d=await c.json(),e=d?.planInfo?.planName;return"string"==typeof e&&e.trim()?e.trim():null}catch{return null}}async function ai(a,b=null){let c,d;if(!a)return{message:"No Cursor access token available. Re-import your Cursor session."};try{c=await af(ae.usageUrl,a,b)}catch(a){return{message:`Cursor connected. Unable to fetch usage: ${a.message}`}}if(!c.ok)return{message:`Cursor connected. Usage API temporarily unavailable (${c.status}).`};try{d=await c.json()}catch{return{message:"Cursor connected. Usage API returned an invalid response."}}let e=d?.planUsage;if(d?.enabled===!1||!e)return{message:"No active Cursor subscription."};let g=Number(e.limit),h=Number.isFinite(g),i=Number(e.totalPercentUsed),j=Number.isFinite(i);if(!h&&!j)return{message:"Cursor connected. Usage totals unavailable for this account."};let k=(0,f.eZ)(d.billingCycleEnd),l={},m=Number(e.totalSpend),n=Number(e.remaining),o=0;Number.isFinite(m)?o=m:h&&Number.isFinite(n)&&(o=g-n);let p=h&&g>0?o/g*100:0;l["Total usage"]=ag(j?i:p,k);let q=Number(e.autoPercentUsed);Number.isFinite(q)&&(l["Auto usage"]=ag(q,k));let r=Number(e.apiPercentUsed);return Number.isFinite(r)&&(l["API usage"]=ag(r,k)),{plan:await ah(a,b)||"Cursor",quotas:l}}async function aj(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"DeepSeek API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)("https://api.deepseek.com/user/balance",{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,"Content-Type":"application/json",Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"DeepSeek",message:"DeepSeek authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"DeepSeek",message:`DeepSeek balance API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}let e=await c.json().catch(()=>null);if(!e||"object"!=typeof e)return{message:"DeepSeek balance response was not JSON."};let g=function(a){let b=Array.isArray(a?.balance_infos)?a.balance_infos:[],c=[];for(let a of b){if(!a||"object"!=typeof a)continue;let b="string"==typeof a.currency?a.currency.toUpperCase():"";if(!b)continue;let d=(0,f.IQ)(a.total_balance??a.totalBalance,0);c.push({currency:b,totalBalance:d,grantedBalance:(0,f.IQ)(a.granted_balance??a.grantedBalance,0),toppedUpBalance:(0,f.IQ)(a.topped_up_balance??a.toppedUpBalance,0)})}return c}(e);if(0===g.length)return{plan:"DeepSeek",message:"DeepSeek connected. No balance data returned."};let h=!0===e.is_available||!0===e.isAvailable,i={};for(let a of g){let b=Math.max(0,a.totalBalance);i[`Credit: ${b.toFixed(2)} ${a.currency}`]={used:0,total:b,remainingPercentage:100*(b>0),resetAt:null,unlimited:!1,isCreditBalance:!0}}return{plan:h?"DeepSeek":"DeepSeek (Insufficient Balance)",quotas:i}}catch(a){return{message:`DeepSeek error: ${a.message}`}}}let ak="https://api.commandcode.ai",al=`${ak}/alpha/whoami`,am=`${ak}/alpha/billing/credits`,an=`${ak}/alpha/usage/summary`,ao=`${ak}/alpha/billing/subscriptions`,ap="0.25.7";function aq(a,b){return b?`${a}?orgId=${encodeURIComponent(b)}`:a}async function ar(a,b,c){let e=await (0,d.proxyAwareFetch)(a,{method:"GET",headers:{Authorization:`Bearer ${b}`,Accept:"application/json","x-command-code-version":ap,"x-cli-environment":"cli","user-agent":`command-code/${ap}`}},c);if(!e.ok){let a=await e.text().catch(()=>"");return{error:{status:e.status,body:a.slice(0,160)}}}let f=await e.json().catch(()=>null);return f&&"object"==typeof f?{data:f}:{error:{status:e.status,body:"non-JSON response"}}}function as(a,b){return b>0?Math.max(0,Math.min(100,Math.round((b-a)/b*100))):0}function at(a,b=2){return(0,f.IQ)(a,0).toFixed(b)}function au(a){if(!a||"object"!=typeof a)return null;let b=Math.max(0,(0,f.IQ)(a.used,0)),c=Math.max(0,(0,f.IQ)(a.cap,0));return{used:at(b),total:at(c),remainingPercentage:as(b,c),resetAt:(0,f.eZ)(a.resetAt)}}async function av(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Command Code API key not available. Add a key to view usage."};let c=a.trim();try{let a=await ar(al,c,b);if(a.error&&401===a.error.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};let d=a.data?.org?.id??null,e=await ar(aq(am,d),c,b);if(e.error){let{status:a,body:b}=e.error;if(401===a||403===a)return{plan:"Command Code",message:"Command Code rejected the request. Check the API key (Cloudflare blocks requests without the CLI identity headers)."};return{plan:"Command Code",message:`Command Code credits API error (${a})${b?`: ${b}`:""}`}}let g={},h=e.data?.windowLimits||null,i=au(h?.fiveHour);i&&(g["5-hour"]=i);let j=au(h?.weekly);j&&(g.Weekly=j);let k=await ar(ao,c,b);if(k.error&&401===k.error.status)return{plan:"Command Code",message:"Command Code authentication failed. Check the API key."};let l=e.data?.credits;if(l){let a=Math.max(0,(0,f.IQ)(l.monthlyCredits,0)),e=await ar(aq(an,d),c,b),h=e.error?0:Math.max(0,(0,f.IQ)(e.data?.totalCost,0)),i=a+h;i>0&&(g["Monthly credits"]={used:at(h),total:at(i),remainingPercentage:as(h,i),resetAt:(0,f.eZ)(k.data?.data?.currentPeriodEnd??k.data?.currentPeriodEnd)})}if(0===Object.keys(g).length)return{plan:"Command Code",message:"Command Code connected. No credit or window data returned."};let m=h?.exceeded,n=h?.limited===!0,o=k.data?.data?.planId||null,p=o?`Command Code (${o})`:"Command Code";return{plan:n&&m?`${p} — limit exceeded`:p,quotas:g}}catch(a){return{message:`Command Code error: ${a.message}`}}}let aw=(0,f.U)("groq").url;function ax(a,b,c,d){let e,f=a.get(b),g=a.get(c);if(null===f||null===g)return null;let h=Number(f),i=Number(g);return Number.isFinite(h)&&Number.isFinite(i)?{used:Math.max(0,h-i),total:h,resetAt:null===(e=function(a){let b;if("string"!=typeof a||!a.trim())return null;let c=/(\d+(?:\.\d+)?)(ms|s|m|h)/g,d=0,e=!1;for(;b=c.exec(a);){e=!0;let a=Number(b[1]),c=b[2];d+=a*("h"===c?36e5:"m"===c?6e4:"ms"===c?1:1e3)}return e?d:null}(a.get(d)))?null:new Date(Date.now()+e).toISOString(),unlimited:!1}:null}async function ay(a,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"Groq API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)(aw,{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{plan:"Groq",message:"Groq authentication failed. Check the API key."};if(!c.ok){let a=await c.text().catch(()=>"");return{plan:"Groq",message:`Groq usage API error (${c.status})${a?`: ${a.slice(0,120)}`:""}`}}await c.text().catch(()=>{});let e=ax(c.headers,"x-ratelimit-limit-requests","x-ratelimit-remaining-requests","x-ratelimit-reset-requests"),f=ax(c.headers,"x-ratelimit-limit-tokens","x-ratelimit-remaining-tokens","x-ratelimit-reset-tokens");if(!e&&!f)return{plan:"Groq",message:"Groq connected. No rate-limit data reported for this key yet.",quotas:{}};let g={};return e&&(g.Requests=e),f&&(g.Tokens=f),{plan:"Groq",quotas:g}}catch(a){return{message:`Groq error: ${a.message}`}}}var az=c(49934);function aA(a){if(null==a)return{unlimited:!1,total:0};if("unlimited"===a||a?.unlimited===!0)return{unlimited:!0,total:0};if("number"==typeof a&&Number.isFinite(a))return{unlimited:!1,total:Math.max(0,a)};if("string"==typeof a){let b=a.trim();if("unlimited"===b)return{unlimited:!0,total:0};let c=Number(b);if(Number.isFinite(c))return{unlimited:!1,total:Math.max(0,c)}}let b=a.limited??a.Limited;return"number"==typeof b&&Number.isFinite(b)?{unlimited:!1,total:Math.max(0,b)}:{unlimited:!1,total:0}}function aB(a,b,c,d=null){let e=Math.max(0,(0,f.IQ)(b,0)),g=aA(c);if(g.unlimited)return{used:e,total:0,remainingPercentage:100,resetAt:d||null,unlimited:!0};let h=g.total;if(h<=0)return{used:e,total:0,remainingPercentage:0,resetAt:d||null,unlimited:!1};let i=Math.min(e,h),j=Math.max(0,h-i);return{used:i,total:h,remainingPercentage:j/h*100,resetAt:d||null,unlimited:!1}}function aC(a){return a&&"object"==typeof a?null!=a.limit?a.limit:a:null}async function aD(a=null,b={},c=null){let d=b||{},e=d.userId;if(!a||"string"!=typeof a||!a.trim())return{message:"Zed access token not available. Re-connect Zed to view quota."};if(!e)return{message:"Zed credential is missing user id. Re-connect Zed to view quota."};let g={accessToken:a.trim(),providerSpecificData:d};try{let a=await (0,az.qJ)(g,{proxyOptions:c});return function(a){let b,c=a?.plan||{},d=c.plan_v3||c.plan_v2||c.plan||a?.plan_v3||null,e=(0,f.eZ)(c.subscription_period?.ended_at)||(0,f.eZ)(c.subscriptionPeriod?.endedAt)||null,g={},h=c.usage||{},i=h.edit_predictions||h.editPredictions;i&&(g["Edit Predictions"]=aB("Edit Predictions",i.used,i.limit,e));let j=h.model_requests||h.modelRequests;if(j){let a=null!=j.limit?j.limit:aC(j)?.limit,b=aA(a);(b.unlimited||b.total>0)&&(g["Hosted Model Requests"]=aB("Hosted Model Requests",j.used,a,e))}let k=j&&!(b=aA(j.limit??aC(j)?.limit)).unlimited&&0===b.total?"Hosted AI models are billed per token (not request count). Edit Predictions are tracked below. Token spend is on dashboard.zed.dev.":null,l=function(a){let b=String(a||"").trim();if(!b)return"Zed";switch(b.toLowerCase()){case"zed_free":return"Zed Free";case"zed_pro":return"Zed Pro";case"zed_pro_trial":return"Zed Pro Trial";case"zed_student":return"Zed Student";case"zed_business":return"Zed Business";default:return b.replace(/_/g," ").split(/\s+/).map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join(" ")}}(d);(c.trial_started_at||c.trialStartedAt)&&!/trial/i.test(l)&&(l=`${l} (Trial active)`);let m=k;return(c.has_overdue_invoices||c.hasOverdueInvoices)&&(m="This Zed account has overdue invoices. Usage may be blocked until billing is resolved."),{plan:l,quotas:g,message:m,hasOverdueInvoices:!!(c.has_overdue_invoices||c.hasOverdueInvoices),trialStarted:!!(c.trial_started_at||c.trialStartedAt),planId:d||null,resetAt:e}}(a)}catch(b){let a=b?.status;if(401===a||403===a)return{message:"Zed authentication failed. Sign in again from the dashboard or Zed editor."};return{message:`Zed error: ${b.message||"Failed to fetch quota"}`}}}let aE=(0,f.U)("opencode-go").url,aF={rolling:"Rolling",weekly:"Weekly",monthly:"Monthly"};async function aG(a=null,b=null){if(!a||"string"!=typeof a||!a.trim())return{message:"OpenCode Go API key not available. Add a key to view usage."};try{let c=await (0,d.proxyAwareFetch)(aE,{method:"GET",headers:{Authorization:`Bearer ${a.trim()}`,Accept:"application/json"}},b);if(401===c.status)return{plan:"OpenCode Go",message:"OpenCode Go authentication failed. Check the API key."};if(403===c.status){let a=await c.json().catch(()=>null),b=a?.error?.type==="EntitlementError";return{plan:"OpenCode Go",message:b?"OpenCode Go subscription required for this API key.":"OpenCode Go access forbidden for this API key."}}if(!c.ok)return{plan:"OpenCode Go",message:`OpenCode Go usage API error (${c.status}).`};let e=await c.json().catch(()=>null);if(!e?.usage||"object"!=typeof e.usage)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain quota data."};let g={};for(let[a,b]of Object.entries(aF)){let c=e.usage[a];if(!c||"object"!=typeof c)continue;let d=function(a){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return null}(c.percent);if(null===d)continue;let h=Math.max(0,Math.min(100,(0,f.IQ)(d,0)));g[b]={used:h,total:100,remaining:100-h,remainingPercentage:100-h,resetAt:(0,f.eZ)(c.resetsAt),unlimited:!1}}if(0===Object.keys(g).length)return{plan:"OpenCode Go",message:"OpenCode Go usage response did not contain valid quota data."};return{plan:"OpenCode Go",quotas:g}}catch(a){return{message:`OpenCode Go error: ${a.message}`}}}var aH=c(78670);async function aI(a=null,b=null,c=null){let e=await (0,aH.getMimoAccountUsage)(b,c);if("number"==typeof e.percent&&Number.isFinite(e.percent)){let a=Math.max(0,Math.min(100,Math.round(e.percent))),b=null;if("number"==typeof e.resetAt&&e.resetAt>0)b=new Date(1e3*e.resetAt).toISOString();else if("string"==typeof e.resetDate){let a=new Date(`${e.resetDate}T00:00:00Z`);Number.isNaN(a.getTime())||(b=a.toISOString())}return{plan:"Xiaomi MiMo Desktop",quotas:{Weekly:{used:100-a,total:100,remainingPercentage:a,resetAt:b,unlimited:!1}}}}let f=a||b?.apiKey;if(!f||"string"!=typeof f||!f.trim())return{message:"Xiaomi MiMo Desktop not connected. Add credentials to view usage."};try{let a=await (0,d.proxyAwareFetch)("https://aistudio.xiaomimimo.com/open-apis/v1/user/usage",{method:"GET",headers:{Authorization:`Bearer ${f.trim()}`,"X-Mimo-Source":"mimocode-cli",Accept:"application/json"},signal:AbortSignal.timeout(1e4)},c);if(401===a.status)return{plan:"Xiaomi MiMo Desktop",message:"Weekly quota requires Xiaomi account session. API key alone is insufficient."};if(!a.ok)return{plan:"Xiaomi MiMo Desktop",message:`Usage API error (${a.status})`};let b=await a.json().catch(()=>null);if(!b||0!==b.code||!b.data)return{plan:"Xiaomi MiMo Desktop",message:"Usage endpoint returned unexpected response."};let{percent:e,resetDate:g}=b.data;if("number"!=typeof e||!Number.isFinite(e))return{plan:"Xiaomi MiMo Desktop",message:"Usage data missing percent field."};let h=Math.max(0,Math.min(100,Math.round(e))),i=null;if(g&&"string"==typeof g){let a=new Date(`${g}T00:00:00Z`);Number.isNaN(a.getTime())||(i=a.toISOString())}return{plan:"Xiaomi MiMo Desktop",quotas:{Weekly:{used:100-h,total:100,remainingPercentage:h,resetAt:i,unlimited:!1}}}}catch(a){return{message:`Xiaomi MiMo Desktop usage error: ${a.message}`}}}var aJ=c(9155);let aK={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url};async function aL(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=aK["glm-cn"===b?"china":"international"];try{let b=await (0,d.proxyAwareFetch)(e,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),{plan:g,quotas:h}=function(a){let b=a?.data&&"object"==typeof a.data?a.data:{},c=Array.isArray(b.limits)?b.limits:[],d={};for(let a of c){if(!a||"TOKENS_LIMIT"!==a.type&&"CREDIT_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,e=Math.max(0,100-b);d[3===a.unit?`Session (${a.number}h)`:6===a.unit?"Weekly (7d)":"TOKENS_LIMIT"===a.type?"Tokens":`Limit (${a.number})`]={used:b,total:100,remaining:e,remainingPercentage:e,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let e="string"==typeof b.level?b.level:"";return{plan:e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():"Unknown",quotas:d}}(f);return{plan:g,quotas:h}}catch(a){return{message:`GLM error: ${a.message}`}}}let aM=(0,f.U)("vercel-ai-gateway").url;async function aN(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}let aO={session:"Session (5h)",weekly:"Weekly (7d)",monthly:"Monthly"};async function aP(a,b,c=null){if(!a)return{message:"Ollama Cloud API key not available."};try{let b,e=await (0,d.proxyAwareFetch)("https://ollama.com/api/usage",{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(401===e.status||403===e.status)return{message:"Ollama Cloud API key invalid or expired."};if(!e.ok)return{message:`Ollama Cloud usage API error (${e.status}).`};try{b=await e.json()}catch{return{message:"Ollama Cloud usage response was not JSON."}}let f=await (0,d.proxyAwareFetch)("https://ollama.com/api/me",{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Length":"0"}},c).then(a=>a.ok?a.json():null).catch(()=>null),g="string"==typeof f?.Plan?f.Plan:"",h=g?g.charAt(0).toUpperCase()+g.slice(1).toLowerCase():"Ollama Cloud",i=b?.limits&&"object"==typeof b.limits?b.limits:{},j="free"===g.toLowerCase()&&f?.CreatedAt?function(a,b=new Date){let c=new Date(a);if(Number.isNaN(c.getTime()))return null;let d=(b.getUTCFullYear()-c.getUTCFullYear())*12+(b.getUTCMonth()-c.getUTCMonth());for(let a=Math.max(0,d);a<=d+1;a++){let d=function(a,b){let c=a.getUTCMonth()+b,d=a.getUTCFullYear()+Math.floor(c/12),e=(c%12+12)%12,f=new Date(Date.UTC(d,e+1,0)).getUTCDate();return new Date(Date.UTC(d,e,Math.min(a.getUTCDate(),f),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds()))}(c,a);if(d>b)return d.toISOString()}return null}(f.CreatedAt):null,k={};for(let[a,b]of Object.entries(aO)){let c=i[a]?.usage;if(null==c)continue;let d=Number(c);Number.isNaN(d)||(k[b]=function(a,b=null){let c=Math.max(0,Math.min(1,Number(a)||0)),d=Math.round(100*c);return{used:d,total:100,remainingPercentage:100-d,resetAt:b,unlimited:!1}}(d,"monthly"===a?j:null))}if(0===Object.keys(k).length)return{plan:h,message:"Ollama Cloud connected. No usage limits reported.",quotas:{}};return{plan:h,quotas:k}}catch(a){return{message:`Ollama Cloud error: ${a.message}`}}}async function aQ(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(aM,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let e=await c.json(),f=Number(e?.balance)||0,g=Number(e?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function aR(a,b=null,c="qoder"){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let e=await (0,d.proxyAwareFetch)((0,f.U)(c).url,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!e.ok)return{message:`Qoder connected. Usage fetch returned ${e.status}.`};let g=await e.json().catch(()=>null);if(!g)return{message:"Qoder connected. Usage response was not JSON."};let h=g.userQuota||{},i=g.orgResourcePackage||{},j=Number.isFinite(Number(g.expiresAt))&&Number(g.expiresAt)>0?Number(g.expiresAt):null,k=j?new Date(j).toISOString():null;return{quotas:{user:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:k},organization:{total:Number(i.total)||0,used:Number(i.used)||0,remaining:Number(i.remaining)||0,unit:i.unit||"credits",resetAt:k}},totalUsagePercentage:Number(g.totalUsagePercentage)||0,isQuotaExceeded:!!g.isQuotaExceeded,expiresAt:j}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let aS={github:a=>h(a.accessToken,a.providerSpecificData,a.proxyOptions),"gemini-cli":a=>(0,j.N)(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),antigravity:a=>(0,j.c)(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),claude:a=>(0,k.gl)(a.accessToken,a.proxyOptions,{force:a.force}),codex:a=>(0,l.Tl)(a.accessToken,a.providerSpecificData,a.proxyOptions,a.idToken),kiro:a=>n(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>aT(a),"qoder-cn":a=>aT(a),iflow:a=>aN(a.accessToken),ollama:a=>aP(a.apiKey,a.providerSpecificData,a.proxyOptions),glm:a=>aL(a.apiKey||a.accessToken,a.provider,a.proxyOptions),"glm-cn":a=>aL(a.apiKey||a.accessToken,a.provider,a.proxyOptions),minimax:a=>v(a.apiKey,a.provider,a.proxyOptions),"minimax-cn":a=>v(a.apiKey,a.provider,a.proxyOptions),elevenlabs:a=>x(a.apiKey,a.proxyOptions),"minimax-code":a=>L(a),"minimax-code-global":a=>L(a),"vercel-ai-gateway":a=>aQ(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>O(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"codebuddy-intl":a=>P(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions),"grok-cli":a=>_(a.accessToken,a.providerSpecificData,a.proxyOptions),kimi:a=>ad(a.accessToken,a.apiKey,a.proxyOptions,a.providerSpecificData),cursor:a=>ai(a.accessToken,a.proxyOptions),commandcode:a=>av(a.apiKey,a.proxyOptions),deepseek:a=>aj(a.apiKey,a.proxyOptions),groq:a=>ay(a.apiKey,a.proxyOptions),zed:a=>aD(a.accessToken,a.providerSpecificData,a.proxyOptions),"opencode-go":a=>aG(a.apiKey,a.proxyOptions),"xiaomi-mimo":a=>aI(a.accessToken,a.providerSpecificData,a.proxyOptions)};async function aT(a){let b=await (0,aJ._M)(a,a.proxyOptions).catch(()=>null);return aR(b?.accessToken||a.accessToken,a.proxyOptions,a.provider||"qoder")}async function aU(a,b=null,c={}){let{provider:d,accessToken:e,apiKey:f,providerSpecificData:g,projectId:h,idToken:i}=a,j={...g||{},...h?{projectId:h}:{}},k=aS[d];return k?await k({provider:d,accessToken:e,apiKey:f,providerSpecificData:g,providerDataWithProjectId:j,proxyOptions:b,idToken:i,force:!0===c.force}):{message:`Usage API not implemented for ${d}`}}},39326:(a,b,c)=>{c.d(b,{B:()=>h,p:()=>g});var d=c(71998);function e(a){return null==a?"":String(a).trim()}let f=new Map;function g(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=f.get(c)||{index:-1};return b.index=(b.index+1)%a.length,f.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function h(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),g=!1;if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy),h=a&&!0===a.isActive&&b;if(g=a?.strictProxy===!0,h){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type||"netlify"===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,strictProxy:g,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,strictProxy:g,...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}}}},49485:(a,b,c)=>{c.d(b,{RO:()=>o,Tl:()=>m,Yt:()=>n,oH:()=>p});var d=c(89843),e=c(81358),f=c(88705);let g={usageUrl:(0,f.U)("codex").url,resetCreditsUrl:(0,f.U)("codex").resetCreditsUrl,resetCreditsConsumeUrl:(0,f.U)("codex").resetCreditsConsumeUrl};function h(a){if(!a)return null;let b=a instanceof Date?a:new Date("number"==typeof a&&a<1e12?1e3*a:a);return Number.isFinite(b.getTime())?b.toISOString():null}function i(a,b={},c={},d=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json",originator:"codex_cli_rs",...c},g=(0,e.a)(b,d);return g&&(f["ChatGPT-Account-ID"]=g),f}function j(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function k(a){let b=Math.max(0,Math.min(100,(0,f.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,f.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function l(a,b,c){let d=j(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=k(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=k(f),g=!0),g}async function m(a,b={},c=null,h=null){var k,n,o;[b,c]=(k=b,!(n=c)&&(o=k)&&"object"==typeof o&&("connectionProxyEnabled"in o||"connectionProxyUrl"in o||"connectionNoProxy"in o||"vercelRelayUrl"in o||"strictProxy"in o)?(0,e.a)(k,h)?[k,k]:[{},k]:[k||{},n]);try{let e=await (0,d.proxyAwareFetch)(g.usageUrl,{method:"GET",headers:i(a,b,{},h)},c);if(!e.ok)return{message:`Codex connected. Usage API temporarily unavailable (${e.status}).`};let k=await e.json(),m=k.rate_limit||k.rate_limits||k.rate_limits_by_limit_id?.codex||{},n=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(k),o=function(a){if(a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit)return a.spark_rate_limit||a.gpt_5_3_codex_spark_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b["gpt-5.3-codex-spark"]||b.gpt_5_3_codex_spark||b.spark||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return b.includes("spark")||b.includes("5.3-codex-spark")})||null}(k),p=Math.max(0,(0,f.IQ)(k.rate_limit_reset_credits?.available_count,0)),q={};return l(q,"",m),l(q,"review",n),l(q,"spark",o),{plan:k.plan_type||k.summary?.plan||"unknown",limitReached:j(m)?.limit_reached||!1,reviewLimitReached:j(n)?.limit_reached||!1,sparkLimitReached:j(o)?.limit_reached||!1,resetCredits:{availableCount:p},quotas:q}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function n(a,b=null,c=null,e=null){if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");let j=i(a,c,{"OpenAI-Beta":"codex-1"},e),k=await (0,d.proxyAwareFetch)(g.resetCreditsUrl,{method:"GET",headers:j},b),l=null;try{l=await k.json()}catch{l=null}if(!k.ok){var m,o;throw Error((m=l?.message||l?.error||l?.detail,o=`Codex reset credits API unavailable (${k.status}).`,m?"string"==typeof m?m:"string"==typeof m.message?m.message:JSON.stringify(m):o))}let p=Array.isArray(l?.credits)?l.credits:[];return{availableCount:Math.max(0,(0,f.IQ)(l?.available_count??l?.availableCount,0)),credits:p.map(a=>({status:String(a?.status||"unknown"),grantedAt:h(a?.granted_at??a?.grantedAt),expiresAt:h(a?.expires_at??a?.expiresAt)}))}}async function o(a,b,c=null,h=null,j=null){let k;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");if(!b||"string"!=typeof b)throw Error("A redeem request id is required to consume a Codex reset credit.");if(!(0,e.a)(h,j))throw Error("A ChatGPT account ID is required to consume a Codex reset credit. Please re-authorize the connection.");let l=null;try{k=await (0,d.proxyAwareFetch)(g.resetCreditsConsumeUrl,{method:"POST",headers:i(a,h,{"Content-Type":"application/json"},j),body:JSON.stringify({redeem_request_id:b})},c);let e=await k.text();l=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let m=l?.code||null,n=(0,f.IQ)(l?.windows_reset,0);return{ok:k.ok&&("reset"===m||n>0),noCredit:k.ok&&"no_credit"===m,status:k.status,code:m,windowsReset:n,message:l?.message||null,raw:l}}async function p(a,b=null,c=null,e=null){let g=new URL((0,f.U)("codex").modelsUrl||"https://chatgpt.com/backend-api/codex/models");(0,f.U)("codex").clientVersion&&g.searchParams.set("client_version",(0,f.U)("codex").clientVersion);let h=i(a,c,{},e),j=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:h},b);if(!j.ok)return[];let k=await j.json();return(Array.isArray(k?.models)?k.models:[]).filter(a=>a?.supported_in_api!==!1&&"string"==typeof a?.slug&&a.slug).sort((a,b)=>Number(a.priority||0)-Number(b.priority||0))}},71040:(a,b,c)=>{c.d(b,{c:()=>q,N:()=>o});var d=c(92675),e=c(88705);let f=new Map,g=new Map;async function h(a,b,c=null,i={}){if(!a||!b)return{};let j=`${b}:${a.slice(0,16)}`,k=Date.now();if(!i.force&&f.has(j)){let a=f.get(j);if(a&&a.expiresAt>k)return a.quotas}if(g.has(j))return await g.get(j);let l=(async()=>{try{let g=(0,e.U)("antigravity")?.quotaSummaryApiUrl||`${d.w3}/v1internal:retrieveUserQuotaSummary`,h=await (0,e.u9)(g,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":d.Of,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},body:JSON.stringify({project:b})},1e4,c);if(!h||!h.ok)return{};let i=await h.json(),k=function(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.groups)?a.groups:Array.isArray(a?.quotaSummary?.groups)?a.quotaSummary.groups:null;if(!b||0===b.length)return{};let c={};for(let a of b){if(!a||"object"!=typeof a||!Array.isArray(a.buckets))continue;let b=String(a.displayName||"").trim(),d=null,f=null;if("Gemini Models"===b)d="gemini_weekly",f="Gemini Weekly";else{if("Claude and GPT models"!==b)continue;d="claude_gpt_weekly",f="Claude & GPT Weekly"}let g=null;for(let b of a.buckets)if(b&&"object"==typeof b&&"weekly"===b.window){g=b;break}if(!g)for(let b of a.buckets){if(!b||"object"!=typeof b)continue;let a="string"==typeof b.bucketId&&/\bweekly\b/i.test(b.bucketId),c="string"==typeof b.displayName&&/\bweekly\b/i.test(b.displayName);if(a||c){g=b;break}}if(!g||!0===g.disabled||null==g.remainingFraction)continue;let h=Number(g.remainingFraction);if(!Number.isFinite(h))continue;let i=Math.max(0,Math.min(1,h)),j=Math.max(0,1e3-Math.round(1e3*i)),k=100*i;c[d]={used:j,total:1e3,resetAt:(0,e.eZ)(g.resetTime),remainingPercentage:k,unlimited:!1,displayName:f}}return c}(i);if(f.set(j,{quotas:k,expiresAt:Date.now()+6e4}),f.size>100){let a=Date.now();for(let[b,c]of f)c.expiresAt<=a&&f.delete(b)}return k}catch{return{}}})().finally(()=>{g.delete(j)});return g.set(j,l),await l}var i=c(28730);let j={...(0,e.U)("antigravity"),userAgent:d.Of},k=new Map,l=[{pattern:/gemini/i,weekly:{key:"gemini_weekly",displayName:"Gemini (Weekly)"},session:{key:"gemini_session",displayName:"Gemini (5h)"}},{pattern:/claude|gpt/i,weekly:{key:"claude_gpt_weekly",displayName:"Claude & GPT (Weekly)"},session:{key:"claude_gpt_session",displayName:"Claude & GPT (5h)"}}];async function m(a,b,c=null){let f=`${a}::${b||""}`,g=k.get(f);if(g?.promise)return g.promise;if(g&&g.expiresAt>Date.now())return g.result;let h=(async()=>{try{let f=j.quotaSummaryApiUrl;if(!f)return{};let g=await (0,e.u9)(f,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":j.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},body:JSON.stringify({...b?{project:b}:{}})},1e4,c);if(!g.ok)return{};let h=await g.json();return function(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.groups)?a.groups:Array.isArray(a.quotaSummary?.groups)?a.quotaSummary.groups:null;if(!b)return{};let c={};for(let a of b){if(!a||"object"!=typeof a)continue;let b=a.displayName||"";for(let d of Array.isArray(a.buckets)?a.buckets:[]){if(!d||"object"!=typeof d)continue;let a=String(d.window||"").toLowerCase(),f=`${d.bucketId||""} ${d.displayName||""}`.toLowerCase(),g="weekly"===a||f.includes("weekly"),h="5h"===a||f.includes("five hour")||f.includes("5h")||f.includes("daily")||"daily"===a;if(!g&&!h||!0===d.disabled&&g)continue;let i=!0===d.disabled?0:Number(d.remainingFraction);if(Number.isFinite(i)){for(let a of l)if(a.pattern.test(b)){let b=g?a.weekly:a.session;if(c[b.key])break;let f=Math.max(0,1e3-Math.round(1e3*i));c[b.key]={used:f,total:1e3,resetAt:(0,e.eZ)(d.resetTime),remainingPercentage:100*i,unlimited:!1,displayName:b.displayName};break}}}}return c}(h)}catch{return{}}})();k.set(f,{promise:h});try{let a=await h;return a&&Object.keys(a).length>0?k.set(f,{result:a,expiresAt:Date.now()+18e4}):k.delete(f),a}catch{return k.delete(f),{}}}let n={...(0,e.U)("antigravity"),...d.XP,userAgent:d.Of};async function o(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d=(0,e.gD)(b?.projectId),f="Free";if(!d){let b=await p(a,c);d=(0,e.gD)(b?.cloudaicompanionProject),f=b?.currentTier?.name||f}if(!d)return{plan:f,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let g=await (0,e.u9)((0,e.U)("gemini-cli").quotaUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:d})},1e4,c);if(!g.ok)return{plan:f,message:`Gemini CLI quota error (${g.status}).`};let h=await g.json(),i={};if(Array.isArray(h.buckets))for(let a of h.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);i[a.modelId]={used:d,total:1e3,resetAt:(0,e.eZ)(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:f,quotas:i}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}async function p(a,b=null){try{let c=await (0,e.u9)((0,e.U)("gemini-cli").loadCodeAssistUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:i.Cn})},1e4,b);if(!c.ok)return null;return await c.json()}catch{return null}}async function q(a,b,c=null){try{let f=await r(a,c),g=(0,e.gD)(b?.projectId)||(0,e.gD)(f?.cloudaicompanionProject),i={Authorization:`Bearer ${a}`,"User-Agent":n.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":d.Tr},j=JSON.stringify({...g?{project:g}:{}}),k=await (0,e.u9)(n.quotaApiUrl,{method:"POST",headers:i,body:j},1e4,c);if(403===k.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===k.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!k.ok)throw Error(`Antigravity API error: ${k.status}`);let[l,o]=await Promise.all([k.json(),g?h(a,g,c):Promise.resolve({})]),p={},q=f?.paidTier?.id;if(!(!q||"free-tier"===q)&&l.models){let a=["gemini-3.8-flash-high","gemini-3.8-flash-medium","gemini-3.8-flash-low","gemini-3.7-flash-high","gemini-3.7-flash-medium","gemini-3.7-flash-low","gemini-3.7-flash","gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-5-5-high","claude-sonnet-5-5-medium","claude-sonnet-5-5-low","claude-sonnet-5-5","claude-opus-5-5-high","claude-opus-5-5-medium","claude-opus-5-5-low","claude-opus-5-5","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3.1-flash-image"];for(let[b,c]of Object.entries(l.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d=c.quotaInfo.remainingFraction||0,f=100*d,g=Math.round(1e3*d),h=1e3-g;p[b]={used:h,total:1e3,resetAt:(0,e.eZ)(c.quotaInfo.resetTime),remainingPercentage:f,percentageOnly:!0,quotaNote:"gemini-3.1-flash-image"===b?"Google does not expose the exact remaining image-generation count.":"Google exposes this quota as a percentage, not an absolute request count.",unlimited:!1,displayName:c.displayName||b}}}try{let b=await m(a,g,c),d=Object.entries(p),e=d.filter(([a])=>a.startsWith("gemini-")&&!a.includes("image")),f=d.filter(([a])=>a.startsWith("claude-"));if(b.gemini_session&&e.length>0&&e.every(([,a])=>(a.remainingPercentage??0)===0)&&b.gemini_session.remainingPercentage>0){let a=e.reduce((a,[,b])=>!a||b.resetAt&&new Date(b.resetAt)>new Date(a)?b.resetAt:a,null);b.gemini_session.used=b.gemini_session.total,b.gemini_session.remainingPercentage=0,a&&(b.gemini_session.resetAt=a)}if(b.claude_gpt_session&&f.length>0&&f.every(([,a])=>(a.remainingPercentage??0)===0)&&b.claude_gpt_session.remainingPercentage>0){let a=f.reduce((a,[,b])=>!a||b.resetAt&&new Date(b.resetAt)>new Date(a)?b.resetAt:a,null);b.claude_gpt_session.used=b.claude_gpt_session.total,b.claude_gpt_session.remainingPercentage=0,a&&(b.claude_gpt_session.resetAt=a)}Object.assign(p,b)}catch{}return{plan:f?.currentTier?.name||"Unknown",quotas:{...p,...o},subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function r(a,b=null){try{let c=await (0,e.u9)(n.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":n.userAgent,"Content-Type":"application/json"},body:JSON.stringify({metadata:i.Cn,mode:1})},1e4,b);if(!c.ok)return null;return await c.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,Pc:()=>d.Pc,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv,xN:()=>d.xN});var d=c(89718)},88705:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(39141),e=c(89843);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},98594:(a,b,c)=>{c.d(b,{Ut:()=>p,gl:()=>o});var d=c(55511),e=c(89843),f=c(92675),g=c(88705);let h={oauthUsageUrl:(0,g.U)("claude").oauthUrl,usageUrl:(0,g.U)("claude").orgUrl,settingsUrl:(0,g.U)("claude").settingsUrl,profileUrl:(0,g.U)("claude").profileUrl,resetUrl:(0,g.U)("claude").resetUrl,apiVersion:f.b8,userAgent:`claude-cli/${f.t4} (external, cli)`},i=new Map,j=new Map;function k(a){return(0,d.createHash)("sha256").update(String(a??"")).digest("hex")}function l(a,b){for(i.delete(a),i.set(a,b);i.size>128;)i.delete(i.keys().next().value)}function m(a,b,c,d){if("number"==typeof c&&Number.isFinite(c)&&!Object.keys(a).some(a=>a.toLowerCase()===b.toLowerCase())){let e,f;a[b]=(f=100-(e=Math.min(100,Math.max(0,c))),{used:e,total:100,remaining:f,remainingPercentage:f,resetAt:(0,g.eZ)(d),unlimited:!1})}}async function n(a,b,c){try{let d=await (0,e.proxyAwareFetch)(`${h.oauthUsageUrl}?cedar_ember=1`,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":h.apiVersion,"User-Agent":h.userAgent},signal:AbortSignal.timeout(5e3)},b);if(d.ok){let a=function(a){let b={};for(let[c,d]of(m(b,"session (5h)",a?.five_hour?.utilization,a?.five_hour?.resets_at),m(b,"weekly (7d)",a?.seven_day?.utilization,a?.seven_day?.resets_at),Object.entries(a||{})))c.startsWith("seven_day_")&&d&&"object"==typeof d&&m(b,`weekly ${c.slice(10)} (7d)`,d.utilization,d.resets_at);for(let c of[...Array.isArray(a?.limits)?a.limits:[],...Array.isArray(a?.rate_limits)?a.rate_limits:[]]){let a=String(c?.group||"").toLowerCase(),d=String(c?.kind||"").toLowerCase();if("session"===d||"session"===a){m(b,"session (5h)",c.percent,c.resets_at);continue}if("weekly_scoped"===d||"weekly"===a){let a=c?.scope?.model?.display_name||c?.scope?.surface?.display_name;m(b,a?`weekly ${a} (7d)`:"weekly (7d)",c.percent,c.resets_at)}}return{plan:"Claude Code",extraUsage:a?.extra_usage??null,resetCredits:function(a){if(!a?.eligible||!Array.isArray(a.grants))return null;let b=a.grants.filter(a=>a?.id&&!a.paused&&Number(a.resets_left)>0),c=b.find(b=>b.id===a.next_grant_id)||b[0]||null;return{availableCount:b.reduce((a,b)=>a+Number(b.resets_left),0),nextGrantId:c?.id||null,expiresAt:c?.ends_at||null,clears:c?.clears||[],cooldownUntil:a.cooldown_until||null,weeklyResetsAt:a.weekly_resets_at||null,grants:a.grants.filter(a=>a?.id).map(a=>({id:a.id,label:a.label||"",resetsLeft:Number(a.resets_left)||0,resetsTotal:Number(a.resets_total)||0,startsAt:a.starts_at||null,endsAt:a.ends_at||null,clears:Array.isArray(a.clears)?a.clears:[],paused:!0===a.paused,usableNow:!0===a.usable_now,useRequiresLimit:!1!==a.use_requires_limit}))}}(a?.cedar_ember),quotas:b}}(await d.json());return l(c,{value:a,expiresAt:Date.now()+65e3,retryAt:0}),a}if(429===d.status){let a,b=Date.now(),e=i.get(c),f=e?.value||{message:"Claude usage is rate limited. Retry later."};return l(c,{value:f,expiresAt:e?.expiresAt||0,retryAt:b+(a=function(a,b){let c=String(a||"").trim();if(!c)return null;let d=Number(c);if(Number.isFinite(d))return d>=0?1e3*d:null;let e=Date.parse(c);return Number.isFinite(e)?Math.max(0,e-b):null}(d.headers.get("retry-after"),b),null===a&&d.headers.forEach((c,d)=>{if(!/^anthropic-ratelimit-.+-reset$/i.test(d))return;let e=function(a,b){let c=String(a||"").trim();if(!c)return null;let d=Number(c),e=Number.isFinite(d)?d<1e12?1e3*d:d:Date.parse(c);return Number.isFinite(e)&&e>b&&e<=864e13?e-b:null}(c,b);null!==e&&(null===a||e>a)&&(a=e)}),Math.min(18e5,Math.max(18e4,a??18e4)))}),f}if(401===d.status)return{message:"Claude authentication expired (401). Re-authorize or refresh the connection."};if(404===d.status||405===d.status){let d=await q(a,b);return d.cacheable&&l(c,{value:d.value,expiresAt:Date.now()+65e3,retryAt:0}),d.value}return{message:`Claude connected. Usage endpoint returned HTTP ${d.status}.`}}catch{return{message:"Claude connected. Unable to fetch usage."}}}function o(a,b=null,c={}){let d,e=c?.force===!0,f=k(a),g=i.get(f),h=Date.now();return!e&&g&&(h<g.expiresAt||h<g.retryAt)?Promise.resolve(g.value):!e&&j.has(f)?j.get(f):j.size>=128?Promise.resolve({message:"Claude usage refresh is busy. Retry shortly."}):(d=n(a,b,f).finally(()=>{j.get(f)===d&&j.delete(f)}),j.set(f,d),d)}async function p(a,b,c=null){if(!a)throw Error("No Claude access token available. Please re-authorize the connection.");if(!/^[a-z0-9_-]{1,40}$/.test(b||""))throw Error("Invalid reset grant id.");let d={Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":h.apiVersion,"User-Agent":h.userAgent,"Content-Type":"application/json"},f=await (0,e.proxyAwareFetch)(h.profileUrl,{method:"GET",headers:d},c),g=await f.json().catch(()=>null),l=g?.organization?.uuid;if(!f.ok||!l)throw Error(`Cannot resolve Claude organization (${f.status}).`);let m=await (0,e.proxyAwareFetch)(h.resetUrl.replace("{org_id}",l),{method:"POST",headers:d,body:JSON.stringify({program:"cedar_ember",grant_id:b,request_id:crypto.randomUUID()})},c),n=await m.json().catch(()=>null),o=k(a);return i.delete(o),i.delete(a),j.delete(o),{ok:m.ok&&n?.result==="reset",status:m.status,result:n?.result||null,reason:n?.reason||null,resetsLeft:n?.resets_left??null,message:n?.error?.message||null}}async function q(a,b=null){try{let c=await (0,e.proxyAwareFetch)(h.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":h.apiVersion}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.proxyAwareFetch)(h.usageUrl.replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":h.apiVersion}},b);if(c.ok){let a=await c.json();return{cacheable:!0,value:{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{cacheable:!1,value:{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}}return{cacheable:!0,value:{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}}return{cacheable:!1,value:{message:"Claude connected. Usage endpoint requires OAuth."}}}catch(a){return{cacheable:!1,value:{message:`Claude connected. Error checking usage: ${a.message}`}}}}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=6799,exports.ids=[6799],exports.modules={34050:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=7,e=`
|
|
1
|
+
"use strict";exports.id=6799,exports.ids=[6799],exports.modules={8677:(a,b,c)=>{function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(24081)},34050:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=7,e=`
|
|
2
2
|
PRAGMA journal_mode = WAL;
|
|
3
3
|
PRAGMA synchronous = NORMAL;
|
|
4
4
|
PRAGMA temp_store = MEMORY;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.id=7362,exports.ids=[7362],exports.modules={47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw,wV:()=>d.wV});var d=c(33079)},57362:(a,b,c)=>{c.d(b,{t8:()=>A,Vu:()=>D,Ao:()=>B,Pr:()=>E,vt:()=>G,UP:()=>C});var d=c(49263),e=c(89865),f=c(11847),g=c(60290),h=c(48644),i=c(47370);function j(a,b){if(!a||"object"!=typeof a||!b)return!1;let c=a.name||a.function?.name;return"string"==typeof c&&c===b}async function k(a,b){let c;if(!a?.body||!a.headers.get("content-type")?.toLowerCase().includes("text/event-stream"))return a;let{firstActionTimeoutMs:d,maxBytes:e}=(0,g.Ur)(),f=a.body.getReader(),h=new TextDecoder,i=[],k=0,l="",m=function(a){let b=a?.tool_choice;if(!b||"object"!=typeof b||Array.isArray(b)||!["custom","function","tool"].includes(b.type))return"";let c=b.name||b.function?.name;return"string"==typeof c?c.trim():""}(b),n=new Promise(a=>{c=setTimeout(()=>a({timedOut:!0}),d)});try{for(;;){let b=await Promise.race([f.read(),n]);if(b.timedOut)return await f.cancel("combo first-action timeout").catch(()=>{}),null;if(b.done)return await f.cancel("combo response ended before first action").catch(()=>{}),null;i.push(b.value),k+=b.value.byteLength,l+=h.decode(b.value,{stream:!0});let c=function(a,b=""){let c=/\r\n\r\n|\n\n|\r\r/g,d=0,e=!1;for(let f=c.exec(a);f;f=c.exec(a))e||=function(a,b=""){if(b)return function(a,b){let{event:c="",payload:d}=a||{};return!!d&&!!b&&("response.output_item.added"===c||"response.output_item.done"===c?j(d.item,b):"content_block_start"===c?j(d.content_block,b):"response.completed"===c?d.response?.output?.some(a=>j(a,b))===!0:d.choices?.some(a=>j(a?.delta?.function_call,b)||a?.delta?.tool_calls?.some(a=>j(a,b)))===!0)}(a,b);let{event:c="",payload:d}=a||{};return!!(("response.output_text.delta"===c||"response.refusal.delta"===c)&&d?.delta||"response.output_item.added"===c&&["function_call","custom_tool_call"].includes(d?.item?.type)||"content_block_start"===c&&d?.content_block?.type==="tool_use"||"content_block_delta"===c&&(d?.delta?.type==="text_delta"&&d.delta.text||d?.delta?.type==="input_json_delta"&&d.delta.partial_json||d?.delta?.type==="thinking_delta"&&d.delta.thinking||d?.delta?.thinking)||d?.candidates?.[0]?.content?.parts?.some(a=>a?.text||a?.functionCall||a?.inlineData)||d?.message?.content||d?.response||d?.message?.tool_calls?.length||d?.usage?.completion_tokens>0||d?.usage?.output_tokens>0||d?.response?.usage?.output_tokens>0)||d?.choices?.some(a=>"string"==typeof a?.delta?.content&&a.delta.content.length>0||"string"==typeof a?.delta?.reasoning_content&&a.delta.reasoning_content.length>0||"string"==typeof a?.delta?.reasoning&&a.delta.reasoning.length>0||Array.isArray(a?.delta?.tool_calls)&&a.delta.tool_calls.length>0||!!a?.delta?.function_call)===!0}(function(a){let b="",c=[];for(let d of a.split(/\r\n|\n|\r/))d.startsWith("event:")&&(b=d.slice(6).trim()),d.startsWith("data:")&&c.push(d.slice(5).trimStart());if(0===c.length||"[DONE]"===c.join("\n"))return null;try{let a=JSON.parse(c.join("\n"));return{event:b||a?.type||"",payload:a}}catch{return null}}(a.slice(d,f.index)),b),d=f.index+f[0].length;return{actionable:e,remainder:a.slice(d)}}(l,m);if(l=c.remainder,c.actionable||k>e)return function(a,b,c){let d=!1;return new Response(new ReadableStream({start(a){for(let b of c)a.enqueue(b)},async pull(a){if(!d)try{let{done:c,value:e}=await b.read();c?(d=!0,a.close()):a.enqueue(e)}catch(b){d=!0,a.error(b)}},async cancel(a){d=!0,await b.cancel(a)}}),{status:a.status,statusText:a.statusText,headers:a.headers})}(a,f,i)}}catch{return await f.cancel("combo pre-action read failed").catch(()=>{}),null}finally{clearTimeout(c)}}let l=Object.values(g.Qn.headers);function m(a){return String(a||"").trim().replace(/[^A-Za-z0-9._:/-]+/g,"-").slice(0,g.Qn.maxTokenLength)}function n(a){return String(a||"").split(",").map(m).filter(Boolean)}function o(a){return[...new Set(a.filter(Boolean))].slice(0,g.Qn.maxAttempts)}c(67677);let p=new Set(["vision","pdf","audioInput","videoInput"]),q="[Called tools: ",r="[Tool result: ";function s(a){let b;if(!a.startsWith("data:"))return!1;let c=a.slice(5).trim();if(!c||"[DONE]"===c)return!1;try{b=JSON.parse(c)}catch{return!1}if(u(b.usage)||u(b.response?.usage))return!0;let d=b.choices?.[0]?.delta;if(t(d?.content)||t(d?.reasoning_content)||t(d?.reasoning)||d?.tool_calls?.length||d?.function_call)return!0;if("content_block_delta"===b.type){let a=b.delta;if(t(a?.text)||t(a?.partial_json)||t(a?.thinking))return!0}if("content_block_start"===b.type&&b.content_block?.type==="tool_use"||"string"==typeof b.type&&b.type.endsWith(".delta")&&t(b.delta))return!0;let e=b.candidates?.[0]?.content?.parts;return!!(Array.isArray(e)&&e.some(a=>t(a?.text)||a?.functionCall||a?.inlineData)||t(b.message?.content)||t(b.response)||b.message?.tool_calls?.length)}function t(a){return"string"==typeof a&&a.length>0}function u(a){if(!a||"object"!=typeof a)return!1;let b=Number(a.completion_tokens??a.output_tokens??a.candidatesTokenCount??0);return Number.isFinite(b)&&b>0}async function v(a,b=g.Z1){if(!(a.headers.get("content-type")||"").toLowerCase().includes("text/event-stream")||!a.body)return{hasContent:!0,body:null};let c=a.body.getReader(),d=new TextDecoder("utf-8",{fatal:!1}),e=[],f=0,h="",i=!1,j=!1,k=Date.now()+b,l=null,m=new Promise(a=>{l=setTimeout(()=>a({timedOut:!0}),b)});try{for(;!i;){let a;if(Date.now()>=k)break;let b=await Promise.race([c.read(),m]);if(b?.timedOut)break;let{done:g,value:l}=b;if(g){j=!0,(h+=d.decode()).trim()&&s(h.trim())&&(i=!0);break}for(e.push(l),f+=l.byteLength,h+=d.decode(l,{stream:!0});-1!==(a=h.indexOf("\n"));){let b=h.slice(0,a).trim();if(h=h.slice(a+1),s(b)){i=!0;break}}if(i)break;if(f>=262144){i=!0;break}}}catch{i=!1}finally{l&&clearTimeout(l)}return i?{hasContent:!0,body:new ReadableStream({start(a){for(let b of e)a.enqueue(b);e.length=0,j&&a.close()},async pull(a){if(!j)try{let{done:b,value:d}=await c.read();if(b){j=!0,a.close();return}a.enqueue(d)}catch(b){a.error(b)}},cancel(a){c.cancel(a).catch(()=>{})}})}:(await c.cancel().catch(()=>{}),{hasContent:!1,body:null})}function w(a){let b=a[a.length-1];return b?.role!=="assistant"&&b?.role!=="model"?a:[...a,{role:"user",content:"Continue from where the previous assistant message left off."}]}function x(a){return a.filter(a=>a).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"user",content:`${r}${(0,h.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,h.kU)(c.content)||("string"==typeof c.content?c.content:"");return{...c,content:`${e}${e?"\n":""}${q}${d}]`}}if(Array.isArray(a.content)){let b=a.content.some(a=>"tool_use"===a.type),c=a.content.some(a=>"tool_result"===a.type);if(b||c){let b=[],c=[],d=[];for(let e of a.content)"text"===e.type&&e.text&&b.push(e.text),"tool_use"===e.type&&c.push(e.name||"tool"),"tool_result"===e.type&&d.push((0,h.kU)(e.content)||String(e.content??""));let{...e}=a,f=b.join("\n");return c.length>0&&(f=`${f}${f?"\n":""}${q}${c.join(", ")}]`),d.length>0&&(f=`${f}${f?"\n":""}${r}${d.join("\n")}]`),{...e,content:f}}}return a})}let y=new Map;function z(a){if(!Array.isArray(a)||0===a.length)return[];let b=a=>"assistant"===a||"model"===a,c=a.length-1;for(;c>=0&&!b(a[c]?.role);)c--;return a.slice(c+1)}function A(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{"string"==typeof a&&(a.startsWith("image/")?b.add("vision"):a.startsWith("audio/")?b.add("audioInput"):"application/pdf"===a&&b.add("pdf"))},d=a=>{if(!a||"object"!=typeof a)return;let c=a.type;("image_url"===c||"image"===c||"input_image"===c)&&b.add("vision"),("file"===c||"document"===c||"input_file"===c)&&b.add("pdf");let d=a.inlineData?.mimeType||a.fileData?.mimeType;"string"==typeof d&&d.startsWith("image/")&&b.add("vision"),"application/pdf"===d&&b.add("pdf")},e=a=>{if(Array.isArray(a))for(let b of a)d(b)},f=a=>{if(!a||"object"!=typeof a)return;Array.isArray(a.images)&&a.images.length>0&&b.add("vision");let d=a.experimental_attachments||a.attachments;if(Array.isArray(d))for(let a of d){if(!a)continue;let d=a.contentType||a.mediaType||"string"==typeof a.url&&a.url.match(/^data:([^;,]+)/)?.[1];d?c(d):(a.url||a.data)&&b.add("vision")}(a.image_url||a.image)&&b.add("vision"),(a.audio_url||a.audio)&&b.add("audioInput"),e(a.content),"string"==typeof a.content&&(a.content.includes("data:image/")?b.add("vision"):a.content.includes("data:audio/")?b.add("audioInput"):a.content.includes("data:application/pdf")&&b.add("pdf"))};for(let b of z(a.messages))f(b);for(let b of z(a.input))e(b.content);for(let b of z(a.contents||a.request?.contents))e(b.parts);return b}function B(a,b,c,d=1,e=null){let f;if("weighted"===c&&Array.isArray(e)&&e.length>1)return e.map(a=>({m:a,key:Math.pow(Math.random(),1/(a.weight||1))})).sort((a,b)=>b.key-a.key).map(a=>a.m).map(a=>a.id);if("weighted"===c&&a&&a.length>1)return[...a].sort(()=>Math.random()-.5);if(!a||a.length<=1||"round-robin"!==c)return a;let g=b||"__default__",h=Number.isFinite(f=Number.parseInt(d,10))&&f>0?f:1,i=y.get(g),j="number"==typeof i?{index:i,consecutiveUseCount:0}:i||{index:0,consecutiveUseCount:0},k=j.index%a.length,l=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,k),m=j.consecutiveUseCount+1;return m>=h?y.set(g,{index:(k+1)%a.length,consecutiveUseCount:0}):y.set(g,{index:k,consecutiveUseCount:m}),l}function C(a){a?y.delete(a):y.clear()}function D(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function E({body:a,models:b,members:c,policy:h,handleSingleModel:j,log:q,comboName:r,comboStrategy:s,comboStickyLimit:t=1,autoSwitch:u=!0}){let w=Array.isArray(c)&&c.length>0?c.map(a=>"string"==typeof a?{id:a,weight:1}:a&&"string"==typeof a.id?{id:a.id,weight:Number.isFinite(a.weight)&&a.weight>0?a.weight:1,retryOn:a.retryOn,skipOn:a.skipOn,timeoutMs:a.timeoutMs}:null).filter(Boolean):Array.isArray(b)?b.map(a=>({id:a,weight:1})):[],x=B(w.length?w.map(a=>a.id):b,r,s,h?.sticky??t,w.length?w:null),y=null;if(w.length){let a=new Map(w.map(a=>[a.id,a]));y=x.map(b=>a.get(b)).filter(Boolean)}if(u){let b=A(a);if(b.size>0){let a=function(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>p.has(a)),d=[...b].filter(a=>!p.has(a));return a.map((a,b)=>{let e,g,h,i;return{m:a,i:b,t:(g=(e="string"==typeof a?a.indexOf("/"):-1)>0?a.slice(0,e):"",h=e>0?a.slice(e+1):a,i=(0,f.getCapabilitiesForModel)(g,h),c.every(a=>!0===i[a])?+!d.every(a=>!0===i[a]):2)}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m)}(x,b);a[0]!==x[0]&&q.info("COMBO",`auto-switch for [${[...b].join(",")}] → ${a[0]}`),x=a}}let z=null,C=null,D=null;for(let b=0;b<x.length;b++){let c=x[b];q.info("COMBO",`Trying model ${b+1}/${x.length}: ${c}`);try{let e=await j(a,c);if(e.ok){let{hasContent:d,body:f}=await v(e);if(!d){z="provider returned an empty stream",D||(D=503),q.warn("COMBO",`Model ${c} returned an empty stream, trying next`);continue}let h=f?new Response(f,{status:e.status,statusText:e.statusText,headers:e.headers}):e,i="fallback"===s||void 0===s&&Array.isArray(a?.tools)&&a.tools.length>0?await k(h,a):h;if(i)return q.info("COMBO",`Model ${c} succeeded`),function({comboName:a,selectedModel:b,attemptedModels:c=[]},d){let e,f;if(!(d instanceof Response))return d;let h=g.Qn.headers,i=m(a),j=(f=(e=m(b)).indexOf("/"))>0?{leaf:e,provider:e.slice(0,f),model:e.slice(f+1)}:{leaf:e,provider:"",model:e},k=n(d.headers.get(h.routePath)),p=m(d.headers.get(h.resolvedProvider))||j.provider||"unknown",q=m(d.headers.get(h.resolvedModel))||j.model,r=o(c.map(m)),s=n(d.headers.get(h.attemptedModels)),t=Number.parseInt(d.headers.get(h.fallbackCount)||"0",10);var u={[h.requestedModel]:i,[h.routePath]:o([i,...k.length?k:[j.leaf]]).join(","),[h.resolvedProvider]:p,[h.resolvedModel]:q,[h.fallbackCount]:Math.max(0,Number.isFinite(t)?t:0)+Math.max(0,r.length-1),[h.attemptedModels]:o([...r,...s]).join(",")};if(!(d instanceof Response))return d;let v=new Headers(d.headers);for(let[a,b]of Object.entries(u))v.set(a,String(b));return v.set("Access-Control-Expose-Headers",o([...n(v.get("Access-Control-Expose-Headers")),...l]).join(", ")),new Response(d.body,{status:d.status,statusText:d.statusText,headers:v})}({comboName:r||a?.model,selectedModel:c,attemptedModels:x.slice(0,b+1)},i);z="Response ended before its first actionable event",D||(D=502),q.warn("COMBO",`Model ${c} produced no action, trying next`);continue}let f=e.statusText||"",p=null;try{let a=await e.clone().json();f=a?.error?.message||a?.error||a?.message||f,p=a?.retryAfter||null}catch{}if(p&&(!C||new Date(p)<new Date(C))&&(C=p),"string"!=typeof f)try{f=JSON.stringify(f)}catch{f=String(f)}let t=y?y[b]:null,{shouldFallback:u,cooldownMs:w}=function(a,b,c,e){let f=(b||"").toLowerCase();if(e?.skipOn){let b=e.skipOn;if(Array.isArray(b.statuses)&&b.statuses.includes(a)||Array.isArray(b.texts)&&b.texts.some(a=>f.includes(String(a).toLowerCase())))return{shouldFallback:!1,cooldownMs:0}}if(e?.retryOn){let c=e.retryOn;if(Array.isArray(c.statuses)&&c.statuses.includes(a)||Array.isArray(c.texts)&&c.texts.some(a=>f.includes(String(a).toLowerCase())))return(0,d.hk)(a,b);if(c.statuses&&c.statuses.length||c.texts&&c.texts.length)return{shouldFallback:!1,cooldownMs:0}}if(c?.triggers){let e=c.triggers;if(e.fatal&&(Array.isArray(e.fatal.statuses)&&e.fatal.statuses.includes(a)||Array.isArray(e.fatal.texts)&&e.fatal.texts.some(a=>f.includes(String(a).toLowerCase()))))return{shouldFallback:!1,cooldownMs:0};if(e.retryable){if(Array.isArray(e.retryable.statuses)&&e.retryable.statuses.includes(a)||Array.isArray(e.retryable.texts)&&e.retryable.texts.some(a=>f.includes(String(a).toLowerCase())))return(0,d.hk)(a,b);if(e.retryable.statuses&&e.retryable.statuses.length||e.retryable.texts&&e.retryable.texts.length)return{shouldFallback:!1,cooldownMs:0}}}return(0,d.hk)(a,b)}(e.status,f,h,t),A=w;if(h?.perHopCooldownMs&&Number.isFinite(h.perHopCooldownMs)&&(A=Math.min(A,h.perHopCooldownMs)),h?.maxHops&&b+1>=h.maxHops)return q.warn("COMBO",`Model ${c} failed - maxHops ${h.maxHops} reached`,{status:e.status}),e;if(!u)return q.warn("COMBO",`Model ${c} failed (no fallback)`,{status:e.status}),e;A&&A>0&&A<=5e3&&(503===e.status||502===e.status||504===e.status)&&(q.info("COMBO",`Model ${c} transient ${e.status}, waiting ${A}ms before next`),await new Promise(a=>setTimeout(a,A))),z=f||String(e.status),D=e.status,q.warn("COMBO",`Model ${c} failed, trying next`,{status:e.status});let B=c.includes("/")?c.slice(0,c.indexOf("/")):"unknown",E=c.includes("/")?c.slice(c.indexOf("/")+1):c;(0,i.QB)({endpoint:"/v1/chat/completions",provider:B,model:E,connectionId:`combo-${r||c}`,comboName:r||null,statusCode:e.status,errorMessage:f||e.statusText,request:null,providerRequest:null,providerResponse:null,meta:{fallback:!0,retryAfter:p,retryAfterHuman:p?(0,d.Qo)(p):null,latency:{}}}).catch(()=>{})}catch(a){z=a.message||String(a),D=500,q.warn("COMBO",`Model ${c} threw error, trying next`,{error:z})}}let F=z&&z.toLowerCase().includes("no credentials")?503:(0,e.fP)(D||503,z),G=z||"All combo models unavailable";if(C){let a=(0,d.Qo)(C);return q.warn("COMBO",`All models failed | ${F} | ${G} (${a})`),(0,e.wO)(F,G,C,a)}return q.warn("COMBO",`All models failed | ${G}`),new Response(JSON.stringify({error:{message:G}}),{status:F,headers:{"Content-Type":"application/json"}})}let F={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};async function G({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g}){var i;let j,k,l=Array.isArray(b)?b.filter(Boolean):[];if(0===l.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===l.length)return c(a,l[0]);let m={...F,...g||{}},n=Math.min(Math.max(2,m.minPanel),l.length),o=f&&f.trim()?f.trim():l[0];d.info("FUSION",`Combo "${e}" | panel=${l.length} [${l.join(", ")}] | judge=${o} | quorum=${n}`);let{tools:p,tool_choice:q,stream_options:r,...s}=a,t={...s,stream:!1};Array.isArray(t.messages)?t.messages=w(x(t.messages)):Array.isArray(t.input)&&(t.input=w(x(t.input)));let u=Date.now(),v=l.map(a=>{var b,d;return b=c(t,a,!0),d=m.panelHardTimeoutMs,new Promise(a=>{let c=setTimeout(()=>a({__timeout:!0}),d);Promise.resolve(b).then(b=>{clearTimeout(c),a(b)}).catch(b=>{clearTimeout(c),a({__error:b})})})}),y=await function(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d}){return new Promise(e=>{let f=Array(a.length),g=0,h=0,i=!1,j=null,k=()=>{i||(i=!0,clearTimeout(l),j&&clearTimeout(j),e(f))},l=setTimeout(k,d);a.forEach((d,e)=>{Promise.resolve(d).then(a=>{f[e]=a}).catch(a=>{f[e]={__error:a}}).finally(()=>{if(g++,f[e]&&f[e].ok&&h++,g===a.length)return k();h>=b&&!j&&(j=setTimeout(k,c))})})})}(v,{...m,minPanel:n});d.info("FUSION",`fan-out collected in ${Date.now()-u}ms`);let z=[];for(let a=0;a<y.length;a++){let b=y[a],c=l[a];if(!b){d.warn("FUSION",`Panel ${c} dropped (straggler/timeout)`);continue}if(b.__timeout){d.warn("FUSION",`Panel ${c} timed out`);continue}if(b.__error){d.warn("FUSION",`Panel ${c} threw`,{error:b.__error?.message||String(b.__error)});continue}if(!b.ok){d.warn("FUSION",`Panel ${c} failed`,{status:b.status});continue}try{let a=await b.clone().json(),e=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=b.message??b.delta??{},c=(0,h.kU)(a.content);if(c.trim())return c;if("string"==typeof b.text&&b.text.trim())return b.text}let c=(0,h.kU)(a.content);if(c.trim())return c;let d=a.candidates?.[0]?.content?.parts;if(Array.isArray(d)){let a=d.map(a=>a?.text||"").join("");if(a.trim())return a}if(Array.isArray(a.output)){let b=a.output.flatMap(a=>Array.isArray(a.content)?a.content.map(a=>a?.text||""):[]).join("");if(b.trim())return b}return""}(a);e?(z.push({model:c,text:e}),d.info("FUSION",`Panel ${c} ok (${e.length} chars)`)):d.warn("FUSION",`Panel ${c} returned empty content`)}catch(a){d.warn("FUSION",`Panel ${c} unparseable`,{error:a.message||String(a)})}}if(0===z.length)return d.warn("FUSION","All panel models failed"),new Response(JSON.stringify({error:{message:"All fusion panel models failed"}}),{status:503,headers:{"Content-Type":"application/json"}});if(1===z.length)return d.info("FUSION",`Only ${z[0].model} succeeded — answering directly (no fusion)`),c(a,z[0].model);let A=(j=z.map((a,b)=>`[Source ${b+1}]
|
|
1
|
+
"use strict";exports.id=7362,exports.ids=[4989,7362],exports.modules={47370:(a,b,c)=>{c.d(b,{BY:()=>d.BY,E5:()=>d.E5,QB:()=>d.QB,SL:()=>d.SL,Zx:()=>d.Zx,_V:()=>d._V,j$:()=>d.j$,ox:()=>d.ox,rg:()=>d.rg,sZ:()=>d.sZ,uw:()=>d.uw,wV:()=>d.wV});var d=c(33079)},57362:(a,b,c)=>{c.d(b,{t8:()=>C,Vu:()=>F,Ao:()=>D,Pr:()=>G,vt:()=>I,UP:()=>E});var d=c(49263),e=c(89865),f=c(11847),g=c(60290),h=c(48644),i=c(47370);function j(a,b){if(!a||"object"!=typeof a||!b)return!1;let c=a.name||a.function?.name;return"string"==typeof c&&c===b}async function k(a,b){let c;if(!a?.body||!a.headers.get("content-type")?.toLowerCase().includes("text/event-stream"))return a;let{firstActionTimeoutMs:d,maxBytes:e}=(0,g.Ur)(),f=a.body.getReader(),h=new TextDecoder,i=[],k=0,l="",m=function(a){let b=a?.tool_choice;if(!b||"object"!=typeof b||Array.isArray(b)||!["custom","function","tool"].includes(b.type))return"";let c=b.name||b.function?.name;return"string"==typeof c?c.trim():""}(b),n=new Promise(a=>{c=setTimeout(()=>a({timedOut:!0}),d)});try{for(;;){let b=await Promise.race([f.read(),n]);if(b.timedOut)return await f.cancel("combo first-action timeout").catch(()=>{}),null;if(b.done)return await f.cancel("combo response ended before first action").catch(()=>{}),null;i.push(b.value),k+=b.value.byteLength,l+=h.decode(b.value,{stream:!0});let c=function(a,b=""){let c=/\r\n\r\n|\n\n|\r\r/g,d=0,e=!1;for(let f=c.exec(a);f;f=c.exec(a))e||=function(a,b=""){if(b)return function(a,b){let{event:c="",payload:d}=a||{};return!!d&&!!b&&("response.output_item.added"===c||"response.output_item.done"===c?j(d.item,b):"content_block_start"===c?j(d.content_block,b):"response.completed"===c?d.response?.output?.some(a=>j(a,b))===!0:d.choices?.some(a=>j(a?.delta?.function_call,b)||a?.delta?.tool_calls?.some(a=>j(a,b)))===!0)}(a,b);let{event:c="",payload:d}=a||{};return!!(("response.output_text.delta"===c||"response.refusal.delta"===c)&&d?.delta||"response.output_item.added"===c&&["function_call","custom_tool_call"].includes(d?.item?.type)||"content_block_start"===c&&d?.content_block?.type==="tool_use"||"content_block_delta"===c&&(d?.delta?.type==="text_delta"&&d.delta.text||d?.delta?.type==="input_json_delta"&&d.delta.partial_json||d?.delta?.type==="thinking_delta"&&d.delta.thinking||d?.delta?.thinking)||d?.candidates?.[0]?.content?.parts?.some(a=>a?.text||a?.functionCall||a?.inlineData)||d?.message?.content||d?.response||d?.message?.tool_calls?.length||d?.usage?.completion_tokens>0||d?.usage?.output_tokens>0||d?.response?.usage?.output_tokens>0)||d?.choices?.some(a=>"string"==typeof a?.delta?.content&&a.delta.content.length>0||"string"==typeof a?.delta?.reasoning_content&&a.delta.reasoning_content.length>0||"string"==typeof a?.delta?.reasoning&&a.delta.reasoning.length>0||Array.isArray(a?.delta?.tool_calls)&&a.delta.tool_calls.length>0||!!a?.delta?.function_call)===!0}(function(a){let b="",c=[];for(let d of a.split(/\r\n|\n|\r/))d.startsWith("event:")&&(b=d.slice(6).trim()),d.startsWith("data:")&&c.push(d.slice(5).trimStart());if(0===c.length||"[DONE]"===c.join("\n"))return null;try{let a=JSON.parse(c.join("\n"));return{event:b||a?.type||"",payload:a}}catch{return null}}(a.slice(d,f.index)),b),d=f.index+f[0].length;return{actionable:e,remainder:a.slice(d)}}(l,m);if(l=c.remainder,c.actionable||k>e)return function(a,b,c){let d=!1;return new Response(new ReadableStream({start(a){for(let b of c)a.enqueue(b)},async pull(a){if(!d)try{let{done:c,value:e}=await b.read();c?(d=!0,a.close()):a.enqueue(e)}catch(b){d=!0,a.error(b)}},async cancel(a){d=!0,await b.cancel(a)}}),{status:a.status,statusText:a.statusText,headers:a.headers})}(a,f,i)}}catch{return await f.cancel("combo pre-action read failed").catch(()=>{}),null}finally{clearTimeout(c)}}let l=Object.values(g.Qn.headers);function m(a){return String(a||"").trim().replace(/[^A-Za-z0-9._:/-]+/g,"-").slice(0,g.Qn.maxTokenLength)}function n(a){return String(a||"").split(",").map(m).filter(Boolean)}function o(a){return[...new Set(a.filter(Boolean))].slice(0,g.Qn.maxAttempts)}c(67677);let p=new Set(["vision","pdf","audioInput","videoInput"]),q="[Called tools: ",r="[Tool result: ";function s(a){let b;if(!a.startsWith("data:"))return!1;let c=a.slice(5).trim();if(!c||"[DONE]"===c)return!1;try{b=JSON.parse(c)}catch{return!1}if(u(b.usage)||u(b.response?.usage))return!0;let d=b.choices?.[0]?.delta;if(t(d?.content)||t(d?.reasoning_content)||t(d?.reasoning)||d?.tool_calls?.length||d?.function_call)return!0;if("content_block_delta"===b.type){let a=b.delta;if(t(a?.text)||t(a?.partial_json)||t(a?.thinking))return!0}if("content_block_start"===b.type&&b.content_block?.type==="tool_use"||"string"==typeof b.type&&b.type.endsWith(".delta")&&t(b.delta))return!0;let e=b.candidates?.[0]?.content?.parts;return!!(Array.isArray(e)&&e.some(a=>t(a?.text)||a?.functionCall||a?.inlineData)||t(b.message?.content)||t(b.response)||b.message?.tool_calls?.length)}function t(a){return"string"==typeof a&&a.length>0}function u(a){if(!a||"object"!=typeof a)return!1;let b=Number(a.completion_tokens??a.output_tokens??a.candidatesTokenCount??0);return Number.isFinite(b)&&b>0}async function v(a,b=g.Z1){if(!(a.headers.get("content-type")||"").toLowerCase().includes("text/event-stream")||!a.body)return{hasContent:!0,body:null};let c=a.body.getReader(),d=new TextDecoder("utf-8",{fatal:!1}),e=[],f=0,h="",i=!1,j=!1,k=Date.now()+b,l=null,m=new Promise(a=>{l=setTimeout(()=>a({timedOut:!0}),b)});try{for(;!i;){let a;if(Date.now()>=k)break;let b=await Promise.race([c.read(),m]);if(b?.timedOut)break;let{done:g,value:l}=b;if(g){j=!0,(h+=d.decode()).trim()&&s(h.trim())&&(i=!0);break}for(e.push(l),f+=l.byteLength,h+=d.decode(l,{stream:!0});-1!==(a=h.indexOf("\n"));){let b=h.slice(0,a).trim();if(h=h.slice(a+1),s(b)){i=!0;break}}if(i)break;if(f>=262144){i=!0;break}}}catch{i=!1}finally{l&&clearTimeout(l)}return i?{hasContent:!0,body:new ReadableStream({start(a){for(let b of e)a.enqueue(b);e.length=0,j&&a.close()},async pull(a){if(!j)try{let{done:b,value:d}=await c.read();if(b){j=!0,a.close();return}a.enqueue(d)}catch(b){a.error(b)}},cancel(a){c.cancel(a).catch(()=>{})}})}:(await c.cancel().catch(()=>{}),{hasContent:!1,body:null})}function w(a){let b=a[a.length-1];return b?.role!=="assistant"&&b?.role!=="model"?a:[...a,{role:"user",content:"Continue from where the previous assistant message left off."}]}function x(a){return a.filter(a=>a).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"user",content:`${r}${(0,h.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,h.kU)(c.content)||("string"==typeof c.content?c.content:"");return{...c,content:`${e}${e?"\n":""}${q}${d}]`}}if(Array.isArray(a.content)){let b=a.content.some(a=>"tool_use"===a.type),c=a.content.some(a=>"tool_result"===a.type);if(b||c){let b=[],c=[],d=[];for(let e of a.content)"text"===e.type&&e.text&&b.push(e.text),"tool_use"===e.type&&c.push(e.name||"tool"),"tool_result"===e.type&&d.push((0,h.kU)(e.content)||String(e.content??""));let{...e}=a,f=b.join("\n");return c.length>0&&(f=`${f}${f?"\n":""}${q}${c.join(", ")}]`),d.length>0&&(f=`${f}${f?"\n":""}${r}${d.join("\n")}]`),{...e,content:f}}}return a})}let y=new Map;function z(a){let b=y.get(a);return!!b&&(!(Date.now()>=b)||(y.delete(a),!1))}let A=new Map;function B(a){if(!Array.isArray(a)||0===a.length)return[];let b=a=>"assistant"===a||"model"===a,c=a.length-1;for(;c>=0&&!b(a[c]?.role);)c--;return a.slice(c+1)}function C(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{"string"==typeof a&&(a.startsWith("image/")?b.add("vision"):a.startsWith("audio/")?b.add("audioInput"):"application/pdf"===a&&b.add("pdf"))},d=a=>{if(!a||"object"!=typeof a)return;let c=a.type;("image_url"===c||"image"===c||"input_image"===c)&&b.add("vision"),("file"===c||"document"===c||"input_file"===c)&&b.add("pdf");let d=a.inlineData?.mimeType||a.fileData?.mimeType;"string"==typeof d&&d.startsWith("image/")&&b.add("vision"),"application/pdf"===d&&b.add("pdf")},e=a=>{if(Array.isArray(a))for(let b of a)d(b)},f=a=>{if(!a||"object"!=typeof a)return;Array.isArray(a.images)&&a.images.length>0&&b.add("vision");let d=a.experimental_attachments||a.attachments;if(Array.isArray(d))for(let a of d){if(!a)continue;let d=a.contentType||a.mediaType||"string"==typeof a.url&&a.url.match(/^data:([^;,]+)/)?.[1];d?c(d):(a.url||a.data)&&b.add("vision")}(a.image_url||a.image)&&b.add("vision"),(a.audio_url||a.audio)&&b.add("audioInput"),e(a.content),"string"==typeof a.content&&(a.content.includes("data:image/")?b.add("vision"):a.content.includes("data:audio/")?b.add("audioInput"):a.content.includes("data:application/pdf")&&b.add("pdf"))};for(let b of B(a.messages))f(b);for(let b of B(a.input))e(b.content);for(let b of B(a.contents||a.request?.contents))e(b.parts);return b}function D(a,b,c,d=1,e=null){let f;if("weighted"===c&&Array.isArray(e)&&e.length>1)return e.map(a=>({m:a,key:Math.pow(Math.random(),1/(a.weight||1))})).sort((a,b)=>b.key-a.key).map(a=>a.m).map(a=>a.id);if("weighted"===c&&a&&a.length>1)return[...a].sort(()=>Math.random()-.5);if(!a||a.length<=1||"round-robin"!==c)return a;let g=b||"__default__",h=Number.isFinite(f=Number.parseInt(d,10))&&f>0?f:1,i=A.get(g),j="number"==typeof i?{index:i,consecutiveUseCount:0}:i||{index:0,consecutiveUseCount:0},k=j.index%a.length,l=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,k),m=j.consecutiveUseCount+1;return m>=h?A.set(g,{index:(k+1)%a.length,consecutiveUseCount:0}):A.set(g,{index:k,consecutiveUseCount:m}),l}function E(a){a?A.delete(a):A.clear()}function F(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function G({body:a,models:b,members:c,policy:h,handleSingleModel:j,log:q,comboName:r,comboStrategy:s,comboStickyLimit:t=1,autoSwitch:u=!0,isModelLocked:w=null}){let x=Array.isArray(c)&&c.length>0?c.map(a=>"string"==typeof a?{id:a,weight:1}:a&&"string"==typeof a.id?{id:a.id,weight:Number.isFinite(a.weight)&&a.weight>0?a.weight:1,retryOn:a.retryOn,skipOn:a.skipOn,timeoutMs:a.timeoutMs}:null).filter(Boolean):Array.isArray(b)?b.map(a=>({id:a,weight:1})):[],A=D(x.length?x.map(a=>a.id):b,r,s,h?.sticky??t,x.length?x:null),B=null;if(x.length){let a=new Map(x.map(a=>[a.id,a]));B=A.map(b=>a.get(b)).filter(Boolean)}if(u){let b=C(a);if(b.size>0){let a=function(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>p.has(a)),d=[...b].filter(a=>!p.has(a));return a.map((a,b)=>{let e,g,h,i;return{m:a,i:b,t:(g=(e="string"==typeof a?a.indexOf("/"):-1)>0?a.slice(0,e):"",h=e>0?a.slice(e+1):a,i=(0,f.getCapabilitiesForModel)(g,h),c.every(a=>!0===i[a])?+!d.every(a=>!0===i[a]):2)}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m)}(A,b);a[0]!==A[0]&&q.info("COMBO",`auto-switch for [${[...b].join(",")}] → ${a[0]}`),A=a}}let E=function(a,b=z){if(!Array.isArray(a)||a.length<=1)return a;let c=[],d=[];for(let e of a)b&&b(e)?d.push(e):c.push(e);return d.length>0&&c.length>0?[...c,...d]:a}(A,a=>z(a)||"function"==typeof w&&w(a));E[0]!==A[0]&&q.info("COMBO",`health-floating: [${E[0]}] promoted to front over locked models`),A=E;let F=null,H=null,I=null;for(let b=0;b<A.length;b++){let c=A[b];q.info("COMBO",`Trying model ${b+1}/${A.length}: ${c}`);try{let e=await j(a,c);if(e.ok){let{hasContent:d,body:f}=await v(e);if(!d){F="provider returned an empty stream",I||(I=503),q.warn("COMBO",`Model ${c} returned an empty stream, trying next`);continue}let h=f?new Response(f,{status:e.status,statusText:e.statusText,headers:e.headers}):e,i="fallback"===s||void 0===s&&Array.isArray(a?.tools)&&a.tools.length>0?await k(h,a):h;if(i)return y.delete(c),q.info("COMBO",`Model ${c} succeeded`),function({comboName:a,selectedModel:b,attemptedModels:c=[]},d){let e,f;if(!(d instanceof Response))return d;let h=g.Qn.headers,i=m(a),j=(f=(e=m(b)).indexOf("/"))>0?{leaf:e,provider:e.slice(0,f),model:e.slice(f+1)}:{leaf:e,provider:"",model:e},k=n(d.headers.get(h.routePath)),p=m(d.headers.get(h.resolvedProvider))||j.provider||"unknown",q=m(d.headers.get(h.resolvedModel))||j.model,r=o(c.map(m)),s=n(d.headers.get(h.attemptedModels)),t=Number.parseInt(d.headers.get(h.fallbackCount)||"0",10);var u={[h.requestedModel]:i,[h.routePath]:o([i,...k.length?k:[j.leaf]]).join(","),[h.resolvedProvider]:p,[h.resolvedModel]:q,[h.fallbackCount]:Math.max(0,Number.isFinite(t)?t:0)+Math.max(0,r.length-1),[h.attemptedModels]:o([...r,...s]).join(",")};if(!(d instanceof Response))return d;let v=new Headers(d.headers);for(let[a,b]of Object.entries(u))v.set(a,String(b));return v.set("Access-Control-Expose-Headers",o([...n(v.get("Access-Control-Expose-Headers")),...l]).join(", ")),new Response(d.body,{status:d.status,statusText:d.statusText,headers:v})}({comboName:r||a?.model,selectedModel:c,attemptedModels:A.slice(0,b+1)},i);F="Response ended before its first actionable event",I||(I=502),q.warn("COMBO",`Model ${c} produced no action, trying next`);continue}let f=e.statusText||"",p=null,t=null;try{t=await e.clone().json(),f=t?.error?.message||t?.error||t?.message||f,p=t?.retryAfter||null}catch{}if(p&&(!H||new Date(p)<new Date(H))&&(H=p),"string"!=typeof f)try{f=JSON.stringify(f)}catch{f=String(f)}if(429===e.status||503===e.status||502===e.status||504===e.status){let a=function(a,b,c){if(b?.retryAfter){let a=new Date(b.retryAfter).getTime();if(Number.isFinite(a)&&a>Date.now())return a-Date.now()}let d=Number(a?.headers?.get?.("retry-after"));if(Number.isFinite(d)&&d>0)return 1e3*d;if("string"==typeof c){let a=c.match(/reset after (?:(\d+)h\s*)?(?:(\d+)m\s*)?(?:(\d+)s)?/i);if(a){let b=Number(a[1]||0),c=Number(a[2]||0),d=(3600*b+60*c+Number(a[3]||0))*1e3;if(d>0)return d}}return null}(e,t,f)||6e4;!function(a,b=null,c=6e4){let d=null;if("number"==typeof b&&Number.isFinite(b)&&b>0)d=b>1e12?b:Date.now()+b;else if("string"==typeof b&&b.trim()){let a=new Date(b).getTime();Number.isFinite(a)&&a>Date.now()&&(d=a)}(!d||!Number.isFinite(d)||d<=Date.now())&&(d=Date.now()+c),y.set(a,d)}(c,a)}let u=B?B[b]:null;if(h?.maxHops&&b+1>=h.maxHops)return q.warn("COMBO",`Model ${c} failed - maxHops ${h.maxHops} reached`,{status:e.status}),e;if(h||u){let{shouldFallback:a}=function(a,b,c,e){let f=(b||"").toLowerCase();if(e?.skipOn){let b=e.skipOn;if(Array.isArray(b.statuses)&&b.statuses.includes(a)||Array.isArray(b.texts)&&b.texts.some(a=>f.includes(String(a).toLowerCase())))return{shouldFallback:!1,cooldownMs:0}}if(e?.retryOn){let c=e.retryOn;if(Array.isArray(c.statuses)&&c.statuses.includes(a)||Array.isArray(c.texts)&&c.texts.some(a=>f.includes(String(a).toLowerCase())))return(0,d.hk)(a,b);if(c.statuses&&c.statuses.length||c.texts&&c.texts.length)return{shouldFallback:!1,cooldownMs:0}}if(c?.triggers){let e=c.triggers;if(e.fatal&&(Array.isArray(e.fatal.statuses)&&e.fatal.statuses.includes(a)||Array.isArray(e.fatal.texts)&&e.fatal.texts.some(a=>f.includes(String(a).toLowerCase()))))return{shouldFallback:!1,cooldownMs:0};if(e.retryable){if(Array.isArray(e.retryable.statuses)&&e.retryable.statuses.includes(a)||Array.isArray(e.retryable.texts)&&e.retryable.texts.some(a=>f.includes(String(a).toLowerCase())))return(0,d.hk)(a,b);if(e.retryable.statuses&&e.retryable.statuses.length||e.retryable.texts&&e.retryable.texts.length)return{shouldFallback:!1,cooldownMs:0}}}return(0,d.hk)(a,b)}(e.status,f,h,u);if(!a)return q.warn("COMBO",`Model ${c} failed (no fallback)`,{status:e.status}),e}F=f||String(e.status),I=e.status,q.warn("COMBO",`Model ${c} failed, trying next`,{status:e.status});let w=c.includes("/")?c.slice(0,c.indexOf("/")):"unknown",x=c.includes("/")?c.slice(c.indexOf("/")+1):c;(0,i.QB)({endpoint:"/v1/chat/completions",provider:w,model:x,connectionId:`combo-${r||c}`,comboName:r||null,statusCode:e.status,errorMessage:f||e.statusText,request:null,providerRequest:null,providerResponse:null,meta:{fallback:!0,retryAfter:p,retryAfterHuman:p?(0,d.Qo)(p):null,latency:{}}}).catch(()=>{})}catch(a){F=a.message||String(a),I=500,q.warn("COMBO",`Model ${c} threw error, trying next`,{error:F})}}let J=F&&F.toLowerCase().includes("no credentials")?503:(0,e.fP)(I||503,F),K=F||"All combo models unavailable";if(H){let a=(0,d.Qo)(H);return q.warn("COMBO",`All models failed | ${J} | ${K} (${a})`),(0,e.wO)(J,K,H,a)}return q.warn("COMBO",`All models failed | ${K}`),new Response(JSON.stringify({error:{message:K}}),{status:J,headers:{"Content-Type":"application/json"}})}let H={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};async function I({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g}){var i;let j,k,l=Array.isArray(b)?b.filter(Boolean):[];if(0===l.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===l.length)return c(a,l[0]);let m={...H,...g||{}},n=Math.min(Math.max(2,m.minPanel),l.length),o=f&&f.trim()?f.trim():l[0];d.info("FUSION",`Combo "${e}" | panel=${l.length} [${l.join(", ")}] | judge=${o} | quorum=${n}`);let{tools:p,tool_choice:q,stream_options:r,...s}=a,t={...s,stream:!1};Array.isArray(t.messages)?t.messages=w(x(t.messages)):Array.isArray(t.input)&&(t.input=w(x(t.input)));let u=Date.now(),v=l.map(a=>{var b,d;return b=c(t,a,!0),d=m.panelHardTimeoutMs,new Promise(a=>{let c=setTimeout(()=>a({__timeout:!0}),d);Promise.resolve(b).then(b=>{clearTimeout(c),a(b)}).catch(b=>{clearTimeout(c),a({__error:b})})})}),y=await function(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d}){return new Promise(e=>{let f=Array(a.length),g=0,h=0,i=!1,j=null,k=()=>{i||(i=!0,clearTimeout(l),j&&clearTimeout(j),e(f))},l=setTimeout(k,d);a.forEach((d,e)=>{Promise.resolve(d).then(a=>{f[e]=a}).catch(a=>{f[e]={__error:a}}).finally(()=>{if(g++,f[e]&&f[e].ok&&h++,g===a.length)return k();h>=b&&!j&&(j=setTimeout(k,c))})})})}(v,{...m,minPanel:n});d.info("FUSION",`fan-out collected in ${Date.now()-u}ms`);let z=[];for(let a=0;a<y.length;a++){let b=y[a],c=l[a];if(!b){d.warn("FUSION",`Panel ${c} dropped (straggler/timeout)`);continue}if(b.__timeout){d.warn("FUSION",`Panel ${c} timed out`);continue}if(b.__error){d.warn("FUSION",`Panel ${c} threw`,{error:b.__error?.message||String(b.__error)});continue}if(!b.ok){d.warn("FUSION",`Panel ${c} failed`,{status:b.status});continue}try{let a=await b.clone().json(),e=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=b.message??b.delta??{},c=(0,h.kU)(a.content);if(c.trim())return c;if("string"==typeof b.text&&b.text.trim())return b.text}let c=(0,h.kU)(a.content);if(c.trim())return c;let d=a.candidates?.[0]?.content?.parts;if(Array.isArray(d)){let a=d.map(a=>a?.text||"").join("");if(a.trim())return a}if(Array.isArray(a.output)){let b=a.output.flatMap(a=>Array.isArray(a.content)?a.content.map(a=>a?.text||""):[]).join("");if(b.trim())return b}return""}(a);e?(z.push({model:c,text:e}),d.info("FUSION",`Panel ${c} ok (${e.length} chars)`)):d.warn("FUSION",`Panel ${c} returned empty content`)}catch(a){d.warn("FUSION",`Panel ${c} unparseable`,{error:a.message||String(a)})}}if(0===z.length)return d.warn("FUSION","All panel models failed"),new Response(JSON.stringify({error:{message:"All fusion panel models failed"}}),{status:503,headers:{"Content-Type":"application/json"}});if(1===z.length)return d.info("FUSION",`Only ${z[0].model} succeeded — answering directly (no fusion)`),c(a,z[0].model);let A=(j=z.map((a,b)=>`[Source ${b+1}]
|
|
2
2
|
${a.text}`).join("\n\n"),i=[`You are the JUDGE in a model-fusion panel. ${z.length} expert models independently answered the user's most recent request. Their responses are below, anonymized by source.`,"\nDo NOT mention that multiple models were used, and do NOT refer to the sources. Produce ONE authoritative final answer addressed directly to the user.\n\nFirst, internally analyze the panel along these dimensions: consensus (points most sources agree on — treat as higher-confidence), contradictions (where they disagree — resolve with your own judgment), partial coverage, unique insights only one source surfaced, and blind spots every source missed. Then write the best possible final answer grounded in that analysis — more complete and correct than any single response, with no filler.\n\n=== PANEL RESPONSES ===",j,"=== END PANEL RESPONSES ===\n\nNow write the final answer to the user's original request."].join("\n"),k={...a},Array.isArray(a.messages)?k.messages=[...a.messages,{role:"user",content:i}]:Array.isArray(a.input)?k.input=[...a.input,{role:"user",content:i}]:Array.isArray(a.contents)?k.contents=[...a.contents,{role:"user",parts:[{text:i}]}]:k.messages=[{role:"user",content:i}],k);return d.info("FUSION",`Judging ${z.length} answers with ${o}`),c(A,o)}}};
|