@jheavenknows/bluerouter 5.1.18 → 5.1.19
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 +10 -10
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +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.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.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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.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/media-providers/[kind]/[id]/page_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- 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/personalcloudprovider/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +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/prompt-logs/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_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_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +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.nft.json +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.nft.json +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/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +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/copilot-settings/route.js.nft.json +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/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/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.nft.json +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.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.nft.json +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.nft.json +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.nft.json +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/import/route.js.nft.json +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/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +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-health/route.js.nft.json +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.nft.json +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]/route.js.nft.json +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.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/test-batch/route.js.nft.json +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.nft.json +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +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/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/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.nft.json +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.nft.json +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.nft.json +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.nft.json +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/tunnel/tailscale-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +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.nft.json +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/providers/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +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/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- 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/analytics.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- 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 +1 -1
- 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 +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- 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 +1 -1
- 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 +5 -5
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- 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/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +10 -10
- package/app/.next-cli-build/server/chunks/2338.js +1 -1
- package/app/.next-cli-build/server/chunks/3110.js +1 -1
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/6328.js +1 -1
- package/app/.next-cli-build/server/chunks/6939.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +2 -2
- package/app/.next-cli-build/server/chunks/9434.js +1 -1
- package/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- 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/chunks/{5263-01e6f77db1ae9e74.js → 5263-79f7a776783f38a3.js} +1 -1
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.1.13-to-5.1.15-5.1.15-20260714-160358 → upgrade-5.1.17-to-5.1.18-5.1.18-20260714-172312}/data.sqlite +0 -0
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/upgrade-5.1.17-to-5.1.18-5.1.18-20260714-172313/data.sqlite +0 -0
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- /package/app/.next-cli-build/static/{8J9JlrrNq8jxjoOOvHSrQ → dP4mU6SZHcAtMDatjT1m8}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{8J9JlrrNq8jxjoOOvHSrQ → dP4mU6SZHcAtMDatjT1m8}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6939,exports.ids=[6939,9614],exports.modules={11893:(a,b,c)=>{c.d(b,{Fg:()=>C,Gc:()=>z,OF:()=>y,OI:()=>s,ZL:()=>A,h6:()=>D,kb:()=>B});let d={maxInFlightPerTarget:Number(process.env.PROVIDER_HEALTH_MAX_IN_FLIGHT||2),failureThreshold:Number(process.env.PROVIDER_HEALTH_FAILURE_THRESHOLD||2),recoverySuccessThreshold:Number(process.env.PROVIDER_HEALTH_RECOVERY_SUCCESSES||2),degradedLatencyMs:Number(process.env.PROVIDER_HEALTH_DEGRADED_LATENCY_MS||15e3),baseCooldownMs:Number(process.env.PROVIDER_HEALTH_BASE_COOLDOWN_MS||3e4),maxCooldownMs:Number(process.env.PROVIDER_HEALTH_MAX_COOLDOWN_MS||3e5)},e=new Map,f=new Map,g=0;function h(){return Date.now()}function i(a){return String(a||"").trim()}function j(a,b){let c=Number(a);return Number.isFinite(c)&&c>0?c:b}function k(a){return"string"==typeof a?a:a&&"object"==typeof a&&(a.model||a.value||a.id)||""}function l(a){return a&&"object"==typeof a?i(a.connectionId||a.connection_id||a.accountId):""}function m(a){return"string"==typeof a?a:a&&"object"==typeof a?i(a.label||a.displayName||a.name||k(a)):""}function n(a){let b=a?.tags||a?.labels||a?.routingTags||[];return Array.isArray(b)?b.map(a=>i(a)).filter(Boolean):"string"==typeof b?b.split(/[\n,;\s]+/).map(a=>i(a)).filter(Boolean):b&&"object"==typeof b?Object.entries(b).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?i(a):`${i(a)}:${i(b)}`).filter(Boolean):[]}function o(a){let b=k(a),c=l(a);return b?c?`${c}::${b}`:b:""}function p(a={}){return i(a.endpoint||a.baseUrl||a.baseURL||a.base_url||a.providerUrl||a.provider_url||a.url)}function q(a={}){let b=o(a),c=h();return{key:b,state:"available",circuit:"closed",mode:"passive-runtime",connectionId:l(a),provider:i(a.provider),providerLabel:i(a.providerLabel||a.accountName||a.account_name||a.label),label:m(a),model:k(a),endpoint:p(a),tags:n(a),lastCheckedAt:0,lastRequestAt:0,lastOkAt:0,lastFailAt:0,latencyMs:0,avgLatencyMs:0,consecutiveFailures:0,consecutiveSuccesses:0,failures:0,successes:0,inFlight:0,halfOpenInFlight:0,cooldownUntil:0,cooldownMs:d.baseCooldownMs,modelAvailable:!0,lastError:"",updatedAt:c}}function r(a){let b=o(a);if(!b)return null;g||(g=h());let c=function(a,b={}){let c={...a||q(b)};return c.connectionId=c.connectionId||l(b),c.provider=i(b.provider)||c.provider,c.providerLabel=i(b.providerLabel||b.accountName||b.account_name||b.label)||c.providerLabel,c.label=m(b)||c.label,c.model=k(b)||c.model,c.endpoint=p(b)||c.endpoint,c.tags=n(b).length?n(b):c.tags||[],c.mode="passive-runtime",c.updatedAt=h(),c}(e.get(b),a);return e.set(b,c),f.set(b,{...f.get(b)||{},...a,key:b}),c}function s(a=[]){for(let b of a||[])r(b)}function t(){let a=h();for(let b of e.values())"open"===b.circuit&&b.cooldownUntil&&b.cooldownUntil<=a&&(b.circuit="half_open",b.halfOpenInFlight=0,b.updatedAt=a,e.set(b.key,b))}function u(a){return a?.circuit==="open"&&a.cooldownUntil>h()}function v(a){return a?.circuit==="half_open"&&(a.halfOpenInFlight||0)>0}function w(a){let b=Number(a?.maxInFlight||a?.maxInFlightPerTarget);return Number.isFinite(b)&&b>0?b:j(d.maxInFlightPerTarget,2)}function x(a){let b=o(a),c=b&&e.get(b)||q(a),d=w(a);if(u(c))return 9e3;if(v(c))return 8e3;if((c.inFlight||0)>=d)return 7e3;let f=500;return"half_open"===c.circuit&&(f-=50),"healthy"===c.state&&(f-=300),("unknown"===c.state||"available"===c.state)&&(f-=20),"degraded"===c.state&&(f+=300),"overloaded"===c.state&&(f+=700),("down"===c.state||"model_unavailable"===c.state)&&(f+=1200),f+=Math.min(c.avgLatencyMs||c.latencyMs||0,3e4)/100+150*(c.inFlight||0)+400*(c.consecutiveFailures||0)}function y(a=[],b="",c={}){let d=function(a,b={}){let c=b?.[a]||b?.[String(a||"").split("/").pop()]||[];return Array.isArray(c)?c.map(a=>i(a)).filter(Boolean):"string"==typeof c?c.split(/[\n,;]+/).map(a=>i(a)).filter(Boolean):[]}(b,c);if(!d.length)return[...a||[]];let e=d.map(a=>a.toLowerCase());return(a||[]).filter(a=>{let b=n(a).map(a=>a.toLowerCase());return e.every(a=>b.includes(a))})}function z(a=[],b={}){t();let c=[...a||[]];if(b.modelTagRules){let a=y(c,b.model,b.modelTagRules);a.length&&(c=a)}if(c.length<=1)return c;let d=[],f=[];for(let a of c){let b=e.get(o(a))||null,c=w(a);b&&(u(b)||v(b)||(b.inFlight||0)>=c||"model_unavailable"===b.state)?f.push(a):d.push(a)}if(b.preserveOrder)return d.length?b.includeSkippedAtEnd?[...d,...f]:d:c;let g=d.sort((a,b)=>x(a)-x(b));return g.length?b.includeSkippedAtEnd?[...g,...f.sort((a,b)=>x(a)-x(b))]:g:c}function A(a=[],b={}){let c=z(a,{...b,includeSkippedAtEnd:!0}),d=c.slice(0,Math.min(2,c.length));if(c.length>2){let a=c[Math.floor(Math.random()*c.length)],b=c[Math.floor(Math.random()*c.length)];if(c.length>1){let d=0;for(;b===a&&d<5;)b=c[Math.floor(Math.random()*c.length)],d+=1}let d=[a,b].filter(Boolean).sort((a,b)=>x(a)-x(b)),e=c.filter(a=>!d.includes(a));return[...d,...e]}return d}function B(a){t();let b=r(a);if(!b)return{skipped:!1,end:()=>{}};let c=w(a);if(u(b))return{skipped:!0,reason:"circuit_open",state:b};if(v(b))return{skipped:!0,reason:"half_open_probe_busy",state:b};if((b.inFlight||0)>=c)return{skipped:!0,reason:"in_flight_full",state:b};b.inFlight=(b.inFlight||0)+1,b.lastRequestAt=h(),"half_open"===b.circuit&&(b.halfOpenInFlight=(b.halfOpenInFlight||0)+1),b.updatedAt=h(),e.set(b.key,b);let d=!1;return{skipped:!1,state:b,end:()=>{if(d)return;d=!0;let a=e.get(b.key);a&&(a.inFlight=Math.max(0,(a.inFlight||0)-1),"half_open"===a.circuit&&(a.halfOpenInFlight=Math.max(0,(a.halfOpenInFlight||0)-1)),a.updatedAt=h(),e.set(a.key,a))}}}function C(a,b=null){let c;if(function(a={}){let b=Number(a?.status||a?.statusCode||0);return!!(a?.healthFailed||a?.forceFailure||a?.error||a?.exception||a?.timeout||b>=400)}(a))return D(a,function(a={}){let b=Number(a?.status||a?.statusCode||0);return a?.error?a.error:a?.exception?a.exception:a?.timeout?{message:"timeout",code:"TIMEOUT"}:b>=400?{status:b,message:a?.statusText||"request_failed"}:{message:"request_failed"}}(a));let f=r(a);if(!f)return null;let g=h();Number.isFinite(c=Number(b))&&!(c<0)&&(f.latencyMs=c,f.avgLatencyMs=f.avgLatencyMs?Math.round(.8*f.avgLatencyMs+.2*c):c),f.successes=(f.successes||0)+1,f.consecutiveSuccesses=(f.consecutiveSuccesses||0)+1,f.consecutiveFailures=0,f.lastOkAt=g,f.lastRequestAt=g,f.lastError="",f.modelAvailable=!0,f.updatedAt=g;let i=j(d.recoverySuccessThreshold,2);return"open"===f.circuit||"half_open"===f.circuit?f.consecutiveSuccesses>=i?(f.circuit="closed",f.state="healthy",f.cooldownUntil=0,f.cooldownMs=d.baseCooldownMs):(f.circuit="half_open",f.state="recovering",f.cooldownUntil=0):(f.circuit="closed",f.state="healthy",f.cooldownUntil=0),e.set(f.key,f),f}function D(a,b){let c,f,g=r(a);if(!g)return null;let i=h(),k=(c=String(b?.message||b||"").toLowerCase(),404===(f=Number(b?.status||b?.statusCode||b))||c.includes("model_not_found")||c.includes("model not found")?{state:"model_unavailable",cooldownMs:d.maxCooldownMs,error:"model_not_found"}:408===f||429===f||502===f||503===f||504===f||c.includes("timeout")||c.includes("busy")||c.includes("overload")||c.includes("queue")?{state:"overloaded",cooldownMs:d.baseCooldownMs,error:c||String(f||"overloaded")}:c.includes("econnrefused")||c.includes("enotfound")||c.includes("ehostunreach")||c.includes("fetch failed")||c.includes("network")?{state:"down",cooldownMs:d.baseCooldownMs,error:c||"network_error"}:f>=500?{state:"down",cooldownMs:d.baseCooldownMs,error:c||String(f)}:{state:"degraded",cooldownMs:d.baseCooldownMs,error:c||String(f||"provider_error")});g.failures=(g.failures||0)+1,g.consecutiveFailures=(g.consecutiveFailures||0)+1,g.consecutiveSuccesses=0,g.lastFailAt=i,g.lastRequestAt=i,g.lastError=k.error||String(b?.message||b||"request_failed"),g.updatedAt=i,g.modelAvailable="model_unavailable"!==k.state;let l=j(d.failureThreshold,2);return g.consecutiveFailures>=l?(g.state=k.state,g.circuit="open",g.cooldownMs=Math.min(Math.max(k.cooldownMs||d.baseCooldownMs,g.cooldownMs||d.baseCooldownMs),d.maxCooldownMs),g.cooldownUntil=i+g.cooldownMs):(g.state="degraded",g.circuit="closed",g.cooldownUntil=0),e.set(g.key,g),g}},39326:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(71998);let e=new Set(["vercel","cloudflare","deno"]);function f(a){return null==a?"":String(a).trim()}async function g(a={}){try{let b=f(a?.proxyPoolId),c="__none__"===b?"":b,g=function(a={}){let b=a?.connectionProxyEnabled===!0,c=f(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:f(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=f(a?.proxyUrl),g=f(a?.noProxy);if(a&&!0===a.isActive&&b){if(e.has(a.type))return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:g,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:g,strictProxy:!0===a.strictProxy}}}if(g.connectionProxyEnabled&&g.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...g};return{source:"none",proxyPoolId:c||null,proxyPool:null,...g}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},57023:(a,b,c)=>{c.d(b,{JZ:()=>m,VA:()=>l,ce:()=>k,G9:()=>j});let d=[0,1,2,3,4,5,6],e=/^([01]\d|2[0-3]):([0-5]\d)$/;function f(a,b){let c=String(a||"").trim();return e.test(c)?c:b}function g(a){let[b,c]=f(a,"00:00").split(":").map(a=>Number.parseInt(a,10));return 60*b+c}function h(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!1!==c.enabled,weekdays:Array.isArray(b=c.weekdays)?[...new Set(b.map(a=>Number.parseInt(a,10)).filter(a=>Number.isInteger(a)&&a>=0&&a<=6))].sort((a,b)=>a-b):[...d],fromTime:f(c.fromTime||c.from||c.startTime||c.start,"00:00"),toTime:f(c.toTime||c.to||c.endTime||c.end,"23:59"),timezone:c.timezone||"local"}}function i(a,b,c=1,d=3600){let e=Number.parseInt(a,10);return!Number.isFinite(e)||e<c?b:Math.min(e,d)}function j(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!0===c.enabled,intervalSec:i(c.intervalSec,60,10,86400),failureThreshold:i(c.failureThreshold,3,1,20),timeoutMs:i(c.timeoutMs,15e3,1e3,12e4),prompt:"string"==typeof c.prompt&&c.prompt.trim()?c.prompt.trim():"Say hi",disableThinking:!1!==c.disableThinking,model:"string"==typeof(b=c.model||c.healthModel||c.testModel)?b.trim():""}}function k(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,healthCheck:j(b.healthCheck||b)}}((a.providerHealthChecks||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{healthCheck:d.healthCheck,source:"provider",providerOverride:!0}:{healthCheck:j(a.healthCheck||{}),source:"connection",providerOverride:!1}}function l(a=[],b={}){let c=[],d=[];for(let e of a||[]){let a=function(a={},{settings:b={},providerId:c=a.provider||"",now:d=new Date}={}){let e=[],{healthCheck:f,source:i,providerOverride:j}=k(a,b,c),{schedule:l,source:m,providerOverride:n}=function(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,schedule:h(b.schedule||b)}}((a.providerSchedules||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{schedule:d.schedule,source:"provider",providerOverride:!0}:{schedule:h(a.schedule||{}),source:"connection",providerOverride:!1}}(a,b,c),o=function(a={},b=new Date){let c=h(a);if(!1===c.enabled)return!0;let d=b.getDay();if(!c.weekdays.includes(d))return!1;let e=60*b.getHours()+b.getMinutes(),f=g(c.fromTime),i=g(c.toTime);return f===i||(f<i?e>=f&&e<=i:e>=f||e<=i)}(l,d);return!1===a.isActive&&e.push({code:"disabled",message:"connection disabled"}),o||e.push({code:"outside_schedule",message:`outside ${m} scheduler (${function(a={}){let b=h(a);if(!1===b.enabled)return"24/7";if(0===b.weekdays.length)return"No weekdays (never active)";let c=7===b.weekdays.length,d="00:00"===b.fromTime&&"23:59"===b.toTime;if(c&&d)return"24/7";let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f=c?"All weekdays":b.weekdays.map(a=>e[a]).join(", ");return`${f} ${b.fromTime}-${b.toTime}`}(l)})`,source:m,providerOverride:n}),f.enabled&&"dead"===a.healthStatus&&e.push({code:"health_dead",message:a.healthLastError?`health check dead: ${a.healthLastError}`:"health check dead",source:i,providerOverride:j}),{available:0===e.length,reasons:e,schedule:l,scheduleSource:m,providerScheduleOverride:n,healthCheck:f,healthSource:i,providerHealthOverride:j,healthStatus:a.healthStatus||"unknown"}}(e,b);a.available?c.push(e):d.push({connection:e,availability:a})}return{available:c,blocked:d}}function m(a,b=[],c=[]){let d={};for(let a of c||[])for(let b of a.availability?.reasons||[])d[b.code]=(d[b.code]||0)+1;let e=Object.entries(d).map(([a,b])=>`${b} ${a}`).join(", ")||"no routable endpoint",f=(c||[]).slice(0,5).map(({connection:a,availability:b})=>{let c=a.displayName||a.name||a.email||a.id,d=(b.reasons||[]).map(a=>a.message||a.code).join("; ");return`${c}: ${d}`}).join(" | "),g=`No available endpoint for provider ${a}: all ${b.length} active account(s) are blocked by scheduler or health check (${e}).${f?` ${f}`:""}`;return{allUnavailableByPolicy:!0,retryAfter:null,retryAfterHuman:null,lastError:g,errorMessage:g}}},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},75137:(a,b,c)=>{function d(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}function e({body:a,headers:b={},scope:c="global",fallbackToClientIp:f=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let g=function(a={}){return String(d(a,"x-9r-client-ip")||d(a,"x-forwarded-for")||d(a,"x-real-ip")||d(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),h=function(a={}){return d(a,"x-9r-source-tool")||d(a,"originator")||d(a,"copilot-integration-id")||""}(b),i="client_session"===c?String(function(a,b={}){return d(b,"x-client-session-id")||d(b,"session_id")||d(b,"session-id")||d(b,"x-session-id")||d(b,"x-interaction-id")||d(b,"conversation_id")||d(b,"conversation-id")||d(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&i?{key:[h||"tool",g||"unknown-ip",i].join("::"),label:i,scope:c,sourceTool:h,clientIp:g,sessionId:i}:"client_session"===c&&!1===f?null:g?{key:[h||"tool",g].join("::"),label:g,scope:"client_ip",sourceTool:h,clientIp:g,sessionId:""}:null}c.d(b,{ek:()=>e})},80238:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Pt:()=>C,Tr:()=>D,c1:()=>A,kI:()=>E,vk:()=>B});var e=c(89718),f=c(57023),g=c(39326),h=c(12557),i=c(3662),j=c(75681),k=c(34778),l=c(75137),m=c(11893),n=c(7803),o=a([k]);k=(o.then?(await o)():o)[0];let F=Promise.resolve(),G=new Map,H=0,I={claude:"Claude Code",codex:"OpenAI Codex",antigravity:"Antigravity"};function p(a=""){return String(a||"").trim().toLowerCase()}function q(a={}){return a?.scope==="personal"||a?.visibility==="private"||!!a?.ownerUser}function r(a=""){return String(a||"").trim()}function s(a={}){return r(a.routeApiKeyId||a.data?.routeApiKeyId)}function t(a,b){let c=I[a]||a;return{personalAccountRequired:!0,lastErrorCode:403,lastError:`Personal ${c} account is required for ${b}. Please connect it in /dashboard/personalcloudprovider.`}}function u(a){return"client_ip"===a||"client_session"===a?a:"global"}async function v(a,b={}){a?.id&&"noauth"!==a.id&&await (0,e.updateProviderConnection)(a.id,{lastUsedAt:new Date().toISOString(),...b})}function w(a,b,c){return{id:a.id,connectionId:a.id,provider:b,providerLabel:a.displayName||a.name||a.email||b,label:a.displayName||a.name||a.email||a.id,model:c||"__all",endpoint:function(a={}){let b=a.providerSpecificData||{};return a.endpoint||a.baseUrl||a.baseURL||a.base_url||b.endpoint||b.baseUrl||b.baseURL||b.base_url||b.providerUrl||b.provider_url||b.url||""}(a),tags:function(a={}){let b=a.tags||a.labels||a.providerSpecificData?.tags||a.providerSpecificData?.labels||a.providerSpecificData?.routingTags||[];return Array.isArray(b)?b.filter(Boolean).map(String):"string"==typeof b?b.split(/[;,\s]+/).filter(Boolean):b&&"object"==typeof b?Object.entries(b).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?a:`${a}:${b}`):[]}(a),providerSpecificData:a.providerSpecificData||{},maxInFlight:a.providerSpecificData?.maxInFlight||a.maxInFlight,_connection:a}}async function x(a,b){let c,d=(c=Number.parseInt(b,10),Number.isFinite(c)&&c>0?c:1),e=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],f=e?.consecutiveUseCount||0;if(e&&e.lastUsedAt&&f<d)return await v(e,{consecutiveUseCount:(e.consecutiveUseCount||0)+1}),e;let g=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0];return await v(g,{consecutiveUseCount:1}),g}async function y({providerId:a,availableConnections:b,stickyLimit:c,stickyScope:d,stickyTtlMinutes:e,stickyContext:f,stickyRebindOnFailure:g,stickyRebindFailureThreshold:h,ownerUser:i=""}){let j,k=u(d),l=function(a,b,c,d=""){let e=u(b);return"global"!==e&&c?.key?`${a}::${d||"system"}::${e}::${c.key}`:null}(a,k,f,i);if(!l)return x(b,c);let m=Date.now();if(!(m-H<6e4))for(let[a,b]of(H=m,G.entries()))(!b?.expiresAt||b.expiresAt<=m)&&G.delete(a);let o=Date.now(),p=6e4*(j=Number.parseInt(e,10),!Number.isFinite(j)||j<=0?120:Math.min(j,10080)),q=G.get(l);if(q&&q.expiresAt>o){let d,e=b.find(a=>a.id===q.connectionId);if(e)return G.set(l,{...q,failureCount:0,lastUsedAt:o,expiresAt:o+p}),await v(e),e;let f=await x(b,c),i=(q.failureCount||0)+1,j=(d=Number.parseInt(h,10),Number.isFinite(d)&&d>0?Math.min(d,50):3);return!1!==g&&i>=j&&f?.id?(G.set(l,{...q,connectionId:f.id,reboundAt:o,reboundReason:"assigned-account-unavailable",failureCount:0,lastUsedAt:o,expiresAt:o+p}),n.warn("AUTH",`${a} | sticky account unavailable ${i} time(s), rebound sticky session to ${f.id?.slice?.(0,8)||f.id}`)):(G.set(l,{...q,failureCount:i,lastFallbackConnectionId:f?.id||null,lastFallbackAt:o,lastUsedAt:o,expiresAt:o+p}),n.warn("AUTH",`${a} | sticky account unavailable, temporary fallback ${i}/${j}`)),f}q&&G.delete(l);let r=await x(b,c);return G.set(l,{connectionId:r.id,stickyScope:k,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,sourceTool:f.sourceTool||null,failureCount:0,createdAt:o,lastUsedAt:o,expiresAt:o+p}),r}async function z({providerId:a,availableConnections:b,model:c,strategy:d,providerOverride:e}){let f=b.map(b=>w(b,a,c));(0,m.OI)(f);let g=e.modelTagRules||e.modelTags||e.tagRules||{},h=e.requiredTags||e.tags||[];if(f=(0,m.OF)(f,c,g),h?.length){let a=h.map(a=>String(a).toLowerCase());f=f.filter(b=>b.tags.map(a=>String(a).toLowerCase()).every(a=>!0)&&a.every(a=>b.tags.map(a=>String(a).toLowerCase()).includes(a)))}f.length||(f=b.map(b=>w(b,a,c)));let i=("p2c"===d||"power-of-two"===d||"power_of_two"===d?(0,m.ZL)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}):(0,m.Gc)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}))[0],j=b.find(a=>a.id===i?.connectionId)||b[0];return await v(j,{consecutiveUseCount:1}),j}async function A(a,b=null,c=null,d={}){let i,m=b instanceof Set?b:b?new Set([b]):new Set,o=d?.preferredConnectionId||null,u=F;F=new Promise(a=>{i=a});try{var v;let b,i;await u;let w=(0,j.rs)(a);if(j.IS[w]?.noAuth){let a=((await (0,e.mt)()).providerStrategies||{})[w]||{},b=await (0,g.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let x=p(d?.ownerUser||""),A=r(d?.apiKeyId||""),B=Object.prototype.hasOwnProperty.call(I,w),C=x&&B,D=d?.allowSystemFallback===!0,E=o?await (0,e.Mc)(o):null,F=E&&function(a={},b=""){return(0,j.rs)(a?.provider)===b}(E,w),G=F&&q(E),H=F&&function(a={}){return!q(a)}(E),J=x?await (0,e.getProviderConnections)({provider:w,scope:"personal",ownerUser:x}):[],K=J.filter(a=>!1!==a.isActive),L=[];if(H?L=!1===E.isActive?[]:[E]:G||(L=await (0,e.getProviderConnections)({provider:w,isActive:!0,scope:"system"})),F)if(G){let c=p(E.ownerUser);if(!x||!c||c!==x)return n.warn("AUTH",`${a} | pinned personal connection ${o} is not owned by ${x||"(missing api key owner)"}`),t(w,x||"(missing api key owner)");b=!1===E.isActive?[]:[E]}else b=L;else if(B)if(K.length>0)b=K;else{if(!D)return n.warn("AUTH",`${a} | no personal OAuth account for ${x||"(missing api key owner)"}; system fallback disabled`),t(w,x||"(missing api key owner)");b=L}else b=L;let M=new Set;if(b=(b||[]).filter(a=>!(!a?.id||M.has(a.id))&&(M.add(a.id),!0)),B&&0===b.length&&0===L.length&&0===K.length)return n.warn("AUTH",`${a} | no personal or system OAuth account available for ${x||"(missing api key owner)"}`),t(w,x||"(missing api key owner)");let N=b.length;if(v=b=b.filter(a=>{let b;return!(b=s(a))||!!A&&b===A}),b=A&&Array.isArray(v)&&!(v.length<2)&&v.some(a=>s(a)===A)?[...v].sort((a,b)=>{let c=+(s(a)!==A),d=+(s(b)!==A);return c!==d?c-d:(a.priority||999)-(b.priority||999)}):v,N!==b.length&&n.debug("AUTH",`${a} | API key route binding filter: ${N} -> ${b.length}, apiKeyId=${A||"none"}`),n.debug("AUTH",`${a} | total connections: ${b.length} (${K.length}/${J.length} personal, ${L.length} system, pinned=${o||"none"}), excludeIds: ${m.size>0?[...m].join(","):"none"}, model: ${c||"any"}`),0===b.length)return n.warn("AUTH",`No credentials for ${a}`),null;let O=await (0,e.mt)(),P=b.filter(a=>!(m.has(a.id)||(0,h.Bl)(a,c))),Q=(0,f.VA)(P,{settings:O,providerId:w,model:c}),R=Q.available,S=Q.blocked;if(n.debug("AUTH",`${a} | available: ${R.length}/${b.length}`),b.forEach(a=>{let b=m.has(a.id),d=(0,h.Bl)(a,c);if(b||d){let e=(0,h.kJ)(a);n.debug("AUTH",` -> ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===R.length){if(void 0!==P&&void 0!==S&&P.length>0&&S.length>0){let a=(0,f.JZ)(w,P,S);return n.warn("AUTH",a.lastError),a}let d=b.filter(a=>(0,h.Bl)(a,c)),e=d.map(a=>(0,h.kJ)(a)).filter(Boolean).sort()[0]||null;if(e){let f=d[0];return n.warn("AUTH",`${a} | all ${b.length} accounts locked for ${c||"all"} (${(0,h.Qo)(e)}) | lastError=${f?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:e,retryAfterHuman:(0,h.Qo)(e),lastError:f?.lastError||null,lastErrorCode:f?.errorCode||null}}return n.warn("AUTH",`${a} | all ${b.length} accounts unavailable`),null}let T=(O.providerStrategies||{})[w]||{},U=C&&b.some(q)?(0,k.Z$)(O,x,w):null,V=U?{...T,...U}:T,W=V.fallbackStrategy||V.strategy||O.fallbackStrategy||"fill-first";if(U&&n.debug("AUTH",`${a} | personal routing override for ${x}: strategy=${W}`),o&&(i=R.find(a=>a.id===o))&&n.info("AUTH",`${a} | pinned to ${i.id?.slice(0,8)} (${i.name||i.email||"unnamed"})`),i);else if(["least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(W))i=await z({providerId:w,availableConnections:R,model:c,strategy:W,providerOverride:V}),n.info("AUTH",`${a} | ${W} selected ${i.id?.slice(0,8)} (${i.name||i.email||"unnamed"})`);else if("round-robin"===W){let a=V.stickyRoundRobinLimit||O.stickyRoundRobinLimit||3,b=V.stickyScope||O.providerRoundRobinStickyScope||"global",c=V.stickyTtlMinutes||O.providerRoundRobinStickyTtlMinutes||120,e=void 0!==V.stickyFallbackToClientIp?V.stickyFallbackToClientIp:!1!==O.providerStickyFallbackToClientIp,f=void 0!==V.stickyRebindOnFailure?V.stickyRebindOnFailure:!1!==O.providerStickyRebindOnFailure,g=V.stickyRebindFailureThreshold||O.providerStickyRebindFailureThreshold||3,h=(0,l.ek)({body:d?.body||null,headers:d?.headers||{},scope:b,fallbackToClientIp:e});i=await y({providerId:w,availableConnections:R,stickyLimit:a,stickyScope:b,stickyTtlMinutes:c,stickyContext:h,stickyRebindOnFailure:f,stickyRebindFailureThreshold:g,ownerUser:x})}else i=R[0];let X=await (0,g.B)(i.providerSpecificData||{});return{authType:i.authType,apiKey:i.apiKey,accessToken:i.accessToken,refreshToken:i.refreshToken,projectId:i.projectId,connectionName:i.displayName||i.name||i.email||i.id,copilotToken:i.providerSpecificData?.copilotToken,providerSpecificData:{...i.providerSpecificData||{},connectionProxyEnabled:X.connectionProxyEnabled,connectionProxyUrl:X.connectionProxyUrl,connectionNoProxy:X.connectionNoProxy,connectionProxyPoolId:X.proxyPoolId||null,vercelRelayUrl:X.vercelRelayUrl||""},connectionId:i.id,rtkEnabled:i.rtkEnabled,testStatus:i.testStatus,lastError:i.lastError,_connection:i}}finally{i&&i()}}async function B(a,b,c,d=null,f=null,g=null){let j,k,l;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let m=(await (0,e.getProviderConnections)({provider:d})).find(b=>b.id===a),o=m?.backoffLevel||0;if(g&&g>Date.now()?(j=!0,k=Math.min(g-Date.now(),i.fh),l=0):{shouldFallback:j,cooldownMs:k,newBackoffLevel:l}=(0,h.hk)(b,c,o),!j)return{shouldFallback:!1,cooldownMs:0};let p="string"==typeof c?c.slice(0,100):"Provider error",q=(0,h.S5)(f,k);await (0,e.updateProviderConnection)(a,{...q,testStatus:"unavailable",lastError:p,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:l??o});let r=Object.keys(q)[0],s=m?.displayName||m?.name||m?.email||a.slice(0,8);return n.warn("AUTH",`${s} locked ${r} for ${Math.round(k/1e3)}s [${b}]`),d&&b&&p&&console.error(`X ${d} [${b}]: ${p}`),{shouldFallback:!0,cooldownMs:k}}async function C(a,b,c=null){if(!a||"noauth"===a)return;let d=b._connection||b,f=Date.now(),g=Object.keys(d).filter(a=>a.startsWith("modelLock_"));if(!d.testStatus&&!d.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=d[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==d.testStatus&&!d.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=d[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,e.updateProviderConnection)(a,j)}function D(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function E(a){return!!a&&await (0,e.ek)(a)}d()}catch(a){d(a)}})}};
|
|
1
|
+
"use strict";exports.id=6939,exports.ids=[6939,9614],exports.modules={11893:(a,b,c)=>{c.d(b,{Fg:()=>D,Gc:()=>A,OF:()=>y,OI:()=>s,ZL:()=>B,h6:()=>E,kb:()=>C});let d={maxInFlightPerTarget:Number(process.env.PROVIDER_HEALTH_MAX_IN_FLIGHT||2),failureThreshold:Number(process.env.PROVIDER_HEALTH_FAILURE_THRESHOLD||2),recoverySuccessThreshold:Number(process.env.PROVIDER_HEALTH_RECOVERY_SUCCESSES||2),degradedLatencyMs:Number(process.env.PROVIDER_HEALTH_DEGRADED_LATENCY_MS||15e3),baseCooldownMs:Number(process.env.PROVIDER_HEALTH_BASE_COOLDOWN_MS||3e4),maxCooldownMs:Number(process.env.PROVIDER_HEALTH_MAX_COOLDOWN_MS||3e5)},e=new Map,f=new Map,g=0;function h(){return Date.now()}function i(a){return String(a||"").trim()}function j(a,b){let c=Number(a);return Number.isFinite(c)&&c>0?c:b}function k(a){return"string"==typeof a?a:a&&"object"==typeof a&&(a.model||a.value||a.id)||""}function l(a){return a&&"object"==typeof a?i(a.connectionId||a.connection_id||a.accountId):""}function m(a){return"string"==typeof a?a:a&&"object"==typeof a?i(a.label||a.displayName||a.name||k(a)):""}function n(a){let b=a?.tags||a?.labels||a?.routingTags||[];return Array.isArray(b)?b.map(a=>i(a)).filter(Boolean):"string"==typeof b?b.split(/[\n,;\s]+/).map(a=>i(a)).filter(Boolean):b&&"object"==typeof b?Object.entries(b).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?i(a):`${i(a)}:${i(b)}`).filter(Boolean):[]}function o(a){let b=k(a),c=l(a);return b?c?`${c}::${b}`:b:""}function p(a={}){return i(a.endpoint||a.baseUrl||a.baseURL||a.base_url||a.providerUrl||a.provider_url||a.url)}function q(a={}){let b=o(a),c=h();return{key:b,state:"available",circuit:"closed",mode:"passive-runtime",connectionId:l(a),provider:i(a.provider),providerLabel:i(a.providerLabel||a.accountName||a.account_name||a.label),label:m(a),model:k(a),endpoint:p(a),tags:n(a),lastCheckedAt:0,lastRequestAt:0,lastOkAt:0,lastFailAt:0,latencyMs:0,avgLatencyMs:0,consecutiveFailures:0,consecutiveSuccesses:0,failures:0,successes:0,inFlight:0,halfOpenInFlight:0,cooldownUntil:0,cooldownMs:d.baseCooldownMs,modelAvailable:!0,lastError:"",updatedAt:c}}function r(a){let b=o(a);if(!b)return null;g||(g=h());let c=function(a,b={}){let c={...a||q(b)};return c.connectionId=c.connectionId||l(b),c.provider=i(b.provider)||c.provider,c.providerLabel=i(b.providerLabel||b.accountName||b.account_name||b.label)||c.providerLabel,c.label=m(b)||c.label,c.model=k(b)||c.model,c.endpoint=p(b)||c.endpoint,c.tags=n(b).length?n(b):c.tags||[],c.mode="passive-runtime",c.updatedAt=h(),c}(e.get(b),a);return e.set(b,c),f.set(b,{...f.get(b)||{},...a,key:b}),c}function s(a=[]){for(let b of a||[])r(b)}function t(){let a=h();for(let b of e.values())"open"===b.circuit&&b.cooldownUntil&&b.cooldownUntil<=a&&(b.circuit="half_open",b.halfOpenInFlight=0,b.updatedAt=a,e.set(b.key,b))}function u(a){return a?.circuit==="open"&&a.cooldownUntil>h()}function v(a){return a?.circuit==="half_open"&&(a.halfOpenInFlight||0)>0}function w(a){let b=Number(a?.maxInFlight||a?.maxInFlightPerTarget);return Number.isFinite(b)&&b>0?b:j(d.maxInFlightPerTarget,2)}function x(a){let b=o(a),c=b&&e.get(b)||q(a),d=w(a);if(u(c))return 9e3;if(v(c))return 8e3;if((c.inFlight||0)>=d)return 7e3;let f=500;return"half_open"===c.circuit&&(f-=50),"healthy"===c.state&&(f-=300),("unknown"===c.state||"available"===c.state)&&(f-=20),"degraded"===c.state&&(f+=300),"overloaded"===c.state&&(f+=700),("down"===c.state||"model_unavailable"===c.state)&&(f+=1200),f+=Math.min(c.avgLatencyMs||c.latencyMs||0,3e4)/100+150*(c.inFlight||0)+400*(c.consecutiveFailures||0)}function y(a=[],b="",c={}){let d=function(a,b={}){let c=b?.[a]||b?.[String(a||"").split("/").pop()]||[];return Array.isArray(c)?c.map(a=>i(a)).filter(Boolean):"string"==typeof c?c.split(/[\n,;]+/).map(a=>i(a)).filter(Boolean):[]}(b,c);if(!d.length)return[...a||[]];let e=d.map(a=>a.toLowerCase());return(a||[]).filter(a=>{let b=n(a).map(a=>a.toLowerCase());return e.every(a=>b.includes(a))})}function z(a=[]){let b=[],c=[];for(let d of a){let a=e.get(o(d))||null,f=w(d);a&&(u(a)||v(a)||(a.inFlight||0)>=f||"model_unavailable"===a.state)?c.push(d):b.push(d)}return{usable:b,skipped:c}}function A(a=[],b={}){t();let c=[...a||[]];if(b.modelTagRules){let a=y(c,b.model,b.modelTagRules);a.length&&(c=a)}if(c.length<=1)return c;let{usable:d,skipped:e}=z(c);if(b.preserveOrder)return d.length?b.includeSkippedAtEnd?[...d,...e]:d:b.includeSkippedAtEnd?e:[];let f=d.sort((a,b)=>x(a)-x(b)),g=e.sort((a,b)=>x(a)-x(b));return f.length?b.includeSkippedAtEnd?[...f,...g]:f:b.includeSkippedAtEnd?g:[]}function B(a=[],b={}){t();let c=[...a||[]];if(b.modelTagRules){let a=y(c,b.model,b.modelTagRules);a.length&&(c=a)}if(c.length<=1)return c;let{usable:d,skipped:e}=z(c),f=d.sort((a,b)=>x(a)-x(b)),g=e.sort((a,b)=>x(a)-x(b));if(!f.length)return g;if(f.length<=2)return[...f,...g];let h=Math.floor(Math.random()*f.length),i=Math.floor(Math.random()*(f.length-1));return i>=h&&(i+=1),[...[f[h],f[i]].sort((a,b)=>x(a)-x(b)),...f.filter((a,b)=>b!==h&&b!==i),...g]}function C(a){t();let b=r(a);if(!b)return{skipped:!1,end:()=>{}};let c=w(a);if(u(b))return{skipped:!0,reason:"circuit_open",state:b};if(v(b))return{skipped:!0,reason:"half_open_probe_busy",state:b};if((b.inFlight||0)>=c)return{skipped:!0,reason:"in_flight_full",state:b};b.inFlight=(b.inFlight||0)+1,b.lastRequestAt=h(),"half_open"===b.circuit&&(b.halfOpenInFlight=(b.halfOpenInFlight||0)+1),b.updatedAt=h(),e.set(b.key,b);let d=!1;return{skipped:!1,state:b,end:()=>{if(d)return;d=!0;let a=e.get(b.key);a&&(a.inFlight=Math.max(0,(a.inFlight||0)-1),"half_open"===a.circuit&&(a.halfOpenInFlight=Math.max(0,(a.halfOpenInFlight||0)-1)),a.updatedAt=h(),e.set(a.key,a))}}}function D(a,b=null){let c;if(function(a={}){let b=Number(a?.status||a?.statusCode||0);return!!(a?.healthFailed||a?.forceFailure||a?.error||a?.exception||a?.timeout||b>=400)}(a))return E(a,function(a={}){let b=Number(a?.status||a?.statusCode||0);return a?.error?a.error:a?.exception?a.exception:a?.timeout?{message:"timeout",code:"TIMEOUT"}:b>=400?{status:b,message:a?.statusText||"request_failed"}:{message:"request_failed"}}(a));let f=r(a);if(!f)return null;let g=h();Number.isFinite(c=Number(b))&&!(c<0)&&(f.latencyMs=c,f.avgLatencyMs=f.avgLatencyMs?Math.round(.8*f.avgLatencyMs+.2*c):c),f.successes=(f.successes||0)+1,f.consecutiveSuccesses=(f.consecutiveSuccesses||0)+1,f.consecutiveFailures=0,f.lastOkAt=g,f.lastRequestAt=g,f.lastError="",f.modelAvailable=!0,f.updatedAt=g;let i=j(d.recoverySuccessThreshold,2);return"open"===f.circuit||"half_open"===f.circuit?f.consecutiveSuccesses>=i?(f.circuit="closed",f.state="healthy",f.cooldownUntil=0,f.cooldownMs=d.baseCooldownMs):(f.circuit="half_open",f.state="recovering",f.cooldownUntil=0):(f.circuit="closed",f.state="healthy",f.cooldownUntil=0),e.set(f.key,f),f}function E(a,b){let c,f,g=r(a);if(!g)return null;let i=h(),k=(c=String(b?.message||b||"").toLowerCase(),[400,406,409,413,415,422].includes(f=Number(b?.status||b?.statusCode||b))?{ignored:!0,error:c||String(f)}:404===f||c.includes("model_not_found")||c.includes("model not found")?{state:"model_unavailable",cooldownMs:d.maxCooldownMs,error:"model_not_found"}:408===f||429===f||502===f||503===f||504===f||c.includes("timeout")||c.includes("busy")||c.includes("overload")||c.includes("queue")?{state:"overloaded",cooldownMs:d.baseCooldownMs,error:c||String(f||"overloaded")}:c.includes("econnrefused")||c.includes("enotfound")||c.includes("ehostunreach")||c.includes("fetch failed")||c.includes("network")?{state:"down",cooldownMs:d.baseCooldownMs,error:c||"network_error"}:f>=500?{state:"down",cooldownMs:d.baseCooldownMs,error:c||String(f)}:{state:"degraded",cooldownMs:d.baseCooldownMs,error:c||String(f||"provider_error")});if(k.ignored)return g;g.failures=(g.failures||0)+1,g.consecutiveFailures=(g.consecutiveFailures||0)+1,g.consecutiveSuccesses=0,g.lastFailAt=i,g.lastRequestAt=i,g.lastError=k.error||String(b?.message||b||"request_failed"),g.updatedAt=i,g.modelAvailable="model_unavailable"!==k.state;let l=j(d.failureThreshold,2);return g.consecutiveFailures>=l?(g.state=k.state,g.circuit="open",g.cooldownMs=Math.min(Math.max(k.cooldownMs||d.baseCooldownMs,g.cooldownMs||d.baseCooldownMs),d.maxCooldownMs),g.cooldownUntil=i+g.cooldownMs):(g.state="degraded",g.circuit="closed",g.cooldownUntil=0),e.set(g.key,g),g}},39326:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(71998);let e=new Set(["vercel","cloudflare","deno"]);function f(a){return null==a?"":String(a).trim()}async function g(a={}){try{let b=f(a?.proxyPoolId),c="__none__"===b?"":b,g=function(a={}){let b=a?.connectionProxyEnabled===!0,c=f(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:f(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=f(a?.proxyUrl),g=f(a?.noProxy);if(a&&!0===a.isActive&&b){if(e.has(a.type))return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:g,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:g,strictProxy:!0===a.strictProxy}}}if(g.connectionProxyEnabled&&g.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...g};return{source:"none",proxyPoolId:c||null,proxyPool:null,...g}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},57023:(a,b,c)=>{c.d(b,{JZ:()=>m,VA:()=>l,ce:()=>k,G9:()=>j});let d=[0,1,2,3,4,5,6],e=/^([01]\d|2[0-3]):([0-5]\d)$/;function f(a,b){let c=String(a||"").trim();return e.test(c)?c:b}function g(a){let[b,c]=f(a,"00:00").split(":").map(a=>Number.parseInt(a,10));return 60*b+c}function h(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!1!==c.enabled,weekdays:Array.isArray(b=c.weekdays)?[...new Set(b.map(a=>Number.parseInt(a,10)).filter(a=>Number.isInteger(a)&&a>=0&&a<=6))].sort((a,b)=>a-b):[...d],fromTime:f(c.fromTime||c.from||c.startTime||c.start,"00:00"),toTime:f(c.toTime||c.to||c.endTime||c.end,"23:59"),timezone:c.timezone||"local"}}function i(a,b,c=1,d=3600){let e=Number.parseInt(a,10);return!Number.isFinite(e)||e<c?b:Math.min(e,d)}function j(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!0===c.enabled,intervalSec:i(c.intervalSec,60,10,86400),failureThreshold:i(c.failureThreshold,3,1,20),timeoutMs:i(c.timeoutMs,15e3,1e3,12e4),prompt:"string"==typeof c.prompt&&c.prompt.trim()?c.prompt.trim():"Say hi",disableThinking:!1!==c.disableThinking,model:"string"==typeof(b=c.model||c.healthModel||c.testModel)?b.trim():""}}function k(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,healthCheck:j(b.healthCheck||b)}}((a.providerHealthChecks||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{healthCheck:d.healthCheck,source:"provider",providerOverride:!0}:{healthCheck:j(a.healthCheck||{}),source:"connection",providerOverride:!1}}function l(a=[],b={}){let c=[],d=[];for(let e of a||[]){let a=function(a={},{settings:b={},providerId:c=a.provider||"",now:d=new Date}={}){let e=[],{healthCheck:f,source:i,providerOverride:j}=k(a,b,c),{schedule:l,source:m,providerOverride:n}=function(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,schedule:h(b.schedule||b)}}((a.providerSchedules||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{schedule:d.schedule,source:"provider",providerOverride:!0}:{schedule:h(a.schedule||{}),source:"connection",providerOverride:!1}}(a,b,c),o=function(a={},b=new Date){let c=h(a);if(!1===c.enabled)return!0;let d=b.getDay();if(!c.weekdays.includes(d))return!1;let e=60*b.getHours()+b.getMinutes(),f=g(c.fromTime),i=g(c.toTime);return f===i||(f<i?e>=f&&e<=i:e>=f||e<=i)}(l,d);return!1===a.isActive&&e.push({code:"disabled",message:"connection disabled"}),o||e.push({code:"outside_schedule",message:`outside ${m} scheduler (${function(a={}){let b=h(a);if(!1===b.enabled)return"24/7";if(0===b.weekdays.length)return"No weekdays (never active)";let c=7===b.weekdays.length,d="00:00"===b.fromTime&&"23:59"===b.toTime;if(c&&d)return"24/7";let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f=c?"All weekdays":b.weekdays.map(a=>e[a]).join(", ");return`${f} ${b.fromTime}-${b.toTime}`}(l)})`,source:m,providerOverride:n}),f.enabled&&"dead"===a.healthStatus&&e.push({code:"health_dead",message:a.healthLastError?`health check dead: ${a.healthLastError}`:"health check dead",source:i,providerOverride:j}),{available:0===e.length,reasons:e,schedule:l,scheduleSource:m,providerScheduleOverride:n,healthCheck:f,healthSource:i,providerHealthOverride:j,healthStatus:a.healthStatus||"unknown"}}(e,b);a.available?c.push(e):d.push({connection:e,availability:a})}return{available:c,blocked:d}}function m(a,b=[],c=[]){let d={};for(let a of c||[])for(let b of a.availability?.reasons||[])d[b.code]=(d[b.code]||0)+1;let e=Object.entries(d).map(([a,b])=>`${b} ${a}`).join(", ")||"no routable endpoint",f=(c||[]).slice(0,5).map(({connection:a,availability:b})=>{let c=a.displayName||a.name||a.email||a.id,d=(b.reasons||[]).map(a=>a.message||a.code).join("; ");return`${c}: ${d}`}).join(" | "),g=`No available endpoint for provider ${a}: all ${b.length} active account(s) are blocked by scheduler or health check (${e}).${f?` ${f}`:""}`;return{allUnavailableByPolicy:!0,retryAfter:null,retryAfterHuman:null,lastError:g,errorMessage:g}}},69614:(a,b,c)=>{c.d(b,{V:()=>p});var d=c(88888),e=c(91356),f=c(99129),g=c(73575),h=c(41570),i=c(19035),j=c(24762),k=c(80308),l=c(11980);async function m(a,b,c){if(!(0,i.Gv)(a))throw new f.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new f.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new f.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new f.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new f.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,i.Gv)(a.header))throw new f.Ye("JWS Unprotected Header incorrect type");let m={};if(a.protected)try{let b=(0,d.D)(a.protected);m=JSON.parse(g.D0.decode(b))}catch{throw new f.Ye("JWS Protected Header is invalid")}if(!(0,i.fz)(m,a.header))throw new f.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...m,...a.header},o=(0,k.n)(f.Ye,new Map([["b64",!0]]),c?.crit,m,n),p=!0;if(o.has("b64")&&"boolean"!=typeof(p=m.b64))throw new f.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:q}=n;if("string"!=typeof q||!q)throw new f.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let r=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(r&&!r.has(q))throw new f.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(p){if("string"!=typeof a.payload)throw new f.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new f.Ye("JWS Payload must be a string or an Uint8Array instance");let s=!1;"function"==typeof b&&(b=await b(m,a),s=!0),(0,j.y)(q,b,"verify");let t=(0,g.xW)(void 0!==a.protected?(0,g.lF)(a.protected):new Uint8Array,(0,g.lF)("."),"string"==typeof a.payload?p?(0,g.lF)(a.payload):g.Rd.encode(a.payload):a.payload),u=(0,h.h2)(a.signature,"signature",f.Ye),v=await (0,l.l)(b,q);if(!await (0,e.MX)(q,v,u,t))throw new f.h2;let w={payload:p?(0,h.h2)(a.payload,"payload",f.Ye):"string"==typeof a.payload?g.Rd.encode(a.payload):a.payload};return(void 0!==a.protected&&(w.protectedHeader=m),void 0!==a.header&&(w.unprotectedHeader=a.header),s)?{...w,key:v}:w}async function n(a,b,c){if(a instanceof Uint8Array&&(a=g.D0.decode(a)),"string"!=typeof a)throw new f.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:h,length:i}=a.split(".");if(3!==i)throw new f.Ye("Invalid Compact JWS");let j=await m({payload:e,protected:d,signature:h},b,c),k={payload:j.payload,protectedHeader:j.protectedHeader};return"function"==typeof b?{...k,key:j.key}:k}var o=c(17347);async function p(a,b,c){let d=await n(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new f.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,o.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},75137:(a,b,c)=>{function d(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}function e({body:a,headers:b={},scope:c="global",fallbackToClientIp:f=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let g=function(a={}){return String(d(a,"x-9r-client-ip")||d(a,"x-forwarded-for")||d(a,"x-real-ip")||d(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),h=function(a={}){return d(a,"x-9r-source-tool")||d(a,"originator")||d(a,"copilot-integration-id")||""}(b),i="client_session"===c?String(function(a,b={}){return d(b,"x-client-session-id")||d(b,"session_id")||d(b,"session-id")||d(b,"x-session-id")||d(b,"x-interaction-id")||d(b,"conversation_id")||d(b,"conversation-id")||d(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&i?{key:[h||"tool",g||"unknown-ip",i].join("::"),label:i,scope:c,sourceTool:h,clientIp:g,sessionId:i}:"client_session"===c&&!1===f?null:g?{key:[h||"tool",g].join("::"),label:g,scope:"client_ip",sourceTool:h,clientIp:g,sessionId:""}:null}c.d(b,{ek:()=>e})},80238:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Pt:()=>C,Tr:()=>D,c1:()=>A,kI:()=>E,vk:()=>B});var e=c(89718),f=c(57023),g=c(39326),h=c(12557),i=c(3662),j=c(75681),k=c(34778),l=c(75137),m=c(11893),n=c(7803),o=a([k]);k=(o.then?(await o)():o)[0];let F=Promise.resolve(),G=new Map,H=0,I={claude:"Claude Code",codex:"OpenAI Codex",antigravity:"Antigravity"};function p(a=""){return String(a||"").trim().toLowerCase()}function q(a={}){return a?.scope==="personal"||a?.visibility==="private"||!!a?.ownerUser}function r(a=""){return String(a||"").trim()}function s(a={}){return r(a.routeApiKeyId||a.data?.routeApiKeyId)}function t(a,b){let c=I[a]||a;return{personalAccountRequired:!0,lastErrorCode:403,lastError:`Personal ${c} account is required for ${b}. Please connect it in /dashboard/personalcloudprovider.`}}function u(a){return"client_ip"===a||"client_session"===a?a:"global"}async function v(a,b={}){a?.id&&"noauth"!==a.id&&await (0,e.updateProviderConnection)(a.id,{lastUsedAt:new Date().toISOString(),...b})}function w(a,b,c){return{id:a.id,connectionId:a.id,provider:b,providerLabel:a.displayName||a.name||a.email||b,label:a.displayName||a.name||a.email||a.id,model:c||"__all",endpoint:function(a={}){let b=a.providerSpecificData||{};return a.endpoint||a.baseUrl||a.baseURL||a.base_url||b.endpoint||b.baseUrl||b.baseURL||b.base_url||b.providerUrl||b.provider_url||b.url||""}(a),tags:function(a={}){let b=a.tags||a.labels||a.providerSpecificData?.tags||a.providerSpecificData?.labels||a.providerSpecificData?.routingTags||[];return Array.isArray(b)?b.filter(Boolean).map(String):"string"==typeof b?b.split(/[;,\s]+/).filter(Boolean):b&&"object"==typeof b?Object.entries(b).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?a:`${a}:${b}`):[]}(a),providerSpecificData:a.providerSpecificData||{},maxInFlight:a.providerSpecificData?.maxInFlight||a.maxInFlight,_connection:a}}async function x(a,b){let c,d=(c=Number.parseInt(b,10),Number.isFinite(c)&&c>0?c:1),e=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],f=e?.consecutiveUseCount||0;if(e&&e.lastUsedAt&&f<d)return await v(e,{consecutiveUseCount:(e.consecutiveUseCount||0)+1}),e;let g=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0];return await v(g,{consecutiveUseCount:1}),g}async function y({providerId:a,availableConnections:b,stickyLimit:c,stickyScope:d,stickyTtlMinutes:e,stickyContext:f,stickyRebindOnFailure:g,stickyRebindFailureThreshold:h,ownerUser:i=""}){let j,k=u(d),l=function(a,b,c,d=""){let e=u(b);return"global"!==e&&c?.key?`${a}::${d||"system"}::${e}::${c.key}`:null}(a,k,f,i);if(!l)return x(b,c);let m=Date.now();if(!(m-H<6e4))for(let[a,b]of(H=m,G.entries()))(!b?.expiresAt||b.expiresAt<=m)&&G.delete(a);let o=Date.now(),p=6e4*(j=Number.parseInt(e,10),!Number.isFinite(j)||j<=0?120:Math.min(j,10080)),q=G.get(l);if(q&&q.expiresAt>o){let d,e=b.find(a=>a.id===q.connectionId);if(e)return G.set(l,{...q,failureCount:0,lastUsedAt:o,expiresAt:o+p}),await v(e),e;let f=await x(b,c),i=(q.failureCount||0)+1,j=(d=Number.parseInt(h,10),Number.isFinite(d)&&d>0?Math.min(d,50):3);return!1!==g&&i>=j&&f?.id?(G.set(l,{...q,connectionId:f.id,reboundAt:o,reboundReason:"assigned-account-unavailable",failureCount:0,lastUsedAt:o,expiresAt:o+p}),n.warn("AUTH",`${a} | sticky account unavailable ${i} time(s), rebound sticky session to ${f.id?.slice?.(0,8)||f.id}`)):(G.set(l,{...q,failureCount:i,lastFallbackConnectionId:f?.id||null,lastFallbackAt:o,lastUsedAt:o,expiresAt:o+p}),n.warn("AUTH",`${a} | sticky account unavailable, temporary fallback ${i}/${j}`)),f}q&&G.delete(l);let r=await x(b,c);return G.set(l,{connectionId:r.id,stickyScope:k,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,sourceTool:f.sourceTool||null,failureCount:0,createdAt:o,lastUsedAt:o,expiresAt:o+p}),r}async function z({providerId:a,availableConnections:b,model:c,strategy:d,providerOverride:e}){let f=b.map(b=>w(b,a,c));(0,m.OI)(f);let g=e.modelTagRules||e.modelTags||e.tagRules||{},h=e.requiredTags||e.tags||[];if(f=(0,m.OF)(f,c,g),h?.length){let a=h.map(a=>String(a).toLowerCase());f=f.filter(b=>b.tags.map(a=>String(a).toLowerCase()).every(a=>!0)&&a.every(a=>b.tags.map(a=>String(a).toLowerCase()).includes(a)))}f.length||(f=b.map(b=>w(b,a,c)));let i=("p2c"===d||"power-of-two"===d||"power_of_two"===d?(0,m.ZL)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}):(0,m.Gc)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}))[0],j=b.find(a=>a.id===i?.connectionId)||b[0];return await v(j,{consecutiveUseCount:1}),j}async function A(a,b=null,c=null,d={}){let i,m=b instanceof Set?b:b?new Set([b]):new Set,o=d?.preferredConnectionId||null,u=F;F=new Promise(a=>{i=a});try{var v;let b,i;await u;let w=(0,j.rs)(a);if(j.IS[w]?.noAuth){let a=((await (0,e.mt)()).providerStrategies||{})[w]||{},b=await (0,g.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let x=p(d?.ownerUser||""),A=r(d?.apiKeyId||""),B=Object.prototype.hasOwnProperty.call(I,w),C=x&&B,D=d?.allowSystemFallback===!0,E=o?await (0,e.Mc)(o):null,F=E&&function(a={},b=""){return(0,j.rs)(a?.provider)===b}(E,w),G=F&&q(E),H=F&&function(a={}){return!q(a)}(E),J=x?await (0,e.getProviderConnections)({provider:w,scope:"personal",ownerUser:x}):[],K=J.filter(a=>!1!==a.isActive),L=[];if(H?L=!1===E.isActive?[]:[E]:G||(L=await (0,e.getProviderConnections)({provider:w,isActive:!0,scope:"system"})),F)if(G){let c=p(E.ownerUser);if(!x||!c||c!==x)return n.warn("AUTH",`${a} | pinned personal connection ${o} is not owned by ${x||"(missing api key owner)"}`),t(w,x||"(missing api key owner)");b=!1===E.isActive?[]:[E]}else b=L;else if(B)if(K.length>0)b=K;else{if(!D)return n.warn("AUTH",`${a} | no personal OAuth account for ${x||"(missing api key owner)"}; system fallback disabled`),t(w,x||"(missing api key owner)");b=L}else b=L;let M=new Set;if(b=(b||[]).filter(a=>!(!a?.id||M.has(a.id))&&(M.add(a.id),!0)),B&&0===b.length&&0===L.length&&0===K.length)return n.warn("AUTH",`${a} | no personal or system OAuth account available for ${x||"(missing api key owner)"}`),t(w,x||"(missing api key owner)");let N=b.length;if(v=b=b.filter(a=>{let b;return!(b=s(a))||!!A&&b===A}),b=A&&Array.isArray(v)&&!(v.length<2)&&v.some(a=>s(a)===A)?[...v].sort((a,b)=>{let c=+(s(a)!==A),d=+(s(b)!==A);return c!==d?c-d:(a.priority||999)-(b.priority||999)}):v,N!==b.length&&n.debug("AUTH",`${a} | API key route binding filter: ${N} -> ${b.length}, apiKeyId=${A||"none"}`),n.debug("AUTH",`${a} | total connections: ${b.length} (${K.length}/${J.length} personal, ${L.length} system, pinned=${o||"none"}), excludeIds: ${m.size>0?[...m].join(","):"none"}, model: ${c||"any"}`),0===b.length)return n.warn("AUTH",`No credentials for ${a}`),null;let O=await (0,e.mt)(),P=b.filter(a=>!(m.has(a.id)||(0,h.Bl)(a,c))),Q=(0,f.VA)(P,{settings:O,providerId:w,model:c}),R=Q.available,S=Q.blocked;if(n.debug("AUTH",`${a} | available: ${R.length}/${b.length}`),b.forEach(a=>{let b=m.has(a.id),d=(0,h.Bl)(a,c);if(b||d){let e=(0,h.kJ)(a);n.debug("AUTH",` -> ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===R.length){if(void 0!==P&&void 0!==S&&P.length>0&&S.length>0){let a=(0,f.JZ)(w,P,S);return n.warn("AUTH",a.lastError),a}let d=b.filter(a=>(0,h.Bl)(a,c)),e=d.map(a=>(0,h.kJ)(a)).filter(Boolean).sort()[0]||null;if(e){let f=d[0];return n.warn("AUTH",`${a} | all ${b.length} accounts locked for ${c||"all"} (${(0,h.Qo)(e)}) | lastError=${f?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:e,retryAfterHuman:(0,h.Qo)(e),lastError:f?.lastError||null,lastErrorCode:f?.errorCode||null}}return n.warn("AUTH",`${a} | all ${b.length} accounts unavailable`),null}let T=(O.providerStrategies||{})[w]||{},U=C&&b.some(q)?(0,k.Z$)(O,x,w):null,V=U?{...T,...U}:T,W=V.fallbackStrategy||V.strategy||O.fallbackStrategy||"fill-first";if(U&&n.debug("AUTH",`${a} | personal routing override for ${x}: strategy=${W}`),o&&(i=R.find(a=>a.id===o))&&n.info("AUTH",`${a} | pinned to ${i.id?.slice(0,8)} (${i.name||i.email||"unnamed"})`),i);else if(["least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(W))i=await z({providerId:w,availableConnections:R,model:c,strategy:W,providerOverride:V}),n.info("AUTH",`${a} | ${W} selected ${i.id?.slice(0,8)} (${i.name||i.email||"unnamed"})`);else if("round-robin"===W){let a=V.stickyRoundRobinLimit||O.stickyRoundRobinLimit||3,b=V.stickyScope||O.providerRoundRobinStickyScope||"global",c=V.stickyTtlMinutes||O.providerRoundRobinStickyTtlMinutes||120,e=void 0!==V.stickyFallbackToClientIp?V.stickyFallbackToClientIp:!1!==O.providerStickyFallbackToClientIp,f=void 0!==V.stickyRebindOnFailure?V.stickyRebindOnFailure:!1!==O.providerStickyRebindOnFailure,g=V.stickyRebindFailureThreshold||O.providerStickyRebindFailureThreshold||3,h=(0,l.ek)({body:d?.body||null,headers:d?.headers||{},scope:b,fallbackToClientIp:e});i=await y({providerId:w,availableConnections:R,stickyLimit:a,stickyScope:b,stickyTtlMinutes:c,stickyContext:h,stickyRebindOnFailure:f,stickyRebindFailureThreshold:g,ownerUser:x})}else i=R[0];let X=await (0,g.B)(i.providerSpecificData||{});return{authType:i.authType,apiKey:i.apiKey,accessToken:i.accessToken,refreshToken:i.refreshToken,projectId:i.projectId,connectionName:i.displayName||i.name||i.email||i.id,copilotToken:i.providerSpecificData?.copilotToken,providerSpecificData:{...i.providerSpecificData||{},connectionProxyEnabled:X.connectionProxyEnabled,connectionProxyUrl:X.connectionProxyUrl,connectionNoProxy:X.connectionNoProxy,connectionProxyPoolId:X.proxyPoolId||null,vercelRelayUrl:X.vercelRelayUrl||""},connectionId:i.id,rtkEnabled:i.rtkEnabled,testStatus:i.testStatus,lastError:i.lastError,_connection:i}}finally{i&&i()}}async function B(a,b,c,d=null,f=null,g=null){let j,k,l;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let m=(await (0,e.getProviderConnections)({provider:d})).find(b=>b.id===a),o=m?.backoffLevel||0;if(g&&g>Date.now()?(j=!0,k=Math.min(g-Date.now(),i.fh),l=0):{shouldFallback:j,cooldownMs:k,newBackoffLevel:l}=(0,h.hk)(b,c,o),!j)return{shouldFallback:!1,cooldownMs:0};let p="string"==typeof c?c.slice(0,100):"Provider error",q=(0,h.S5)(f,k);await (0,e.updateProviderConnection)(a,{...q,testStatus:"unavailable",lastError:p,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:l??o});let r=Object.keys(q)[0],s=m?.displayName||m?.name||m?.email||a.slice(0,8);return n.warn("AUTH",`${s} locked ${r} for ${Math.round(k/1e3)}s [${b}]`),d&&b&&p&&console.error(`X ${d} [${b}]: ${p}`),{shouldFallback:!0,cooldownMs:k}}async function C(a,b,c=null){if(!a||"noauth"===a)return;let d=b._connection||b,f=Date.now(),g=Object.keys(d).filter(a=>a.startsWith("modelLock_"));if(!d.testStatus&&!d.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=d[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==d.testStatus&&!d.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=d[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,e.updateProviderConnection)(a,j)}function D(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function E(a){return!!a&&await (0,e.ek)(a)}d()}catch(a){d(a)}})}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=8895,exports.ids=[8895],exports.modules={324:(a,b,c)=>{c.d(b,{J:()=>e,Q:()=>f});let d={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function e(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),f=(a["openai-intent"]||"").toLowerCase(),g=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===f||"user"===g?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-cli")?"codex":c.includes("deepseek-tui")?"deepseek-tui":null}function f(a,b){if(!a)return!1;let c=d[a];if(!c)return!1;let e=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(e)}},5016:(a,b,c)=>{c.d(b,{N:()=>q});var d=c(14170),e=c(33110),f=c(39551),g=c(73483),h=c(43659),i=c(41004),j=c(81626),k=c(86171),l=c(47370),m=c(35901),n=c(55399),o=c(9902);function p({provider:a,model:b,connectionId:c,apiKey:d,endpoint:e,requestContext:f,body:g,stream:h,translatedBody:j,finalBody:n,requestStartTime:o,message:q,errorCode:r,errorType:s,rtkStats:t=null}){let u=Date.now()-o;(0,l.E5)({model:b,provider:a,connectionId:c,status:`FAILED ${i.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,l.ox)((0,k.$R)({provider:a,model:b,connectionId:c,latency:{ttft:0,total:u},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(g,h),providerRequest:n||j||null,response:{error:q,status:i.gx.BAD_GATEWAY,thinking:null},status:"error",rtkStats:t},{endpoint:e||null})).catch(()=>{}),(0,m.jk)({...f||{},requestContext:f,provider:a,model:b,connectionId:c,apiKey:d,endpoint:e,gatewayStatusCode:i.gx.BAD_GATEWAY,errorSource:"provider_response_parse",errorType:s,errorCode:r,errorMessageShort:q,latencyMs:u}).catch(()=>{}),(0,k.sx)({provider:a,model:b,connectionId:c,apiKey:d,endpoint:e,statusCode:i.gx.BAD_GATEWAY,errorCode:r,errorType:s,errorMessage:q,latencyMs:u,requestContext:f||{},meta:{errorSource:"provider_response_parse"},rtkStats:t})}async function q({providerResponse:a,provider:b,model:c,sourceFormat:m,targetFormat:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,apiKey:y,clientRawRequest:z,onRequestSuccess:A,reqLogger:B,toolNameMap:C,trackDone:D,appendLog:E,requestContext:F,requestPolicyMeta:G,rtkStats:H=null}){let I;if(D(),(a.headers.get("content-type")||"").includes("text/event-stream")){let d=await a.text(),e=(0,j.F)(d,c);if(!e){let a="Invalid SSE response for non-streaming request";return E({status:`FAILED ${i.gx.BAD_GATEWAY}`}),p({provider:b,model:c,connectionId:x,apiKey:y,endpoint:z?.endpoint,requestContext:F,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,message:a,errorCode:"invalid_sse",errorType:"invalid_sse",rtkStats:H}),(0,h.A1)(i.gx.BAD_GATEWAY,a,void 0,m)}I=e}else try{I=await a.json()}catch(d){let a=`Invalid JSON response from ${b}`;return E({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,d.message),p({provider:b,model:c,connectionId:x,apiKey:y,endpoint:z?.endpoint,requestContext:F,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,message:a,errorCode:"invalid_json",errorType:"invalid_json",rtkStats:H}),(0,h.A1)(i.gx.BAD_GATEWAY,a,void 0,m)}B.logProviderResponse(a.status,a.statusText,a.headers,I),A&&await A(),I=(0,n.kR)(I,C);let J=(0,k.MK)(I),K=Date.now()-w,L=(0,e.nZ)(r,m)?function(a,b,c){if(b===c||b===d.h.OPENAI)return a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g="",h=[];if(d?.parts)for(let a of d.parts)!0===a.thought&&a.text?g+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&h.push({id:`call_${a.functionCall.name}_${Date.now()}_${h.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let i={role:"assistant"};f&&(i.content=f),g&&(i.reasoning_content=g),h.length>0&&(i.tool_calls=h),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&h.length>0&&(j="tool_calls");let k={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===d.h.CLAUDE){if(!a.content)return a;let b="",c="",d=[];for(let e of a.content)"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return b===d.h.OLLAMA?(0,f.ollamaBodyToOpenAI)(a):a}(I,r,m):I,M=(0,k.YZ)({usage:J||(0,k.MK)(L),body:s,responseBody:I,translatedResponse:L,format:m});if(E({tokens:M,status:"200 OK"}),(0,k.qr)({provider:b,model:c,tokens:M,connectionId:x,apiKey:y,endpoint:z?.endpoint,status:"ok",statusCode:200,latencyMs:K,ttftMs:K,isStreaming:!1,requestContext:F||{},requestPolicyMeta:G,rtkStats:H,meta:M?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:M.usageEstimatedReason}:{}}),L?.choices?.[0]){let a=L.choices[0],b=a.message;Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls")}let N=Array.isArray(L?.choices);if(N&&(L.object||(L.object="chat.completion"),L.created||(L.created=Math.floor(Date.now()/1e3))),delete L.prompt_filter_results,L?.choices)for(let a of L.choices)delete a.content_filter_results;L?.usage&&(L.usage=(0,g.WL)((0,g.O9)(L.usage),m));let O=L?.choices?.[0]?.message?.reasoning_content||L?.reasoning_content||null,P=N&&m!==d.h.OPENAI,Q=L;if(P&&(m===d.h.CLAUDE?Q=(0,o.F)(L,M):m===d.h.OPENAI_RESPONSES&&(Q=(0,o.P)(L,M))),L?.choices)for(let a of L.choices)a?.message&&delete a.message.reasoning_content;return B.logConvertedResponse(Q),(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:x,latency:{ttft:K,total:K},tokens:M||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(s,t),providerRequest:v||u||null,providerResponse:I||null,response:{content:L?.choices?.[0]?.message?.content||L?.content||null,thinking:O,finish_reason:L?.choices?.[0]?.finish_reason||"unknown"},status:"success",rtkStats:H},{endpoint:z?.endpoint||null,requestId:F?.requestId})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(Q),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}},9902:(a,b,c)=>{function d(a={}){let b="";if("string"==typeof a.content)b=a.content;else if(Array.isArray(a.content))for(let c of a.content)"string"==typeof c?b+=c:"string"==typeof c?.text&&(b+=c.text);return{text:b,toolCalls:Array.isArray(a.tool_calls)?a.tool_calls:[]}}function e(a,b){let c=a?.choices?.[0]||{},e=c.message||{},{text:f,toolCalls:g}=d(e),h=[];for(let a of(e.reasoning_content&&h.push({type:"thinking",thinking:e.reasoning_content}),f&&h.push({type:"text",text:f}),g))h.push({type:"tool_use",id:a.id,name:a.function?.name||"",input:function(a){if(!a)return{};try{let b=JSON.parse(a);return b&&"object"==typeof b?b:{}}catch{return{}}}(a.function?.arguments)});0===h.length&&h.push({type:"text",text:""});let i="end_turn";"length"===c.finish_reason?i="max_tokens":("tool_calls"===c.finish_reason||g.length>0)&&(i="tool_use");let j=b?.input_tokens??b?.prompt_tokens??0,k=b?.output_tokens??b?.completion_tokens??0,l={id:a?.id?`msg_${String(a.id).replace(/^chatcmpl-/,"")}`:`msg_${Date.now()}`,type:"message",role:"assistant",model:a?.model||"unknown",content:h,stop_reason:i,stop_sequence:null,usage:{input_tokens:j,output_tokens:k}},m=b?.cache_read_input_tokens,n=b?.cache_creation_input_tokens;return m>0&&(l.usage.cache_read_input_tokens=m),n>0&&(l.usage.cache_creation_input_tokens=n),l}function f(a,b){let c=(a?.choices?.[0]||{}).message||{},{text:e,toolCalls:f}=d(c),g=a?.id||`resp_${Date.now()}`,h=[];for(let a of(c.reasoning_content&&h.push({id:`rs_${g}`,type:"reasoning",summary:[{type:"summary_text",text:c.reasoning_content}]}),e&&h.push({id:`msg_${g}`,type:"message",role:"assistant",content:[{type:"output_text",annotations:[],logprobs:[],text:e}]}),f))h.push({id:`fc_${a.id||g}`,type:"function_call",call_id:a.id,name:a.function?.name||"",arguments:a.function?.arguments||"{}"});let i=b?.input_tokens??b?.prompt_tokens??0,j=b?.output_tokens??b?.completion_tokens??0,k={id:a?.id?`resp_${a.id}`:g,object:"response",created_at:a?.created||Math.floor(Date.now()/1e3),status:"completed",background:!1,error:null,model:a?.model||"unknown",output:h,usage:{input_tokens:i,output_tokens:j,total_tokens:i+j}},l=b?.cache_read_input_tokens||b?.cached_tokens;return l>0&&(k.usage.input_tokens_details={cached_tokens:l}),k}c.d(b,{F:()=>e,P:()=>f})},12557:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(3662);function e(a,b,c=0){let f=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";for(let b of d.t2)if(b.text&&f&&f.includes(b.text)||b.status&&b.status===a){if(b.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(a),newBackoffLevel:a}}return{shouldFallback:!0,cooldownMs:b.cooldownMs}}return{shouldFallback:!0,cooldownMs:d.wf}}function f(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}let g="modelLock_",h=`${g}__all`;function i(a){return a?`${g}${a}`:h}function j(a,b){let c=a[i(b)]||a[h];return!!c&&new Date(c).getTime()>Date.now()}function k(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(g)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function l(a,b){return{[i(a)]:new Date(Date.now()+b).toISOString()}}},14724:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let b=a.map(e),c=new Set;for(let a of d)if(b.some(b=>a.triggers.some(a=>f(b,a))))for(let d of b)a.strip.some(a=>f(d,a))&&c.add(d);return 0===c.size?{tools:a,stripped:[]}:{tools:a.filter(a=>!c.has(e(a))),stripped:Array.from(c)}}},20623:(a,b,c)=>{c.d(b,{$:()=>r,M:()=>q});var d=c(14170),e=c(33110),f=c(71857),g=c(59657),h=c(86171),i=c(47370);let j={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"},k=new TextEncoder;function l(a,b){try{return a.enqueue(k.encode(b)),!0}catch{return!1}}function m(a,b){"string"==typeof b&&b.length>0&&a.push(b)}function n(a){let b=[],c=[];return(a=>{if(!a||"object"!=typeof a)return;if(Array.isArray(a.choices))for(let d of a.choices)m(b,d?.message?.content),m(b,d?.delta?.content),m(b,d?.text),m(c,d?.message?.reasoning_content),m(c,d?.message?.thinking),m(c,d?.delta?.reasoning_content),m(c,d?.delta?.thinking);let d=Array.isArray(a.candidates)?a.candidates:Array.isArray(a.response?.candidates)?a.response.candidates:null;if(d)for(let a of d)for(let d of a?.content?.parts||[])m(d?.thought===!0?c:b,d?.text);if(Array.isArray(a.content))for(let d of a.content)"string"==typeof d?m(b,d):(m(d?.type==="thinking"?c:b,d?.text),m(d?.type==="thinking"?c:b,d?.thinking));if(m(b,a.delta?.text),m(c,a.delta?.thinking),m(b,a.message?.content),m(c,a.message?.thinking),m(b,a.response),m(c,a.thinking),m(b,a.content),m(b,a.text),m(b,a.output_text),m(b,a.data?.content),m(b,a.data?.text),Array.isArray(a.output)){for(let d of a.output)if("string"==typeof d?.content&&m("reasoning"===d.type?c:b,d.content),Array.isArray(d?.content))for(let a of d.content)m(a?.type==="reasoning"||a?.type==="summary_text"||a?.type==="reasoning_text"?c:b,a?.text||a?.output_text)}})(a),{content:b.join(""),thinking:c.join("")}}function o(a){let b=a?.body&&"object"==typeof a.body?a.body:a,c=b?.usage||b?.response?.usage||b?.usageMetadata||b?.response?.usageMetadata;if(!c||"object"!=typeof c)return null;if(void 0!==c.prompt_tokens||void 0!==c.completion_tokens||void 0!==c.total_tokens)return c;if(void 0!==c.input_tokens||void 0!==c.output_tokens){let a=c.input_tokens||0,b=c.output_tokens||0,d={prompt_tokens:a,completion_tokens:b,total_tokens:c.total_tokens||a+b},e=c.input_tokens_details?.cached_tokens;"number"==typeof e&&e>0&&(d.prompt_tokens_details={cached_tokens:e},d.cached_tokens=e);let f=c.output_tokens_details?.reasoning_tokens;return"number"==typeof f&&f>0&&(d.completion_tokens_details={reasoning_tokens:f},d.reasoning_tokens=f),d}return void 0!==c.promptTokenCount||void 0!==c.candidatesTokenCount||void 0!==c.totalTokenCount?{prompt_tokens:c.promptTokenCount||0,completion_tokens:c.candidatesTokenCount||0,total_tokens:c.totalTokenCount||(c.promptTokenCount||0)+(c.candidatesTokenCount||0)}:null}function p({provider:a,targetFormat:b,sourceFormat:c,userAgent:e}){let f=(e||"").toLowerCase(),g=f.includes("droid")||f.includes("codex-cli");return"codex"!==a||b!==d.h.OPENAI_RESPONSES||g?c:c===d.h.OPENAI_RESPONSES?d.h.OPENAI_RESPONSES:c===d.h.CLAUDE?d.h.CLAUDE:c===d.h.ANTIGRAVITY||c===d.h.GEMINI||c===d.h.GEMINI_CLI?d.h.ANTIGRAVITY:d.h.OPENAI}function q({providerResponse:a,provider:b,model:c,sourceFormat:k,targetFormat:m,userAgent:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,apiKey:y,clientRawRequest:z,onRequestSuccess:A,reqLogger:B,toolNameMap:C,streamController:D,onStreamComplete:E,requestContext:F,requestPolicyMeta:G,rtkStats:H=null}){if(!function({providerResponse:a,provider:b,targetFormat:c}){let e;return e=a?.headers?.get?.("content-type")||"",!!(/text\/event-stream/i.test(e)||"codex"===b&&c===d.h.OPENAI_RESPONSES&&a?.body)}({providerResponse:a,provider:b,targetFormat:m}))return function({providerResponse:a,provider:b,model:c,sourceFormat:g,targetFormat:k,userAgent:m,body:q,stream:r,translatedBody:s,finalBody:t,requestStartTime:u,connectionId:v,apiKey:w,clientRawRequest:x,onRequestSuccess:y,reqLogger:z,toolNameMap:A,requestContext:B,requestPolicyMeta:C,rtkStats:D=null,providerResponseInfo:E=null}){y&&y();let F=B?.requestId?`${B.requestId}:stream`:`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,G=new ReadableStream({async start(j){let y=Date.now(),G="",H=null,I="",J="",K=null,L="",M=null,N=a?.status||E?.status||200,O=a?.statusText||E?.statusText||"OK",P=function(a){let b={};try{a?.forEach?.((a,c)=>{b[c]=a})}catch{}return b}(a?.headers||E?.headers);try{G=await a.text();let E=function({rawText:a,provider:b,model:c,sourceFormat:g,targetFormat:h,userAgent:i,toolNameMap:j,reqLogger:k}){if(!("string"==typeof a&&a.trim()&&/^\s*(event|data):/m.test(a)&&/^\s*data:/m.test(a)))return null;let l=function(a){let b=[],c=null,d=[],e=()=>{if(0===d.length){c=null;return}let a=d.join("\n").trim();if(d=[],!a){c=null;return}if("[DONE]"===a){b.push({done:!0}),c=null;return}try{let d=JSON.parse(a);c?b.push({event:c,type:d?.type||c,data:d}):b.push(d)}catch{b.push(c?{event:c,type:c,data:a}:{data:a})}c=null};for(let b of a.split(/\r?\n/)){let a=b.trimEnd();if(""===a){e();continue}if(!a.startsWith(":")){if(a.startsWith("event:")){c=a.slice(6).trim();continue}a.startsWith("data:")&&d.push(a.slice(5).trimStart())}}return e(),b}(a);if(!l.length)return null;let m=p({provider:b,targetFormat:h,sourceFormat:g,userAgent:i});if(m===h)return{ssePayload:a.endsWith("\n")?a:`${a}
|
|
1
|
+
"use strict";exports.id=8895,exports.ids=[8895],exports.modules={324:(a,b,c)=>{c.d(b,{J:()=>e,Q:()=>f});let d={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function e(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),f=(a["openai-intent"]||"").toLowerCase(),g=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===f||"user"===g?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-cli")?"codex":c.includes("deepseek-tui")?"deepseek-tui":null}function f(a,b){if(!a)return!1;let c=d[a];if(!c)return!1;let e=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(e)}},5016:(a,b,c)=>{c.d(b,{N:()=>q});var d=c(14170),e=c(33110),f=c(39551),g=c(73483),h=c(43659),i=c(41004),j=c(81626),k=c(86171),l=c(47370),m=c(35901),n=c(55399),o=c(9902);function p({provider:a,model:b,connectionId:c,apiKey:d,endpoint:e,requestContext:f,body:g,stream:h,translatedBody:j,finalBody:n,requestStartTime:o,message:q,errorCode:r,errorType:s,rtkStats:t=null}){let u=Date.now()-o;(0,l.E5)({model:b,provider:a,connectionId:c,status:`FAILED ${i.gx.BAD_GATEWAY}`}).catch(()=>{}),(0,l.ox)((0,k.$R)({provider:a,model:b,connectionId:c,latency:{ttft:0,total:u},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(g,h),providerRequest:n||j||null,response:{error:q,status:i.gx.BAD_GATEWAY,thinking:null},status:"error",rtkStats:t},{endpoint:e||null})).catch(()=>{}),(0,m.jk)({...f||{},requestContext:f,provider:a,model:b,connectionId:c,apiKey:d,endpoint:e,gatewayStatusCode:i.gx.BAD_GATEWAY,errorSource:"provider_response_parse",errorType:s,errorCode:r,errorMessageShort:q,latencyMs:u}).catch(()=>{}),(0,k.sx)({provider:a,model:b,connectionId:c,apiKey:d,endpoint:e,statusCode:i.gx.BAD_GATEWAY,errorCode:r,errorType:s,errorMessage:q,latencyMs:u,requestContext:f||{},meta:{errorSource:"provider_response_parse"},rtkStats:t})}async function q({providerResponse:a,provider:b,model:c,sourceFormat:m,targetFormat:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,apiKey:y,clientRawRequest:z,onRequestSuccess:A,reqLogger:B,toolNameMap:C,trackDone:D,appendLog:E,requestContext:F,requestPolicyMeta:G,rtkStats:H=null}){let I;if(D(),(a.headers.get("content-type")||"").includes("text/event-stream")){let d=await a.text(),e=(0,j.F)(d,c);if(!e){let a="Invalid SSE response for non-streaming request";return E({status:`FAILED ${i.gx.BAD_GATEWAY}`}),p({provider:b,model:c,connectionId:x,apiKey:y,endpoint:z?.endpoint,requestContext:F,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,message:a,errorCode:"invalid_sse",errorType:"invalid_sse",rtkStats:H}),(0,h.A1)(i.gx.BAD_GATEWAY,a,void 0,m)}I=e}else try{I=await a.json()}catch(d){let a=`Invalid JSON response from ${b}`;return E({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,d.message),p({provider:b,model:c,connectionId:x,apiKey:y,endpoint:z?.endpoint,requestContext:F,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,message:a,errorCode:"invalid_json",errorType:"invalid_json",rtkStats:H}),(0,h.A1)(i.gx.BAD_GATEWAY,a,void 0,m)}B.logProviderResponse(a.status,a.statusText,a.headers,I),A&&await A(),I=(0,n.kR)(I,C);let J=(0,k.MK)(I),K=Date.now()-w,L=(0,e.nZ)(r,m)?function(a,b,c){if(b===c||b===d.h.OPENAI)return a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g="",h=[];if(d?.parts)for(let a of d.parts)!0===a.thought&&a.text?g+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&h.push({id:`call_${a.functionCall.name}_${Date.now()}_${h.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let i={role:"assistant"};f&&(i.content=f),g&&(i.reasoning_content=g),h.length>0&&(i.tool_calls=h),i.content||i.tool_calls||(i.content="");let j=(c.finishReason||"stop").toLowerCase();"stop"===j&&h.length>0&&(j="tool_calls");let k={id:`chatcmpl-${b.responseId||Date.now()}`,object:"chat.completion",created:Math.floor(new Date(b.createTime||Date.now()).getTime()/1e3),model:b.modelVersion||"gemini",choices:[{index:0,message:i,finish_reason:j}]};return e&&(k.usage={prompt_tokens:(e.promptTokenCount||0)+(e.thoughtsTokenCount||0),completion_tokens:e.candidatesTokenCount||0,total_tokens:e.totalTokenCount||0},e.thoughtsTokenCount>0&&(k.usage.completion_tokens_details={reasoning_tokens:e.thoughtsTokenCount})),k}if(b===d.h.CLAUDE){if(!a.content)return a;let b="",c="",d=[];for(let e of a.content)"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e={role:"assistant"};b&&(e.content=b),c&&(e.reasoning_content=c),d.length>0&&(e.tool_calls=d),e.content||e.tool_calls||(e.content="");let f=a.stop_reason||"stop";"end_turn"===f&&(f="stop"),"tool_use"===f&&(f="tool_calls");let g={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:e,finish_reason:f}]};return a.usage&&(g.usage={prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,total_tokens:(a.usage.input_tokens||0)+(a.usage.output_tokens||0)}),g}return b===d.h.OLLAMA?(0,f.ollamaBodyToOpenAI)(a):a}(I,r,m):I,M=(0,k.YZ)({usage:J||(0,k.MK)(L),body:s,responseBody:I,translatedResponse:L,format:m});if(E({tokens:M,status:"200 OK"}),(0,k.qr)({provider:b,model:c,tokens:M,connectionId:x,apiKey:y,endpoint:z?.endpoint,status:"ok",statusCode:200,latencyMs:K,ttftMs:K,isStreaming:!1,requestContext:F||{},requestPolicyMeta:G,rtkStats:H,meta:M?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:M.usageEstimatedReason}:{}}),L?.choices?.[0]){let a=L.choices[0],b=a.message;Array.isArray(b?.tool_calls)&&b.tool_calls.length>0&&"tool_calls"!==a.finish_reason&&(a.finish_reason="tool_calls")}let N=Array.isArray(L?.choices);if(N&&(L.object||(L.object="chat.completion"),L.created||(L.created=Math.floor(Date.now()/1e3))),delete L.prompt_filter_results,L?.choices)for(let a of L.choices)delete a.content_filter_results;L?.usage&&(L.usage=(0,g.WL)((0,g.O9)(L.usage),m));let O=L?.choices?.[0]?.message?.reasoning_content||L?.reasoning_content||null,P=N&&m!==d.h.OPENAI,Q=L;if(P&&(m===d.h.CLAUDE?Q=(0,o.F)(L,M):m===d.h.OPENAI_RESPONSES&&(Q=(0,o.P)(L,M))),L?.choices)for(let a of L.choices)a?.message&&delete a.message.reasoning_content;return B.logConvertedResponse(Q),(0,l.ox)((0,k.$R)({provider:b,model:c,connectionId:x,latency:{ttft:K,total:K},tokens:M||{prompt_tokens:0,completion_tokens:0},request:(0,k.Fo)(s,t),providerRequest:v||u||null,providerResponse:I||null,response:{content:L?.choices?.[0]?.message?.content||L?.content||null,thinking:O,finish_reason:L?.choices?.[0]?.finish_reason||"unknown"},status:"success",rtkStats:H},{endpoint:z?.endpoint||null,requestId:F?.requestId})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(Q),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}},9902:(a,b,c)=>{function d(a={}){let b="";if("string"==typeof a.content)b=a.content;else if(Array.isArray(a.content))for(let c of a.content)"string"==typeof c?b+=c:"string"==typeof c?.text&&(b+=c.text);return{text:b,toolCalls:Array.isArray(a.tool_calls)?a.tool_calls:[]}}function e(a,b){let c=a?.choices?.[0]||{},e=c.message||{},{text:f,toolCalls:g}=d(e),h=[];for(let a of(e.reasoning_content&&h.push({type:"thinking",thinking:e.reasoning_content}),f&&h.push({type:"text",text:f}),g))h.push({type:"tool_use",id:a.id,name:a.function?.name||"",input:function(a){if(!a)return{};try{let b=JSON.parse(a);return b&&"object"==typeof b?b:{}}catch{return{}}}(a.function?.arguments)});0===h.length&&h.push({type:"text",text:""});let i="end_turn";"length"===c.finish_reason?i="max_tokens":("tool_calls"===c.finish_reason||g.length>0)&&(i="tool_use");let j=b?.input_tokens??b?.prompt_tokens??0,k=b?.output_tokens??b?.completion_tokens??0,l={id:a?.id?`msg_${String(a.id).replace(/^chatcmpl-/,"")}`:`msg_${Date.now()}`,type:"message",role:"assistant",model:a?.model||"unknown",content:h,stop_reason:i,stop_sequence:null,usage:{input_tokens:j,output_tokens:k}},m=b?.cache_read_input_tokens,n=b?.cache_creation_input_tokens;return m>0&&(l.usage.cache_read_input_tokens=m),n>0&&(l.usage.cache_creation_input_tokens=n),l}function f(a,b){let c=(a?.choices?.[0]||{}).message||{},{text:e,toolCalls:f}=d(c),g=a?.id||`resp_${Date.now()}`,h=[];for(let a of(c.reasoning_content&&h.push({id:`rs_${g}`,type:"reasoning",summary:[{type:"summary_text",text:c.reasoning_content}]}),e&&h.push({id:`msg_${g}`,type:"message",role:"assistant",content:[{type:"output_text",annotations:[],logprobs:[],text:e}]}),f))h.push({id:`fc_${a.id||g}`,type:"function_call",call_id:a.id,name:a.function?.name||"",arguments:a.function?.arguments||"{}"});let i=b?.input_tokens??b?.prompt_tokens??0,j=b?.output_tokens??b?.completion_tokens??0,k={id:a?.id?`resp_${a.id}`:g,object:"response",created_at:a?.created||Math.floor(Date.now()/1e3),status:"completed",background:!1,error:null,model:a?.model||"unknown",output:h,usage:{input_tokens:i,output_tokens:j,total_tokens:i+j}},l=b?.cache_read_input_tokens||b?.cached_tokens;return l>0&&(k.usage.input_tokens_details={cached_tokens:l}),k}c.d(b,{F:()=>e,P:()=>f})},12557:(a,b,c)=>{c.d(b,{Bl:()=>q,L5:()=>k,Qo:()=>m,S5:()=>s,hk:()=>l,kJ:()=>r});var d=c(3662);function e(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}let f=new Set([400,406,409,413,415,422]),g=new Set([401,402,403,404,408,425,429,500,502,503,504]),h=new Set([401,402,403,404,408,425,429,500,502,503,504]),i=["improperly formed request","invalid request","validation error","context length","maximum context","context window","too many tokens","request too large","json schema"];function j(a,b,c,g){let h=Number(a)||0,j=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";if(i.some(a=>j.includes(a)))return{shouldFallback:!1,cooldownMs:0};let k=function(a,b,c){for(let f of d.t2){if(f.text&&a&&a.includes(f.text)){if("improperly formed request"===f.text)return null;if(f.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(a),newBackoffLevel:a}}return{shouldFallback:!0,cooldownMs:f.cooldownMs}}if(f.status&&f.status===b){if(f.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:e(a),newBackoffLevel:a}}return{shouldFallback:!0,cooldownMs:f.cooldownMs}}}return null}(j,h,c);return k&&!f.has(h)||k&&["rate limit","too many requests","quota exceeded","capacity","overloaded","no credentials","request not allowed"].some(a=>j.includes(a))?k:f.has(h)?{shouldFallback:!1,cooldownMs:0}:g.has(h)||h>=500||0===h?k||{shouldFallback:!0,cooldownMs:d.wf}:{shouldFallback:!1,cooldownMs:0}}function k(a,b,c=0){return j(a,b,c,h)}function l(a,b,c=0){return function(a,b,c=0){return j(a,b,c,g)}(a,b,c)}function m(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}let n="modelLock_",o=`${n}__all`;function p(a){return a?`${n}${a}`:o}function q(a,b){let c=a[p(b)]||a[o];return!!c&&new Date(c).getTime()>Date.now()}function r(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(n)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function s(a,b){return{[p(a)]:new Date(Date.now()+b).toISOString()}}},14724:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a){if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let b=a.map(e),c=new Set;for(let a of d)if(b.some(b=>a.triggers.some(a=>f(b,a))))for(let d of b)a.strip.some(a=>f(d,a))&&c.add(d);return 0===c.size?{tools:a,stripped:[]}:{tools:a.filter(a=>!c.has(e(a))),stripped:Array.from(c)}}},20623:(a,b,c)=>{c.d(b,{$:()=>r,M:()=>q});var d=c(14170),e=c(33110),f=c(71857),g=c(59657),h=c(86171),i=c(47370);let j={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"},k=new TextEncoder;function l(a,b){try{return a.enqueue(k.encode(b)),!0}catch{return!1}}function m(a,b){"string"==typeof b&&b.length>0&&a.push(b)}function n(a){let b=[],c=[];return(a=>{if(!a||"object"!=typeof a)return;if(Array.isArray(a.choices))for(let d of a.choices)m(b,d?.message?.content),m(b,d?.delta?.content),m(b,d?.text),m(c,d?.message?.reasoning_content),m(c,d?.message?.thinking),m(c,d?.delta?.reasoning_content),m(c,d?.delta?.thinking);let d=Array.isArray(a.candidates)?a.candidates:Array.isArray(a.response?.candidates)?a.response.candidates:null;if(d)for(let a of d)for(let d of a?.content?.parts||[])m(d?.thought===!0?c:b,d?.text);if(Array.isArray(a.content))for(let d of a.content)"string"==typeof d?m(b,d):(m(d?.type==="thinking"?c:b,d?.text),m(d?.type==="thinking"?c:b,d?.thinking));if(m(b,a.delta?.text),m(c,a.delta?.thinking),m(b,a.message?.content),m(c,a.message?.thinking),m(b,a.response),m(c,a.thinking),m(b,a.content),m(b,a.text),m(b,a.output_text),m(b,a.data?.content),m(b,a.data?.text),Array.isArray(a.output)){for(let d of a.output)if("string"==typeof d?.content&&m("reasoning"===d.type?c:b,d.content),Array.isArray(d?.content))for(let a of d.content)m(a?.type==="reasoning"||a?.type==="summary_text"||a?.type==="reasoning_text"?c:b,a?.text||a?.output_text)}})(a),{content:b.join(""),thinking:c.join("")}}function o(a){let b=a?.body&&"object"==typeof a.body?a.body:a,c=b?.usage||b?.response?.usage||b?.usageMetadata||b?.response?.usageMetadata;if(!c||"object"!=typeof c)return null;if(void 0!==c.prompt_tokens||void 0!==c.completion_tokens||void 0!==c.total_tokens)return c;if(void 0!==c.input_tokens||void 0!==c.output_tokens){let a=c.input_tokens||0,b=c.output_tokens||0,d={prompt_tokens:a,completion_tokens:b,total_tokens:c.total_tokens||a+b},e=c.input_tokens_details?.cached_tokens;"number"==typeof e&&e>0&&(d.prompt_tokens_details={cached_tokens:e},d.cached_tokens=e);let f=c.output_tokens_details?.reasoning_tokens;return"number"==typeof f&&f>0&&(d.completion_tokens_details={reasoning_tokens:f},d.reasoning_tokens=f),d}return void 0!==c.promptTokenCount||void 0!==c.candidatesTokenCount||void 0!==c.totalTokenCount?{prompt_tokens:c.promptTokenCount||0,completion_tokens:c.candidatesTokenCount||0,total_tokens:c.totalTokenCount||(c.promptTokenCount||0)+(c.candidatesTokenCount||0)}:null}function p({provider:a,targetFormat:b,sourceFormat:c,userAgent:e}){let f=(e||"").toLowerCase(),g=f.includes("droid")||f.includes("codex-cli");return"codex"!==a||b!==d.h.OPENAI_RESPONSES||g?c:c===d.h.OPENAI_RESPONSES?d.h.OPENAI_RESPONSES:c===d.h.CLAUDE?d.h.CLAUDE:c===d.h.ANTIGRAVITY||c===d.h.GEMINI||c===d.h.GEMINI_CLI?d.h.ANTIGRAVITY:d.h.OPENAI}function q({providerResponse:a,provider:b,model:c,sourceFormat:k,targetFormat:m,userAgent:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,apiKey:y,clientRawRequest:z,onRequestSuccess:A,reqLogger:B,toolNameMap:C,streamController:D,onStreamComplete:E,requestContext:F,requestPolicyMeta:G,rtkStats:H=null}){if(!function({providerResponse:a,provider:b,targetFormat:c}){let e;return e=a?.headers?.get?.("content-type")||"",!!(/text\/event-stream/i.test(e)||"codex"===b&&c===d.h.OPENAI_RESPONSES&&a?.body)}({providerResponse:a,provider:b,targetFormat:m}))return function({providerResponse:a,provider:b,model:c,sourceFormat:g,targetFormat:k,userAgent:m,body:q,stream:r,translatedBody:s,finalBody:t,requestStartTime:u,connectionId:v,apiKey:w,clientRawRequest:x,onRequestSuccess:y,reqLogger:z,toolNameMap:A,requestContext:B,requestPolicyMeta:C,rtkStats:D=null,providerResponseInfo:E=null}){y&&y();let F=B?.requestId?`${B.requestId}:stream`:`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,G=new ReadableStream({async start(j){let y=Date.now(),G="",H=null,I="",J="",K=null,L="",M=null,N=a?.status||E?.status||200,O=a?.statusText||E?.statusText||"OK",P=function(a){let b={};try{a?.forEach?.((a,c)=>{b[c]=a})}catch{}return b}(a?.headers||E?.headers);try{G=await a.text();let E=function({rawText:a,provider:b,model:c,sourceFormat:g,targetFormat:h,userAgent:i,toolNameMap:j,reqLogger:k}){if(!("string"==typeof a&&a.trim()&&/^\s*(event|data):/m.test(a)&&/^\s*data:/m.test(a)))return null;let l=function(a){let b=[],c=null,d=[],e=()=>{if(0===d.length){c=null;return}let a=d.join("\n").trim();if(d=[],!a){c=null;return}if("[DONE]"===a){b.push({done:!0}),c=null;return}try{let d=JSON.parse(a);c?b.push({event:c,type:d?.type||c,data:d}):b.push(d)}catch{b.push(c?{event:c,type:c,data:a}:{data:a})}c=null};for(let b of a.split(/\r?\n/)){let a=b.trimEnd();if(""===a){e();continue}if(!a.startsWith(":")){if(a.startsWith("event:")){c=a.slice(6).trim();continue}a.startsWith("data:")&&d.push(a.slice(5).trimStart())}}return e(),b}(a);if(!l.length)return null;let m=p({provider:b,targetFormat:h,sourceFormat:g,userAgent:i});if(m===h)return{ssePayload:a.endsWith("\n")?a:`${a}
|
|
2
2
|
|
|
3
3
|
`,usage:null,content:"",thinking:"",parserFormat:"raw_sse_passthrough"};let q={...(0,e.Ws)(m),provider:b,toolNameMap:j,model:c},r="",s="",t="",u=null,v=!1;for(let a of l){var w;if(!a||a.done)continue;let b=(w=a)&&!w.done&&"object"==typeof w?w.data&&"object"==typeof w.data&&!Array.isArray(w.data)?!w.data.type&&(w.type||w.event)?{...w.data,type:w.type||w.event}:w.data:w:w,c=n(b);c.content&&(s+=c.content),c.thinking&&(t+=c.thinking),u=o(b)||u;let g=(0,e.Y8)(h,m,b,q);if(g?._openaiIntermediate)for(let a of g._openaiIntermediate)k?.appendOpenAIChunk?.((0,f.v8)(a,d.h.OPENAI));if(g?.length)for(let a of g){let b=(0,f.v8)(a,m);k?.appendConvertedChunk?.(b),r+=b,v=!0}}let x=(0,e.Y8)(h,m,null,q);if(x?._openaiIntermediate)for(let a of x._openaiIntermediate)k?.appendOpenAIChunk?.((0,f.v8)(a,d.h.OPENAI));if(x?.length)for(let a of x){let b=(0,f.v8)(a,m);k?.appendConvertedChunk?.(b),r+=b,v=!0}return v?(q?.usage&&"object"==typeof q.usage&&(u=q.usage),{ssePayload:r+="data: [DONE]\n\n",usage:u,content:s,thinking:t,parserFormat:"raw_sse_translated"}):null}({rawText:G,provider:b,model:c,sourceFormat:g,targetFormat:k,userAgent:m,toolNameMap:A,reqLogger:z});H=function(a){if("string"!=typeof a||!a.trim())return null;try{return JSON.parse(a)}catch{return null}}(G);let Q=E?{content:E.content||"",thinking:E.thinking||""}:n(H||{text:G});I=Q.content||"",J=Q.thinking||"",K=E?.usage||o(H)||null;let R=(0,h.YZ)({usage:K,body:q,contentText:`${I||""}${J||""}`,format:g});L=I||(G?"[Non-SSE response captured, text extraction failed]":"[No response content captured]"),M=J||null,z?.logProviderResponse?.(N,O,P,{streaming:!1,non_sse_in_streaming_path:!0,content:L,thinking:M,usage:R||K||null,provider_body:H??G,parser:{format:E?.parserFormat||(H?"json":"text"),formats:E?[E.parserFormat]:H?["json"]:["text"],content_found:!!I,thinking_found:!!J,usage_found:!!(R||K)}});let S={ttft:y-u,total:Date.now()-u};(0,i.ox)((0,h.$R)({provider:b,model:c,connectionId:v,latency:S,tokens:R||{prompt_tokens:0,completion_tokens:0},request:(0,h.Fo)(q,r),providerRequest:t||s||null,providerResponse:H??G,response:{content:L,thinking:M,type:"non_sse_streaming_fallback"},status:"success",rtkStats:D},{id:F,requestId:B?.requestId,endpoint:x?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save non-SSE streaming response:",a.message)}),(0,h.qr)({provider:b,model:c,tokens:R,connectionId:v,apiKey:w,endpoint:x?.endpoint,label:"STREAM NON-SSE USAGE",status:"ok",statusCode:N,latencyMs:S.total,ttftMs:S.ttft,isStreaming:!0,requestContext:B||{},requestPolicyMeta:C,rtkStats:D,meta:R?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:R.usageEstimatedReason,nonSseInStreamingPath:!0}:{nonSseInStreamingPath:!0}});let T=E?.ssePayload||function({sourceFormat:a,model:b,content:c,thinking:e,usage:f}){return a===d.h.CLAUDE?function({model:a,content:b,thinking:c,usage:d}){let e=`msg_${Date.now().toString(36)}`,f=0,g=[],h=(a,b)=>{g.push(`event: ${a}
|
|
4
4
|
data: ${JSON.stringify({type:a,...b})}
|
|
@@ -181,4 +181,4 @@ ${e.length} files in ${g.length} dirs:
|
|
|
181
181
|
`,b.slice(0,10)))h+=` ${c}
|
|
182
182
|
`;b.length>10&&(h+=` +${b.length-10}
|
|
183
183
|
`),h+="\n"}return g.length>20&&(h+=`+${g.length-20} more dirs
|
|
184
|
-
`),h.replace(/\n+$/,"")}x.filterName="search-list";let y=/^Result of search in '[^']*' \(total (\d+) files?\):/,z=/^diff --git /m,A=/^@@ /m,B=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,C=/^commit\s+[0-9a-f]{7,40}(?:\s|$)/mi,D=/^[0-9a-f]{7,40}\s+.+$/mi,E=/^[ MADRCU?!][ MADRCU?!] \S/m,F=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,G=/[├└]──|│ /,H=/^[-dlbcps][rwx-]{9}/m,I=/^total \d+$/m;function J(a){let b=String(a||"").trim().match(/^(\d{1,7}):(.*)$/);if(!b)return!1;let c=b[2]||"";return!(!c.trim()||/^\d{2}:\d{2}(?::\d{2})?(?:\b|[.,])/.test(c.trim()))}function K(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function L(a){let b=a.trim();return!(0===b.length||b.includes(":"))&&(b.startsWith(".")||b.startsWith("/")||b.includes("/"))}function M(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content))for(let a of c.content)a&&"string"==typeof a.text&&(a.text=N(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=N(b.output,e,"openai-responses-string");else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=N(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=N(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=N(c.text,e,"openai-tool-array"))}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content)c.content=N(c.content,e,"claude-string");else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=N(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function N(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let e=function(a){var b,c;let d,e,h=a.length>1024?a.slice(0,1024):a;if(z.test(h)||A.test(h))return f;if(B.test(h))return g;if(C.test(h)||function(a){let b=a.split("\n").filter(a=>a.trim());if(b.length<2)return!1;let c=b.filter(a=>D.test(a.trim())).length;return c>=2&&c/b.length>=.6}(h))return l;if(F.test(h))return n;if(!((d=h.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>E.test(a)).length/d.length>=.6)return g;let i=h.split("\n"),j=i.filter(a=>a.trim().length>0);return j.slice(0,5).some(K)||function(a){if(!Array.isArray(a)||a.length<3)return!1;let b=a.filter(J).length;return b>=3&&b/a.length>=.8}(j.slice(0,10))?o:j.length>=3&&j.every(L)?p:G.test(h)?t:I.test(h)||(b=h,e=new RegExp((c=H).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(e)||[]).length>=3)?s:y.test(h)?x:i.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,w.test(d)&&b++);return!(c<5)&&b/c>=.7}(i)?v:j.length>=5?q:a.split("\n").length>=250?u:null}(a);if(!e)return b.bytesAfter+=d,a;let h=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(e,a);return!h||0===h.length||h.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=h.length,b.hits.push({shape:c,filter:e.filterName||e.name,bytesIn:d,saved:d-h.length}),h)}function O(a){return Array.from(new Set((a||[]).map(a=>String(a||"").trim()).filter(Boolean)))}function P(a,b){if(!0!==b)return null;let c=Array.isArray(a?.hits)?a.hits:[],e=Number(a?.bytesBefore||0),f=Number(a?.bytesAfter||0),g=Math.max(0,e-f),h=e>0?Number((g/e*100).toFixed(2)):0,i=O(c.map(a=>a?.filter)),j=O(c.map(a=>a?.shape));return{enabled:!0,applied:c.length>0&&g>0,version:d,bytesBefore:e,bytesAfter:f,bytesSaved:g,savedPct:h,hitCount:c.length,filters:i,shapes:j,hits:c.slice(0,50).map(a=>({shape:String(a?.shape||""),filter:String(a?.filter||""),bytesIn:Number(a?.bytesIn||0),saved:Number(a?.saved||0)}))}}function Q(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",e=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK ${d}] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${e}] hits=${a.hits.length}`}},81626:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{I:()=>o,F:()=>n});let e={input_tokens:0,output_tokens:0,total_tokens:0};async function f(a){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let b=a.getReader(),c=new TextDecoder,f="",g={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let h=(f+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(f=h.pop()||"",h))d(a,g)}f.trim()&&d(f,g)}finally{b.releaseLock()}let h=[],i=g.items.size>0?Math.max(...g.items.keys()):-1;for(let a=0;a<=i;a++)h.push(g.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:g.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:g.created,status:g.status||"completed",output:h,usage:g.usage}}var g=c(43659),h=c(41004),i=c(14170),j=c(86171),k=c(9902),l=c(47370);function m(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}function n(a,b){let c=[];for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{c.push(JSON.parse(d))}catch{}}if(0===c.length)return null;let d=c[0],e=[],f=[],g=new Map,h="stop",i=null,j=!1;for(let a of c){let b=a?.choices?.[0];b&&(j=!0);let c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&e.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&f.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;g.has(b)||g.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=g.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}if(!j)return null;let k={role:"assistant",content:e.join("")||(g.size>0?null:"")};f.length>0&&(k.reasoning_content=f.join("")),g.size>0&&(k.tool_calls=[...g.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:d.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:d.created||Math.floor(Date.now()/1e3),model:d.model||b||"unknown",choices:[{index:0,message:k,finish_reason:h}]};return i&&(l.usage=i),l}async function o({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:p,translatedBody:q,finalBody:r,requestStartTime:s,connectionId:t,apiKey:u,clientRawRequest:v,onRequestSuccess:w,trackDone:x,appendLog:y,requestContext:z,requestPolicyMeta:A,rtkStats:B=null}){let C=a.headers.get("content-type")||"";if(!(C.includes("text/event-stream")||""===C&&"codex"===c))return null;x();let D={provider:c,model:d,connectionId:t,request:(0,j.Fo)(e,p),providerRequest:r||q||null};if("codex"===c||b===i.h.OPENAI_RESPONSES)try{let g,h=await f(a.body);w&&await w();let{msgItem:n,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=m(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:m(c)}}(h.output),p=(0,j.YZ)({usage:h.usage||null,body:e,responseBody:h,contentText:o||"",format:b});y({tokens:p,status:"200 OK"});let q=Date.now()-s;if((0,j.qr)({provider:c,model:d,tokens:p,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:q,ttftMs:q,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:p?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:p.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:q,total:q},tokens:{prompt_tokens:p.input_tokens??p.prompt_tokens??0,completion_tokens:p.output_tokens??p.completion_tokens??0},response:{content:o,thinking:null,finish_reason:h.status||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{}),b===i.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(h),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let r=p.input_tokens??p.prompt_tokens??0,x=p.output_tokens??p.completion_tokens??0,C=(h.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),E=C.length>0;if(b===i.h.ANTIGRAVITY||b===i.h.GEMINI||b===i.h.GEMINI_CLI)g={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:r,candidatesTokenCount:x,totalTokenCount:r+x},modelVersion:d,responseId:h.id||`resp_${Date.now()}`}};else if(b===i.h.CLAUDE){let a={id:h.id||`chatcmpl-${Date.now()}`,model:h.model||d,choices:[{index:0,message:{role:"assistant",content:o||(E?null:""),...E?{tool_calls:C}:{}},finish_reason:E?"tool_calls":"completed"===h.status?"stop":h.status||"stop"}]};g=(0,k.F)(a,{input_tokens:r,output_tokens:x})}else{let a={role:"assistant",content:o||(E?null:"")};E&&(a.tool_calls=C);let b=E?"tool_calls":"completed"===h.status?"stop":h.status||"stop";g={id:h.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:h.created_at||Math.floor(Date.now()/1e3),model:h.model||d,choices:[{index:0,message:a,finish_reason:b}],usage:{prompt_tokens:r,completion_tokens:x,total_tokens:r+x}}}return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}try{let f=await a.text(),m=n(f,d);if(!m)return(0,g.A1)(h.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request",void 0,b);w&&await w();let o=(0,j.YZ)({usage:m.usage||null,body:e,responseBody:m,contentText:`${m.choices?.[0]?.message?.content||""}${m.choices?.[0]?.message?.reasoning_content||""}`,format:b});y({tokens:o,status:"200 OK"});let p=Date.now()-s;(0,j.qr)({provider:c,model:d,tokens:o,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:p,ttftMs:p,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:o?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:o.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:p,total:p},tokens:o,response:{content:m.choices?.[0]?.message?.content||null,thinking:m.choices?.[0]?.message?.reasoning_content||null,finish_reason:m.choices?.[0]?.finish_reason||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{});let q=m;if(b===i.h.CLAUDE)q=(0,k.F)(m,o);else if(b===i.h.OPENAI_RESPONSES)q=(0,k.P)(m,o);else if(m?.choices)for(let a of m.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}}},86171:(a,b,c)=>{c.d(b,{$R:()=>p,Fo:()=>n,MK:()=>o,YZ:()=>i,qr:()=>s,sx:()=>t,wS:()=>m});var d=c(99703),e=c(71857),f=c(73483);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a){return(function a(b,c=new Set){if(null==b)return"";if("string"==typeof b)return b;if("object"!=typeof b||c.has(b))return"";if(c.add(b),Array.isArray(b))return b.map(b=>a(b,c)).filter(Boolean).join("");let d="";for(let e of("string"==typeof b.content&&(d+=b.content),"string"==typeof b.reasoning_content&&(d+=b.reasoning_content),"string"==typeof b.text&&(d+=b.text),"string"==typeof b.output_text&&(d+=b.output_text),"string"==typeof b.delta?.content&&(d+=b.delta.content),"string"==typeof b.delta?.reasoning_content&&(d+=b.delta.reasoning_content),"string"==typeof b.delta?.text&&(d+=b.delta.text),"string"==typeof b.delta?.thinking&&(d+=b.delta.thinking),["message","choices","candidates","content","parts","output","response","data","item","items","result","results","message_delta","delta"]))void 0!==b[e]&&"string"!=typeof b[e]&&(d+=a(b[e],c));return d})(a).trim()}function i({usage:a,body:b,responseBody:c,translatedResponse:d,contentText:e,format:g,reason:j="missing_provider_usage"}={}){if((0,f.Gh)(a))return a;let k="string"==typeof e&&e.length>0?e:h(d)||h(c);return{...(0,f.OF)(b,k.length,g),estimated:!0,usageEstimated:!0,usageEstimatedReason:j}}function j(a){return String(a||"").trim()}function k(a){return a?"function"==typeof a.entries?Object.fromEntries(a.entries()):"object"==typeof a?a:{}:{}}function l(a,...b){let c=k(a);for(let a of b){let b=c[a]??c[a.toLowerCase()]??c[a.toUpperCase()];if(null!=b)return String(b)}return""}function m(a={}){let b=k(a.headers||a.request?.headers||a.clientHeaders),c=a.clientIp||a.sourceIp||l(b,"x-forwarded-for","x-real-ip","cf-connecting-ip","x-client-ip")||a.ip||"",d=a.clientUserAgent||l(b,"user-agent")||"",e=a.sourceTool||l(b,"x-9r-source-tool","x-source-tool","x-client-tool","x-bluerouter-source-tool")||"",f=a.sourceToolLabel||l(b,"x-9r-source-tool-label","x-source-tool-label","x-client-tool-label")||e;return{requestId:j(a.requestId)||`req_${Date.now()}_${Math.random().toString(36).slice(2,10)}`,sessionId:j(a.sessionId||l(b,"x-session-id","x-conversation-id","x-request-session-id")),clientIp:j(c),clientHost:j(a.clientHost||l(b,"host","x-forwarded-host")),clientUserAgent:j(d),sourceTool:j(e),sourceToolLabel:j(f),sourceHost:j(a.sourceHost||l(b,"x-9r-source-host","origin","referer"))}}function n(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function o(a){if(!a||"object"!=typeof a)return null;let b=a.usage||a.response?.usage;if(b?.input_tokens!==void 0||b?.output_tokens!==void 0)return{prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cached_tokens:b.input_tokens_details?.cached_tokens||b.prompt_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens||b.completion_tokens_details?.reasoning_tokens};if(b?.prompt_tokens!==void 0)return{prompt_tokens:b.prompt_tokens||0,completion_tokens:b.completion_tokens||0,cached_tokens:b.prompt_tokens_details?.cached_tokens||b.prompt_cache_hit_tokens,reasoning_tokens:b.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:b.prompt_tokens_details,completion_tokens_details:b.completion_tokens_details};let c=a.usageMetadata||a.response?.usageMetadata;if(c)return{prompt_tokens:c.promptTokenCount||0,completion_tokens:c.candidatesTokenCount||0,total_tokens:c.totalTokenCount,cached_tokens:c.cachedContentTokenCount,reasoning_tokens:c.thoughtsTokenCount};if(!0===a.done||a.response?.done===!0){let b=a.response||a;if("number"==typeof b.prompt_eval_count||"number"==typeof b.eval_count)return{prompt_tokens:b.prompt_eval_count||0,completion_tokens:b.eval_count||0,total_tokens:(b.prompt_eval_count||0)+(b.eval_count||0)}}return null}function p(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},status:a.status||"success",rtkStats:a.rtkStats||b.rtkStats||null,...b}}function q(a){if(!0===a||1===a)return!0;if(!1===a||0===a)return!1;if("string"==typeof a){let b=a.trim().toLowerCase();if(["true","1","yes","on","enabled"].includes(b))return!0;if(["false","0","no","off","disabled"].includes(b))return!1}return null}function r(a,b=0){let c=Number(a);return Number.isFinite(c)?Math.max(0,Math.trunc(c)):b}function s({provider:a,model:b,tokens:c,connectionId:f,apiKey:g,endpoint:h,label:i="USAGE",status:j="ok",statusCode:k=200,errorCode:l="",errorType:m="",errorMessage:n="",latencyMs:o=0,ttftMs:p=0,isStreaming:t=!1,requestContext:u={},meta:v={},requestPolicyMeta:w={},rtkStats:x=null}){let y=c&&"object"==typeof c?c:{},z=y.input_tokens??y.prompt_tokens??0,A=y.output_tokens??y.completion_tokens??0,B=k>=400||j&&!["ok","success","200"].includes(String(j).toLowerCase()),C=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),D=f?` | account=${f.slice(0,8)}...`:"",E=B?e.lm.red||"":e.lm.green||"";console.log(`${E}[${C}] [${i}] ${String(a||"unknown").toUpperCase()} | in=${z} | out=${A}${D}${e.lm.reset}`);let F={prompt_tokens:y.prompt_tokens??y.input_tokens??0,completion_tokens:y.completion_tokens??y.output_tokens??0,cached_tokens:y.cached_tokens??y.cache_read_input_tokens??y.prompt_tokens_details?.cached_tokens??0,reasoning_tokens:y.reasoning_tokens??y.completion_tokens_details?.reasoning_tokens??0},G=function(a={}){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:{};return{thinkingEnabled:q(b.thinkingEnabled),thinkingAutoOff:!0===q(b.thinkingAutoOff),thinkingAutoOffReason:String(b.thinkingAutoOffReason||"").trim(),promptChars:r(b.promptChars,0),forceThinkingOffAboveChars:r(b.forceThinkingOffAboveChars,0)}}(w||v?.requestPolicyMeta||{});(0,d.Py)({provider:a||"unknown",model:b||"unknown",tokens:F,timestamp:new Date().toISOString(),connectionId:f||void 0,apiKey:g||void 0,endpoint:h||null,status:j,statusCode:k,errorCode:l,errorType:m,errorMessage:n,latencyMs:o,ttftMs:p,isStreaming:t,thinkingEnabled:G.thinkingEnabled,thinkingAutoOff:G.thinkingAutoOff,thinkingAutoOffReason:G.thinkingAutoOffReason,promptChars:G.promptChars,forceThinkingOffAboveChars:G.forceThinkingOffAboveChars,...u,meta:{...v,...x?{rtkStats:x}:{},requestContext:u,requestPolicyMeta:G}}).catch(()=>{})}function t({provider:a="unknown",model:b="unknown",connectionId:c,apiKey:d,endpoint:e,statusCode:f=500,errorCode:g="unknown_error",errorType:h="error",errorMessage:i="",latencyMs:j=0,ttftMs:k=0,requestContext:l={},requestPolicyMeta:m={},meta:n={},rtkStats:o=null}){s({provider:a,model:b,tokens:{prompt_tokens:0,completion_tokens:0},connectionId:c,apiKey:d,endpoint:e,status:"error",statusCode:f,errorCode:g,errorType:h,errorMessage:i,latencyMs:j,ttftMs:k,requestContext:l,requestPolicyMeta:m||l?.requestPolicyMeta||n?.requestPolicyMeta||{},meta:n,rtkStats:o,label:"ERROR USAGE"})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>D});var e=c(57647),f=c(33110),g=c(14170),h=c(71857),i=c(59657),j=c(8590),k=c(71336),l=c(44404),m=c(43659),n=c(41004),o=c(27349),p=c(47370),q=c(35901),r=c(55330),s=c(86171),t=c(81626),u=c(5016),v=c(20623),w=c(324),x=c(14724),y=c(60125),z=c(72758),A=c(71750),B=a([r]);function C(a={}){(0,q.jk)(a).catch(()=>{}),(0,s.sx)({provider:a.provider,model:a.model,connectionId:a.connectionId,apiKey:a.apiKey,endpoint:a.endpoint,statusCode:a.gatewayStatusCode||a.statusCode||a.upstreamStatusCode||500,errorCode:a.errorCode,errorType:a.errorType,errorMessage:a.errorMessageShort||a.errorMessage,latencyMs:a.latencyMs,requestContext:a.requestContext||{},requestPolicyMeta:a.requestPolicyMeta||a.requestContext?.requestPolicyMeta||{},meta:{errorSource:a.errorSource,upstreamStatusCode:a.upstreamStatusCode,statusClass:a.statusClass},rtkStats:a.rtkStats||null})}async function D({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:q,onRequestSuccess:B,onDisconnect:E,clientRawRequest:F,connectionId:G,userAgent:H,apiKey:I,ccFilterNaming:J,rtkEnabled:K,cavemanEnabled:L,cavemanLevel:M,sourceFormatOverride:N,providerThinking:O,contentLoggingMode:P="inherit",requestPolicyMeta:Q=null,skipProviderRetry:R=!1}){let S,T,U,V,W,X,{provider:Y,model:Z}=b,$=Date.now();"claude"===Y&&(0,A.n)(G,F?.headers||{});let _=N||(0,e.Tz)(a),aa=(0,s.wS)({headers:F?.headers||{},requestId:F?.requestId,sessionId:F?.sessionId});if(F)for(let a of["accountName","connectionName","accountEmail","accountDisplayName","ownerUser","connectionScope","visibility"])F[a]&&!aa[a]&&(aa[a]=F[a]);Q&&"object"==typeof Q&&(aa.requestPolicyMeta=Q);let ab=(0,o.c)(a,Z,H,J);if(ab)return ab;let ac=l.Xg[Y]||Y,ad=(0,l.ux)(ac,Z)||(0,e.jJ)(Y),ae=(0,l.cY)(ac,Z),af=Q?.thinkingEnabled===!1||a?.enable_thinking===!1||a?.chat_template_kwargs?.enable_thinking===!1||a?.thinking?.type==="disabled";if(O?.mode&&"auto"!==O.mode&&!af){let b=O.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let ag=!0===a.stream||_===g.h.ANTIGRAVITY||_===g.h.GEMINI||_===g.h.GEMINI_CLI,ah="openai"===Y||"codex"===Y||"commandcode"===Y,ai=!!ah||!0===a.stream,aj=(0,w.J)(F?.headers||{},a);"deepseek-tui"===aj&&!0!==a.stream&&(ai=!1);let ak=F?.headers?.accept||"",al=ak.includes("application/json"),am=ak.includes("text/event-stream");al&&!am&&!0!==a.stream&&(ai=!1);let an=c?._connection||{},ao={provider:Y,connectionId:G,connectionName:c?.connectionName||c?.name||c?.providerSpecificData?.connectionName||c?.providerSpecificData?.name||"",accountName:c?.email||c?.accountName||c?.providerSpecificData?.email||c?.providerSpecificData?.accountName||c?.providerSpecificData?.account_name||c?.providerSpecificData?.login||c?.providerSpecificData?.username||"",accountEmail:an.email||F?.accountEmail||"",accountDisplayName:an.displayName||an.name||F?.accountDisplayName||"",ownerUser:an.ownerUser||F?.ownerUser||"",connectionScope:an.scope||F?.connectionScope||"",visibility:an.visibility||F?.visibility||"",contentLoggingMode:P,routingMetadata:F?.routingMetadata||null},ap=await (0,k.q7)(_,ad,Z,ao);F&&ap.logClientRawRequest(F.endpoint,F.body,F.headers),ap.logRawRequest(a),d?.debug?.("FORMAT",`${_} → ${ad} | stream=${ai}`);let aq=(0,w.J)(F?.headers||{},a),ar=(0,w.Q)(aq,Y);if(aq&&!aa.sourceTool&&(aa.sourceTool=aq,aa.sourceToolLabel||(aa.sourceToolLabel=aq)),ar)d?.debug?.("PASSTHROUGH",`${aq} → ${Y} | native lossless`),S={...a,model:Z};else{if(!(S=(0,f.GH)(_,ad,Z,a,ai,c,Y,ap,ae,G,aq))){(0,p.uw)(Z,Y,G,!1,!0);let a=`Failed to translate request for ${_} → ${ad}`;return C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:n.gx.BAD_REQUEST,errorSource:"gateway_validation",errorType:"invalid_request",errorCode:"translate_request_failed",errorMessageShort:a,latencyMs:Date.now()-$}),(0,m.A1)(n.gx.BAD_REQUEST,a,void 0,_)}T=S._toolNameMap,delete S._toolNameMap,S.model=Z}if("claude"===aq&&Array.isArray(S.tools)){let{tools:a,stripped:b}=(0,x.F)(S.tools);b.length>0&&(S.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let as=ar?_:ad,at=(0,z.BI)(S,K),au=(0,z.Qi)(at,K),av=(0,z.fT)(at);av&&console.log(av),L&&M&&((0,y.p)(S,as,M),d?.debug?.("CAVEMAN",`${M} | ${as}`));let aw=(0,r.SB)(Y);(0,p.uw)(Z,Y,G,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:"PENDING"}).catch(()=>{});let ax=S.messages?.length||S.input?.length||S.contents?.length||S.request?.contents?.length||0;d?.debug?.("REQUEST",`${Y.toUpperCase()} | ${Z} | ${ax} msgs`);let ay=(0,i.jd)({onDisconnect:a=>{(0,p.uw)(Z,Y,G,!1),E&&E(a)},onError:()=>(0,p.uw)(Z,Y,G,!1),log:d,provider:Y,model:Z}),az={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(az.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | pool=${b} | vercel-relay=${az.vercelRelayUrl}`)}else if(az.connectionProxyEnabled&&az.connectionProxyUrl){let a=az.connectionProxyUrl;try{let b=new URL(az.connectionProxyUrl),c=b.port?`:${b.port}`:"";a=`${b.protocol||"http:"}//${b.hostname||""}${c}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${e} | pool=${b} | url=${a}`)}if(az.connectionProxyEnabled&&az.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | no_proxy=${az.connectionNoProxy}`)}let aA=!1,aB=(a,b,c,d)=>{aA=!0,ap.logTargetRequest(a,b,c,d)};try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody,aA||ap.logTargetRequest(V,W,X)}catch(f){let b=f?.code==="UPSTREAM_HEADERS_TIMEOUT",c="AbortError"===f.name?499:b?n.gx.GATEWAY_TIMEOUT:n.gx.BAD_GATEWAY,d=Date.now()-$;if((0,p.uw)(Z,Y,G,!1,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${c}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:d},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:S||null,response:{error:f.message||String(f),status:c,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:c,errorSource:"AbortError"===f.name?"client_abort":b?"upstream_timeout":"network",errorType:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"network_error",errorCode:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"provider_execute_failed",errorMessageShort:f.message||String(f),latencyMs:d,rtkStats:au}),"AbortError"===f.name)return ay.handleError(f),(0,m.A1)(499,"Request aborted",void 0,_);if(b){let a=`${Y} did not return response headers within timeout (model: ${Z})`;return console.log(`${h.lm.red}[TIMEOUT] ${a}${h.lm.reset}`),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let e=(0,m.lR)(f,Y,Z,n.gx.BAD_GATEWAY);return console.log(`${h.lm.red}[ERROR] ${e}${h.lm.reset}`),(0,m.A1)(n.gx.BAD_GATEWAY,e,void 0,_)}if(!aw.noAuth&&(U.status===n.gx.UNAUTHORIZED||U.status===n.gx.FORBIDDEN))try{let a=await (0,j.qZ)(()=>aw.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${Y.toUpperCase()} | refreshed`),Object.assign(c,a),q)try{await q(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});a.response.ok&&(U=a.response,V=a.url,W=a.headers,X=a.transformedBody||X)}catch{d?.warn?.("TOKEN",`${Y.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh threw: ${a.message}`)}if(!U.ok){(0,p.uw)(Z,Y,G,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,m.zL)(U,aw),e=Date.now()-$;(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${b}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:e},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:X||S||null,response:{error:c,status:b,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:b,upstreamStatusCode:U.status,errorSource:"provider_http",errorMessageShort:c,upstreamErrorBodySnippet:c,latencyMs:e,rtkStats:au});let f=(0,m.lR)(Error(c),Y,Z,b);return console.log(`${h.lm.red}[ERROR] ${f}${h.lm.reset}`),ap.logError(Error(c),X||S),(0,m.A1)(b,f,d,_)}let aC={provider:Y,model:Z,body:a,stream:ai,translatedBody:S,finalBody:X,requestStartTime:$,connectionId:G,apiKey:I,clientRawRequest:F,onRequestSuccess:B,requestContext:aa,sourceFormat:_,targetFormat:ad,requestPolicyMeta:Q,rtkStats:au},aD=a=>(0,p.E5)({model:Z,provider:Y,connectionId:G,...a}).catch(()=>{}),aE=()=>(0,p.uw)(Z,Y,G,!1);if(!ag&&ah){let a=await (0,t.I)({...aC,providerResponse:U,sourceFormat:_,trackDone:aE,appendLog:aD});if(a)return ay.handleComplete(),a}if(!ai){let a=await (0,u.N)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,reqLogger:ap,toolNameMap:T,trackDone:aE,appendLog:aD});return ay.handleComplete(),a}let{onStreamComplete:aF}=(0,v.$)({...aC,reqLogger:ap,providerResponseInfo:{status:U.status,statusText:U.statusText,headers:U.headers}});return(0,v.M)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,userAgent:H,reqLogger:ap,toolNameMap:T,streamController:ay,onStreamComplete:aF})}r=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})}};
|
|
184
|
+
`),h.replace(/\n+$/,"")}x.filterName="search-list";let y=/^Result of search in '[^']*' \(total (\d+) files?\):/,z=/^diff --git /m,A=/^@@ /m,B=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,C=/^commit\s+[0-9a-f]{7,40}(?:\s|$)/mi,D=/^[0-9a-f]{7,40}\s+.+$/mi,E=/^[ MADRCU?!][ MADRCU?!] \S/m,F=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,G=/[├└]──|│ /,H=/^[-dlbcps][rwx-]{9}/m,I=/^total \d+$/m;function J(a){let b=String(a||"").trim().match(/^(\d{1,7}):(.*)$/);if(!b)return!1;let c=b[2]||"";return!(!c.trim()||/^\d{2}:\d{2}(?::\d{2})?(?:\b|[.,])/.test(c.trim()))}function K(a){let b=a.indexOf(":");if(-1===b)return!1;let c=a.indexOf(":",b+1);if(-1===c)return!1;let d=a.slice(b+1,c);return/^\d+$/.test(d)}function L(a){let b=a.trim();return!(0===b.length||b.includes(":"))&&(b.startsWith(".")||b.startsWith("/")||b.includes("/"))}function M(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content))for(let a of c.content)a&&"string"==typeof a.text&&(a.text=N(a.text,b,"kiro-tool-result"))}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if("string"==typeof b.output)b.output=N(b.output,e,"openai-responses-string");else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];c&&"input_text"===c.type&&"string"==typeof c.text&&(c.text=N(c.text,e,"openai-responses-array"))}continue}if("tool"===b.role&&"string"==typeof b.content){b.content=N(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){for(let a=0;a<b.content.length;a++){let c=b.content[a];c&&"text"===c.type&&"string"==typeof c.text&&(c.text=N(c.text,e,"openai-tool-array"))}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content)c.content=N(c.content,e,"claude-string");else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];b&&"text"===b.type&&"string"==typeof b.text&&(b.text=N(b.text,e,"claude-array"))}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function N(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let e=function(a){var b,c;let d,e,h=a.length>1024?a.slice(0,1024):a;if(z.test(h)||A.test(h))return f;if(B.test(h))return g;if(C.test(h)||function(a){let b=a.split("\n").filter(a=>a.trim());if(b.length<2)return!1;let c=b.filter(a=>D.test(a.trim())).length;return c>=2&&c/b.length>=.6}(h))return l;if(F.test(h))return n;if(!((d=h.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>E.test(a)).length/d.length>=.6)return g;let i=h.split("\n"),j=i.filter(a=>a.trim().length>0);return j.slice(0,5).some(K)||function(a){if(!Array.isArray(a)||a.length<3)return!1;let b=a.filter(J).length;return b>=3&&b/a.length>=.8}(j.slice(0,10))?o:j.length>=3&&j.every(L)?p:G.test(h)?t:I.test(h)||(b=h,e=new RegExp((c=H).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(e)||[]).length>=3)?s:y.test(h)?x:i.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,w.test(d)&&b++);return!(c<5)&&b/c>=.7}(i)?v:j.length>=5?q:a.split("\n").length>=250?u:null}(a);if(!e)return b.bytesAfter+=d,a;let h=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(e,a);return!h||0===h.length||h.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=h.length,b.hits.push({shape:c,filter:e.filterName||e.name,bytesIn:d,saved:d-h.length}),h)}function O(a){return Array.from(new Set((a||[]).map(a=>String(a||"").trim()).filter(Boolean)))}function P(a,b){if(!0!==b)return null;let c=Array.isArray(a?.hits)?a.hits:[],e=Number(a?.bytesBefore||0),f=Number(a?.bytesAfter||0),g=Math.max(0,e-f),h=e>0?Number((g/e*100).toFixed(2)):0,i=O(c.map(a=>a?.filter)),j=O(c.map(a=>a?.shape));return{enabled:!0,applied:c.length>0&&g>0,version:d,bytesBefore:e,bytesAfter:f,bytesSaved:g,savedPct:h,hitCount:c.length,filters:i,shapes:j,hits:c.slice(0,50).map(a=>({shape:String(a?.shape||""),filter:String(a?.filter||""),bytesIn:Number(a?.bytesIn||0),saved:Number(a?.saved||0)}))}}function Q(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",e=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK ${d}] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${e}] hits=${a.hits.length}`}},81626:(a,b,c)=>{function d(a,b){let c;if(!a.trim())return;let d=a.match(/^event:\s*(.+)$/m),e=a.match(/^data:\s*(.+)$/m);if(!d||!e)return;let f=d[1].trim(),g=e[1].trim();if("[DONE]"!==g){try{c=JSON.parse(g)}catch{return}"response.created"===f?(b.responseId=c.response?.id||b.responseId,b.created=c.response?.created_at||b.created):"response.output_item.done"===f?b.items.set(c.output_index??0,c.item):"response.completed"===f?(b.status="completed",c.response?.usage&&(b.usage.input_tokens=c.response.usage.input_tokens||0,b.usage.output_tokens=c.response.usage.output_tokens||0,b.usage.total_tokens=c.response.usage.total_tokens||0)):"response.failed"===f&&(b.status="failed")}}c.d(b,{I:()=>o,F:()=>n});let e={input_tokens:0,output_tokens:0,total_tokens:0};async function f(a){if(!a||"function"!=typeof a.getReader)return{id:`resp_${Date.now()}`,object:"response",created_at:Math.floor(Date.now()/1e3),status:"failed",output:[],usage:{...e}};let b=a.getReader(),c=new TextDecoder,f="",g={responseId:"",created:Math.floor(Date.now()/1e3),status:"in_progress",usage:{...e},items:new Map};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let h=(f+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(f=h.pop()||"",h))d(a,g)}f.trim()&&d(f,g)}finally{b.releaseLock()}let h=[],i=g.items.size>0?Math.max(...g.items.keys()):-1;for(let a=0;a<=i;a++)h.push(g.items.get(a)||{type:"message",content:[],role:"assistant"});return{id:g.responseId||`resp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,object:"response",created_at:g.created,status:g.status||"completed",output:h,usage:g.usage}}var g=c(43659),h=c(41004),i=c(14170),j=c(86171),k=c(9902),l=c(47370);function m(a){if(!a?.content||!Array.isArray(a.content))return"";let b=a.content.find(a=>"output_text"===a.type);if("string"==typeof b?.text)return b.text;let c=a.content.find(a=>"string"==typeof a.text);return"string"==typeof c?.text?c.text:""}function n(a,b){let c=[];for(let b of String(a||"").split("\n")){let a=b.trim();if(!a.startsWith("data:"))continue;let d=a.slice(5).trim();if(d&&"[DONE]"!==d)try{c.push(JSON.parse(d))}catch{}}if(0===c.length)return null;let d=c[0],e=[],f=[],g=new Map,h="stop",i=null,j=!1;for(let a of c){let b=a?.choices?.[0];b&&(j=!0);let c=b?.delta||{};if("string"==typeof c.content&&c.content.length>0&&e.push(c.content),"string"==typeof c.reasoning_content&&c.reasoning_content.length>0&&f.push(c.reasoning_content),b?.finish_reason&&(h=b.finish_reason),a?.usage&&"object"==typeof a.usage&&(i=a.usage),Array.isArray(c.tool_calls))for(let a of c.tool_calls){let b=a.index??0;g.has(b)||g.set(b,{id:a.id||"",type:"function",function:{name:"",arguments:""}});let c=g.get(b);a.id&&(c.id=a.id),a.function?.name&&(c.function.name+=a.function.name),a.function?.arguments&&(c.function.arguments+=a.function.arguments)}}if(!j)return null;let k={role:"assistant",content:e.join("")||(g.size>0?null:"")};f.length>0&&(k.reasoning_content=f.join("")),g.size>0&&(k.tool_calls=[...g.entries()].sort((a,b)=>a[0]-b[0]).map(([,a])=>a));let l={id:d.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:d.created||Math.floor(Date.now()/1e3),model:d.model||b||"unknown",choices:[{index:0,message:k,finish_reason:h}]};return i&&(l.usage=i),l}async function o({providerResponse:a,sourceFormat:b,provider:c,model:d,body:e,stream:p,translatedBody:q,finalBody:r,requestStartTime:s,connectionId:t,apiKey:u,clientRawRequest:v,onRequestSuccess:w,trackDone:x,appendLog:y,requestContext:z,requestPolicyMeta:A,rtkStats:B=null}){let C=a.headers.get("content-type")||"";if(!(C.includes("text/event-stream")||""===C&&"codex"===c))return null;x();let D={provider:c,model:d,connectionId:t,request:(0,j.Fo)(e,p),providerRequest:r||q||null};if("codex"===c||b===i.h.OPENAI_RESPONSES)try{let g,h=await f(a.body);w&&await w();let{msgItem:n,textContent:o}=function(a){if(!Array.isArray(a))return{msgItem:null,textContent:null};let b=a.filter(a=>a?.type==="message");if(0===b.length)return{msgItem:null,textContent:null};for(let a=b.length-1;a>=0;a--){let c=m(b[a]);if(c.length>0)return{msgItem:b[a],textContent:c}}let c=b[b.length-1];return{msgItem:c,textContent:m(c)}}(h.output),p=(0,j.YZ)({usage:h.usage||null,body:e,responseBody:h,contentText:o||"",format:b});y({tokens:p,status:"200 OK"});let q=Date.now()-s;if((0,j.qr)({provider:c,model:d,tokens:p,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:q,ttftMs:q,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:p?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:p.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:q,total:q},tokens:{prompt_tokens:p.input_tokens??p.prompt_tokens??0,completion_tokens:p.output_tokens??p.completion_tokens??0},response:{content:o,thinking:null,finish_reason:h.status||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{}),b===i.h.OPENAI_RESPONSES)return{success:!0,response:new Response(JSON.stringify(h),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})};let r=p.input_tokens??p.prompt_tokens??0,x=p.output_tokens??p.completion_tokens??0,C=(h.output||[]).filter(a=>"function_call"===a.type).map((a,b)=>({id:a.call_id||`call_${a.name}_${Date.now()}_${b}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})),E=C.length>0;if(b===i.h.ANTIGRAVITY||b===i.h.GEMINI||b===i.h.GEMINI_CLI)g={response:{candidates:[{content:{role:"model",parts:[{text:o||""}]},finishReason:"STOP",index:0}],usageMetadata:{promptTokenCount:r,candidatesTokenCount:x,totalTokenCount:r+x},modelVersion:d,responseId:h.id||`resp_${Date.now()}`}};else if(b===i.h.CLAUDE){let a={id:h.id||`chatcmpl-${Date.now()}`,model:h.model||d,choices:[{index:0,message:{role:"assistant",content:o||(E?null:""),...E?{tool_calls:C}:{}},finish_reason:E?"tool_calls":"completed"===h.status?"stop":h.status||"stop"}]};g=(0,k.F)(a,{input_tokens:r,output_tokens:x})}else{let a={role:"assistant",content:o||(E?null:"")};E&&(a.tool_calls=C);let b=E?"tool_calls":"completed"===h.status?"stop":h.status||"stop";g={id:h.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:h.created_at||Math.floor(Date.now()/1e3),model:h.model||d,choices:[{index:0,message:a,finish_reason:b}],usage:{prompt_tokens:r,completion_tokens:x,total_tokens:r+x}}}return{success:!0,response:new Response(JSON.stringify(g),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Responses API SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}try{let f=await a.text(),m=n(f,d);if(!m)return(0,g.A1)(h.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request",void 0,b);w&&await w();let o=(0,j.YZ)({usage:m.usage||null,body:e,responseBody:m,contentText:`${m.choices?.[0]?.message?.content||""}${m.choices?.[0]?.message?.reasoning_content||""}`,format:b});y({tokens:o,status:"200 OK"});let p=Date.now()-s;(0,j.qr)({provider:c,model:d,tokens:o,connectionId:t,apiKey:u,endpoint:v?.endpoint,status:"ok",statusCode:200,latencyMs:p,ttftMs:p,isStreaming:!1,requestContext:z||{},requestPolicyMeta:A,rtkStats:B,meta:o?.usageEstimated?{usageEstimated:!0,usageEstimatedReason:o.usageEstimatedReason}:{}}),(0,l.ox)((0,j.$R)({...D,latency:{ttft:p,total:p},tokens:o,response:{content:m.choices?.[0]?.message?.content||null,thinking:m.choices?.[0]?.message?.reasoning_content||null,finish_reason:m.choices?.[0]?.finish_reason||"unknown"},status:"success",rtkStats:B},{endpoint:v?.endpoint||null,requestId:z?.requestId})).catch(()=>{});let q=m;if(b===i.h.CLAUDE)q=(0,k.F)(m,o);else if(b===i.h.OPENAI_RESPONSES)q=(0,k.P)(m,o);else if(m?.choices)for(let a of m.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;return{success:!0,response:new Response(JSON.stringify(q),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}catch(a){return console.error("[ChatCore] Chat Completions SSE→JSON failed:",a),(0,g.A1)(h.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON",void 0,b)}}},86171:(a,b,c)=>{c.d(b,{$R:()=>p,Fo:()=>n,MK:()=>o,YZ:()=>i,qr:()=>s,sx:()=>t,wS:()=>m});var d=c(99703),e=c(71857),f=c(73483);let g=["temperature","top_p","top_k","max_tokens","max_completion_tokens","thinking","reasoning","enable_thinking","presence_penalty","frequency_penalty","seed","stop","tools","tool_choice","response_format","prediction","store","metadata","n","logprobs","top_logprobs","logit_bias","user","parallel_tool_calls"];function h(a){return(function a(b,c=new Set){if(null==b)return"";if("string"==typeof b)return b;if("object"!=typeof b||c.has(b))return"";if(c.add(b),Array.isArray(b))return b.map(b=>a(b,c)).filter(Boolean).join("");let d="";for(let e of("string"==typeof b.content&&(d+=b.content),"string"==typeof b.reasoning_content&&(d+=b.reasoning_content),"string"==typeof b.text&&(d+=b.text),"string"==typeof b.output_text&&(d+=b.output_text),"string"==typeof b.delta?.content&&(d+=b.delta.content),"string"==typeof b.delta?.reasoning_content&&(d+=b.delta.reasoning_content),"string"==typeof b.delta?.text&&(d+=b.delta.text),"string"==typeof b.delta?.thinking&&(d+=b.delta.thinking),["message","choices","candidates","content","parts","output","response","data","item","items","result","results","message_delta","delta"]))void 0!==b[e]&&"string"!=typeof b[e]&&(d+=a(b[e],c));return d})(a).trim()}function i({usage:a,body:b,responseBody:c,translatedResponse:d,contentText:e,format:g,reason:j="missing_provider_usage"}={}){if((0,f.Gh)(a))return a;let k="string"==typeof e&&e.length>0?e:h(d)||h(c);return{...(0,f.OF)(b,k.length,g),estimated:!0,usageEstimated:!0,usageEstimatedReason:j}}function j(a){return String(a||"").trim()}function k(a){return a?"function"==typeof a.entries?Object.fromEntries(a.entries()):"object"==typeof a?a:{}:{}}function l(a,...b){let c=k(a);for(let a of b){let b=c[a]??c[a.toLowerCase()]??c[a.toUpperCase()];if(null!=b)return String(b)}return""}function m(a={}){let b=k(a.headers||a.request?.headers||a.clientHeaders),c=a.clientIp||a.sourceIp||l(b,"x-forwarded-for","x-real-ip","cf-connecting-ip","x-client-ip")||a.ip||"",d=a.clientUserAgent||l(b,"user-agent")||"",e=a.sourceTool||l(b,"x-9r-source-tool","x-source-tool","x-client-tool","x-bluerouter-source-tool")||"",f=a.sourceToolLabel||l(b,"x-9r-source-tool-label","x-source-tool-label","x-client-tool-label")||e;return{requestId:j(a.requestId)||`req_${Date.now()}_${Math.random().toString(36).slice(2,10)}`,sessionId:j(a.sessionId||l(b,"x-session-id","x-conversation-id","x-request-session-id")),clientIp:j(c),clientHost:j(a.clientHost||l(b,"host","x-forwarded-host")),clientUserAgent:j(d),sourceTool:j(e),sourceToolLabel:j(f),sourceHost:j(a.sourceHost||l(b,"x-9r-source-host","origin","referer"))}}function n(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of g)void 0!==a[b]&&(c[b]=a[b]);return c}function o(a){if(!a||"object"!=typeof a)return null;let b=a.usage||a.response?.usage;if(b?.input_tokens!==void 0||b?.output_tokens!==void 0)return{prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,cached_tokens:b.input_tokens_details?.cached_tokens||b.prompt_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens||b.completion_tokens_details?.reasoning_tokens};if(b?.prompt_tokens!==void 0)return{prompt_tokens:b.prompt_tokens||0,completion_tokens:b.completion_tokens||0,cached_tokens:b.prompt_tokens_details?.cached_tokens||b.prompt_cache_hit_tokens,reasoning_tokens:b.completion_tokens_details?.reasoning_tokens,prompt_tokens_details:b.prompt_tokens_details,completion_tokens_details:b.completion_tokens_details};let c=a.usageMetadata||a.response?.usageMetadata;if(c)return{prompt_tokens:c.promptTokenCount||0,completion_tokens:c.candidatesTokenCount||0,total_tokens:c.totalTokenCount,cached_tokens:c.cachedContentTokenCount,reasoning_tokens:c.thoughtsTokenCount};if(!0===a.done||a.response?.done===!0){let b=a.response||a;if("number"==typeof b.prompt_eval_count||"number"==typeof b.eval_count)return{prompt_tokens:b.prompt_eval_count||0,completion_tokens:b.eval_count||0,total_tokens:(b.prompt_eval_count||0)+(b.eval_count||0)}}return null}function p(a,b={}){return{provider:a.provider||"unknown",model:a.model||"unknown",connectionId:a.connectionId||void 0,timestamp:new Date().toISOString(),latency:a.latency||{ttft:0,total:0},tokens:a.tokens||{prompt_tokens:0,completion_tokens:0},request:a.request,providerRequest:a.providerRequest||null,providerResponse:a.providerResponse||null,response:a.response||{},status:a.status||"success",rtkStats:a.rtkStats||b.rtkStats||null,...b}}function q(a){if(!0===a||1===a)return!0;if(!1===a||0===a)return!1;if("string"==typeof a){let b=a.trim().toLowerCase();if(["true","1","yes","on","enabled"].includes(b))return!0;if(["false","0","no","off","disabled"].includes(b))return!1}return null}function r(a,b=0){let c=Number(a);return Number.isFinite(c)?Math.max(0,Math.trunc(c)):b}function s({provider:a,model:b,tokens:c,connectionId:f,apiKey:g,endpoint:h,label:i="USAGE",status:j="ok",statusCode:k=200,errorCode:l="",errorType:m="",errorMessage:n="",latencyMs:o=0,ttftMs:p=0,isStreaming:t=!1,requestContext:u={},meta:v={},requestPolicyMeta:w={},rtkStats:x=null}){let y=c&&"object"==typeof c?c:{},z=y.input_tokens??y.prompt_tokens??0,A=y.output_tokens??y.completion_tokens??0,B=k>=400||j&&!["ok","success","200"].includes(String(j).toLowerCase()),C=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),D=f?` | account=${f.slice(0,8)}...`:"",E=B?e.lm.red||"":e.lm.green||"";console.log(`${E}[${C}] [${i}] ${String(a||"unknown").toUpperCase()} | in=${z} | out=${A}${D}${e.lm.reset}`);let F={prompt_tokens:y.prompt_tokens??y.input_tokens??0,completion_tokens:y.completion_tokens??y.output_tokens??0,cached_tokens:y.cached_tokens??y.cache_read_input_tokens??y.prompt_tokens_details?.cached_tokens??0,reasoning_tokens:y.reasoning_tokens??y.completion_tokens_details?.reasoning_tokens??0},G=function(a={}){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:{};return{thinkingEnabled:q(b.thinkingEnabled),thinkingAutoOff:!0===q(b.thinkingAutoOff),thinkingAutoOffReason:String(b.thinkingAutoOffReason||"").trim(),promptChars:r(b.promptChars,0),forceThinkingOffAboveChars:r(b.forceThinkingOffAboveChars,0)}}(w||v?.requestPolicyMeta||{});(0,d.Py)({provider:a||"unknown",model:b||"unknown",tokens:F,timestamp:new Date().toISOString(),connectionId:f||void 0,apiKey:g||void 0,endpoint:h||null,status:j,statusCode:k,errorCode:l,errorType:m,errorMessage:n,latencyMs:o,ttftMs:p,isStreaming:t,thinkingEnabled:G.thinkingEnabled,thinkingAutoOff:G.thinkingAutoOff,thinkingAutoOffReason:G.thinkingAutoOffReason,promptChars:G.promptChars,forceThinkingOffAboveChars:G.forceThinkingOffAboveChars,...u,meta:{...v,...x?{rtkStats:x}:{},requestContext:u,requestPolicyMeta:G}}).catch(()=>{})}function t({provider:a="unknown",model:b="unknown",connectionId:c,apiKey:d,endpoint:e,statusCode:f=500,errorCode:g="unknown_error",errorType:h="error",errorMessage:i="",latencyMs:j=0,ttftMs:k=0,requestContext:l={},requestPolicyMeta:m={},meta:n={},rtkStats:o=null}){s({provider:a,model:b,tokens:{prompt_tokens:0,completion_tokens:0},connectionId:c,apiKey:d,endpoint:e,status:"error",statusCode:f,errorCode:g,errorType:h,errorMessage:i,latencyMs:j,ttftMs:k,requestContext:l,requestPolicyMeta:m||l?.requestPolicyMeta||n?.requestPolicyMeta||{},meta:n,rtkStats:o,label:"ERROR USAGE"})}},92500:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{w:()=>D});var e=c(57647),f=c(33110),g=c(14170),h=c(71857),i=c(59657),j=c(8590),k=c(71336),l=c(44404),m=c(43659),n=c(41004),o=c(27349),p=c(47370),q=c(35901),r=c(55330),s=c(86171),t=c(81626),u=c(5016),v=c(20623),w=c(324),x=c(14724),y=c(60125),z=c(72758),A=c(71750),B=a([r]);function C(a={}){(0,q.jk)(a).catch(()=>{}),(0,s.sx)({provider:a.provider,model:a.model,connectionId:a.connectionId,apiKey:a.apiKey,endpoint:a.endpoint,statusCode:a.gatewayStatusCode||a.statusCode||a.upstreamStatusCode||500,errorCode:a.errorCode,errorType:a.errorType,errorMessage:a.errorMessageShort||a.errorMessage,latencyMs:a.latencyMs,requestContext:a.requestContext||{},requestPolicyMeta:a.requestPolicyMeta||a.requestContext?.requestPolicyMeta||{},meta:{errorSource:a.errorSource,upstreamStatusCode:a.upstreamStatusCode,statusClass:a.statusClass},rtkStats:a.rtkStats||null})}async function D({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:q,onRequestSuccess:B,onDisconnect:E,clientRawRequest:F,connectionId:G,userAgent:H,apiKey:I,ccFilterNaming:J,rtkEnabled:K,cavemanEnabled:L,cavemanLevel:M,sourceFormatOverride:N,providerThinking:O,contentLoggingMode:P="inherit",requestPolicyMeta:Q=null,skipProviderRetry:R=!1}){let S,T,U,V,W,X,{provider:Y,model:Z}=b,$=Date.now();"claude"===Y&&(0,A.n)(G,F?.headers||{});let _=N||(0,e.Tz)(a),aa=(0,s.wS)({headers:F?.headers||{},requestId:F?.requestId,sessionId:F?.sessionId});if(F)for(let a of["accountName","connectionName","accountEmail","accountDisplayName","ownerUser","connectionScope","visibility"])F[a]&&!aa[a]&&(aa[a]=F[a]);Q&&"object"==typeof Q&&(aa.requestPolicyMeta=Q);let ab=(0,o.c)(a,Z,H,J);if(ab)return ab;let ac=l.Xg[Y]||Y,ad=(0,l.ux)(ac,Z)||(0,e.jJ)(Y),ae=(0,l.cY)(ac,Z),af=Q?.thinkingEnabled===!1||a?.enable_thinking===!1||a?.chat_template_kwargs?.enable_thinking===!1||a?.thinking?.type==="disabled";if(O?.mode&&"auto"!==O.mode&&!af){let b=O.mode;"on"!==b||a.thinking?"off"!==b||a.thinking?a.reasoning_effort||(a={...a,reasoning_effort:b}):a={...a,thinking:{type:"disabled"}}:(console.log("Injecting provider-level thinking config override: on"),a={...a,thinking:{type:"enabled",budget_tokens:1e4}})}let ag=!0===a.stream||_===g.h.ANTIGRAVITY||_===g.h.GEMINI||_===g.h.GEMINI_CLI,ah="openai"===Y||"codex"===Y||"commandcode"===Y,ai=!!ah||!0===a.stream,aj=(0,w.J)(F?.headers||{},a);"deepseek-tui"===aj&&!0!==a.stream&&(ai=!1);let ak=F?.headers?.accept||"",al=ak.includes("application/json"),am=ak.includes("text/event-stream");al&&!am&&!0!==a.stream&&(ai=!1);let an=c?._connection||{},ao={provider:Y,connectionId:G,connectionName:c?.connectionName||c?.name||c?.providerSpecificData?.connectionName||c?.providerSpecificData?.name||"",accountName:c?.email||c?.accountName||c?.providerSpecificData?.email||c?.providerSpecificData?.accountName||c?.providerSpecificData?.account_name||c?.providerSpecificData?.login||c?.providerSpecificData?.username||"",accountEmail:an.email||F?.accountEmail||"",accountDisplayName:an.displayName||an.name||F?.accountDisplayName||"",ownerUser:an.ownerUser||F?.ownerUser||"",connectionScope:an.scope||F?.connectionScope||"",visibility:an.visibility||F?.visibility||"",contentLoggingMode:P,routingMetadata:F?.routingMetadata||null},ap=await (0,k.q7)(_,ad,Z,ao);F&&ap.logClientRawRequest(F.endpoint,F.body,F.headers),ap.logRawRequest(a),d?.debug?.("FORMAT",`${_} → ${ad} | stream=${ai}`);let aq=(0,w.J)(F?.headers||{},a),ar=(0,w.Q)(aq,Y);if(aq&&!aa.sourceTool&&(aa.sourceTool=aq,aa.sourceToolLabel||(aa.sourceToolLabel=aq)),ar)d?.debug?.("PASSTHROUGH",`${aq} → ${Y} | native lossless`),S={...a,model:Z};else{if(!(S=(0,f.GH)(_,ad,Z,a,ai,c,Y,ap,ae,G,aq))){(0,p.uw)(Z,Y,G,!1,!0);let a=`Failed to translate request for ${_} → ${ad}`;return C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:n.gx.BAD_REQUEST,errorSource:"gateway_validation",errorType:"invalid_request",errorCode:"translate_request_failed",errorMessageShort:a,latencyMs:Date.now()-$}),(0,m.A1)(n.gx.BAD_REQUEST,a,void 0,_)}T=S._toolNameMap,delete S._toolNameMap,S.model=Z}if("claude"===aq&&Array.isArray(S.tools)){let{tools:a,stripped:b}=(0,x.F)(S.tools);b.length>0&&(S.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let as=ar?_:ad,at=(0,z.BI)(S,K),au=(0,z.Qi)(at,K),av=(0,z.fT)(at);av&&console.log(av),L&&M&&((0,y.p)(S,as,M),d?.debug?.("CAVEMAN",`${M} | ${as}`));let aw=(0,r.SB)(Y);(0,p.uw)(Z,Y,G,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:"PENDING"}).catch(()=>{});let ax=S.messages?.length||S.input?.length||S.contents?.length||S.request?.contents?.length||0;d?.debug?.("REQUEST",`${Y.toUpperCase()} | ${Z} | ${ax} msgs`);let ay=(0,i.jd)({onDisconnect:a=>{(0,p.uw)(Z,Y,G,!1),E&&E(a)},onError:()=>(0,p.uw)(Z,Y,G,!1),log:d,provider:Y,model:Z}),az={connectionProxyEnabled:c?.providerSpecificData?.connectionProxyEnabled===!0,connectionProxyUrl:c?.providerSpecificData?.connectionProxyUrl||"",connectionNoProxy:c?.providerSpecificData?.connectionNoProxy||"",vercelRelayUrl:c?.providerSpecificData?.vercelRelayUrl||""};if(az.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | pool=${b} | vercel-relay=${az.vercelRelayUrl}`)}else if(az.connectionProxyEnabled&&az.connectionProxyUrl){let a=az.connectionProxyUrl;try{let b=new URL(az.connectionProxyUrl),c=b.port?`:${b.port}`:"";a=`${b.protocol||"http:"}//${b.hostname||""}${c}`}catch{}let b=c?.providerSpecificData?.connectionProxyPoolId||"none",e=c?.connectionName||c?.connectionId||"unknown";d?.info?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${e} | pool=${b} | url=${a}`)}if(az.connectionProxyEnabled&&az.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${Y.toUpperCase()} | ${Z} | conn=${a} | no_proxy=${az.connectionNoProxy}`)}let aA=!1,aB=(a,b,c,d)=>{aA=!0,ap.logTargetRequest(a,b,c,d)};try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody,aA||ap.logTargetRequest(V,W,X)}catch(f){let b=f?.code==="UPSTREAM_HEADERS_TIMEOUT",c="AbortError"===f.name?499:b?n.gx.GATEWAY_TIMEOUT:n.gx.BAD_GATEWAY,d=Date.now()-$;if((0,p.uw)(Z,Y,G,!1,!0),(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${c}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:d},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:S||null,response:{error:f.message||String(f),status:c,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:c,errorSource:"AbortError"===f.name?"client_abort":b?"upstream_timeout":"network",errorType:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"network_error",errorCode:"AbortError"===f.name?"client_abort":b?"upstream_headers_timeout":"provider_execute_failed",errorMessageShort:f.message||String(f),latencyMs:d,rtkStats:au}),"AbortError"===f.name)return ay.handleError(f),(0,m.A1)(499,"Request aborted",void 0,_);if(b){let a=`${Y} did not return response headers within timeout (model: ${Z})`;return console.log(`${h.lm.red}[TIMEOUT] ${a}${h.lm.reset}`),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let e=(0,m.lR)(f,Y,Z,n.gx.BAD_GATEWAY);return console.log(`${h.lm.red}[ERROR] ${e}${h.lm.reset}`),(0,m.A1)(n.gx.BAD_GATEWAY,e,void 0,_)}if(!aw.noAuth&&(U.status===n.gx.UNAUTHORIZED||U.status===n.gx.FORBIDDEN))try{let a=await (0,j.qZ)(()=>aw.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${Y.toUpperCase()} | refreshed`),Object.assign(c,a),q)try{await q(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}try{let a=await aw.execute({model:Z,body:S,stream:ai,credentials:c,signal:ay.signal,log:d,proxyOptions:az,skipRetry:R,onBeforeFetch:aB});U=a.response,V=a.url,W=a.headers,X=a.transformedBody||X}catch(c){let a=c?.code==="UPSTREAM_HEADERS_TIMEOUT";if(c?.name==="AbortError")return ay.handleError(c),(0,m.A1)(499,"Request aborted",void 0,_);if(a){let a=`${Y} did not return response headers within timeout after token refresh (model: ${Z})`;return d?.warn?.("TOKEN",a),(0,m.A1)(n.gx.GATEWAY_TIMEOUT,a,void 0,_)}let b=(0,m.lR)(c,Y,Z,n.gx.BAD_GATEWAY);return d?.warn?.("TOKEN",`${Y.toUpperCase()} | retry after refresh failed: ${c?.message||c}`),(0,m.A1)(n.gx.BAD_GATEWAY,b,void 0,_)}}else d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${Y.toUpperCase()} | refresh threw: ${a.message}`)}if(!U.ok){(0,p.uw)(Z,Y,G,!1,!0);let{statusCode:b,message:c,resetsAtMs:d}=await (0,m.zL)(U,aw),e=Date.now()-$;(0,p.E5)({model:Z,provider:Y,connectionId:G,status:`FAILED ${b}`}).catch(()=>{}),(0,p.ox)((0,s.$R)({provider:Y,model:Z,connectionId:G,latency:{ttft:0,total:e},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,s.Fo)(a,ai),providerRequest:X||S||null,response:{error:c,status:b,thinking:null},status:"error",rtkStats:au})).catch(()=>{}),C({...aa,requestContext:aa,provider:Y,model:Z,connectionId:G,accountName:ao.accountName,apiKey:I,endpoint:F?.endpoint,gatewayStatusCode:b,upstreamStatusCode:U.status,errorSource:"provider_http",errorMessageShort:c,upstreamErrorBodySnippet:c,latencyMs:e,rtkStats:au});let f=(0,m.lR)(Error(c),Y,Z,b);return console.log(`${h.lm.red}[ERROR] ${f}${h.lm.reset}`),ap.logError(Error(c),X||S),(0,m.A1)(b,f,d,_)}let aC={provider:Y,model:Z,body:a,stream:ai,translatedBody:S,finalBody:X,requestStartTime:$,connectionId:G,apiKey:I,clientRawRequest:F,onRequestSuccess:B,requestContext:aa,sourceFormat:_,targetFormat:ad,requestPolicyMeta:Q,rtkStats:au},aD=a=>(0,p.E5)({model:Z,provider:Y,connectionId:G,...a}).catch(()=>{}),aE=()=>(0,p.uw)(Z,Y,G,!1);if(!ag&&ah){let a=await (0,t.I)({...aC,providerResponse:U,sourceFormat:_,trackDone:aE,appendLog:aD});if(a)return ay.handleComplete(),a}if(!ai){let a=await (0,u.N)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,reqLogger:ap,toolNameMap:T,trackDone:aE,appendLog:aD});return ay.handleComplete(),a}let{onStreamComplete:aF}=(0,v.$)({...aC,reqLogger:ap,providerResponseInfo:{status:U.status,statusText:U.statusText,headers:U.headers}});return(0,v.M)({...aC,providerResponse:U,sourceFormat:_,targetFormat:ad,userAgent:H,reqLogger:ap,toolNameMap:T,streamController:ay,onStreamComplete:aF})}r=(B.then?(await B)():B)[0],d()}catch(a){d(a)}})}};
|