@jheavenknows/bluerouter 5.5.23 → 5.5.25
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 +17 -17
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
- 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.js +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +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/audit-proxy/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +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/model-profiles/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.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/cluster/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +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/logs/console/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/console/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/console/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.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/personal/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudcombo/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudcombo/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudcombo/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +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.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js.nft.json +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.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js.nft.json +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.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +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.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +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.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/embedding/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/image-to-text/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/me/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/root-ca/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/route.js +17 -8
- package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/users/route.js.nft.json +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 +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 +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/auth/view-mode/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-model-profiles/cloud-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/model-catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +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/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.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-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/codex-catalog/download/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/codex-catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/codex-catalog/upload/route.js.nft.json +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/ai-power-index/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/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/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/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 +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 +2 -2
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.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/media-providers/tts/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 +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 +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/grok-cli/device-code/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/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/auto-import/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-authorize/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-combos/[id]/api-key-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-combos/[id]/api-key-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js +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 +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 +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]/move/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +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 +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 +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 +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 +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 +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 +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/personal-cloud-providers/shares/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/catalog/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 +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/combo-references/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/custom-embedding/manage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/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/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.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/resource-monitor/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/export/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/prompt-log-db/route.js +5 -2
- package/app/.next-cli-build/server/app/api/settings/prompt-log-db/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/statusline/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.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/logs/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 +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/rate-limits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/rate-limits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +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/ai-power-index.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.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 +9 -9
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +4 -4
- 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 +9 -9
- 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/model-profiles.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.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/cluster.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cluster.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cluster.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/logs.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/logs.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/logs.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/logs.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/logs.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/personal.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/personal.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/personal.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/personal.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/personal.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/personal.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 +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +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/embedding.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/!KGRhc2hib2FyZCk/dashboard/providers/embedding/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/!KGRhc2hib2FyZCk/dashboard/providers/embedding.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/embedding.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/!KGRhc2hib2FyZCk/dashboard/providers/image-to-text/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/!KGRhc2hib2FyZCk/dashboard/providers/image-to-text.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/image-to-text.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/!KGRhc2hib2FyZCk/dashboard/providers/image/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/!KGRhc2hib2FyZCk/dashboard/providers/image.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/image.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/image.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/stt.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/stt.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/web.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/!KGRhc2hib2FyZCk/dashboard/providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/!KGRhc2hib2FyZCk/dashboard/providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/web.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/providers/web.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/resource-monitor.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +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 +6 -6
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- 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/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/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +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.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +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/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +17 -17
- package/app/.next-cli-build/server/chunks/1583.js +4 -0
- package/app/.next-cli-build/server/chunks/238.js +1 -0
- package/app/.next-cli-build/server/chunks/2428.js +1 -1
- package/app/.next-cli-build/server/chunks/3042.js +1 -0
- package/app/.next-cli-build/server/chunks/3399.js +1 -1
- package/app/.next-cli-build/server/chunks/3738.js +1 -1
- package/app/.next-cli-build/server/chunks/402.js +6 -4
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4778.js +1 -1
- package/app/.next-cli-build/server/chunks/5024.js +1 -0
- package/app/.next-cli-build/server/chunks/5210.js +1 -1
- package/app/.next-cli-build/server/chunks/6811.js +1 -1
- package/app/.next-cli-build/server/chunks/689.js +6 -4
- package/app/.next-cli-build/server/chunks/6992.js +2 -2
- package/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/app/.next-cli-build/server/chunks/8590.js +1 -1
- package/app/.next-cli-build/server/chunks/9293.js +1 -0
- package/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.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/2793-b3a4461f8347c3f1.js +1 -0
- package/app/.next-cli-build/static/chunks/{5263-bca625e0dd9b7bf9.js → 5263-b7941fae776c4373.js} +1 -1
- package/app/.next-cli-build/static/chunks/{7413-3e5afea5c22f910a.js → 7413-87f4038b5317729f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-fa6ae9cb4ba87b70.js +24 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/audit-proxy/{page-4f2e8def23f3f005.js → page-8ddbfc576e6c54b4.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-3de740618a468209.js → page-3b6fe31430b96954.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-f8a6d165b26aaf5a.js → page-678b01b8b35e85fd.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/model-profiles/{page-8935236e1f866fca.js → page-3c1dbf4a4cb14dcb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-3b28c09213ab1bea.js → page-0498f663a08738f1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-4d39bc7a667da5a2.js → page-c64166b1525750d0.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-7782a481be255ba6.js → page-b027f589b9f76fa8.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/{page-e38eb4f9135a5005.js → page-b28c25f5c4b94189.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/logs/console/{page-b6895a7c4d70ae65.js → page-7e0fb3db5ded3275.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-74c4a203f2d082ca.js → page-e5b6794cd8a6364f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-2066d15d50185051.js → page-f408f6e27a9760bb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f89986d814b13c83.js → page-68040f2d7e3f076b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-6bcc9fa0051952cb.js → page-71731eef239fdab0.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{page-e38eb4f9135a5005.js → page-b28c25f5c4b94189.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personal/{page-9a341b6c7310ad34.js → page-db1a1700eea425f9.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{layout-edda63ea02c3ee78.js → layout-4d30604723c64128.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/{page-b93abae5023a85cf.js → page-4c7c9a82cd4c06e4.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovidermonitor/{page-a6dc0b4339a4d9bd.js → page-b729e99653688409.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalquota/{page-d11481e430225507.js → page-0537a2fa161b82eb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-bfe98cb1f3da9ddd.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-a2d7718a46f23583.js → page-dfb9cb61a2e3114b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/embedding/[id]/{page-400b6d127fc405b4.js → page-182a798f8ca008a1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/embedding/{page-2066d15d50185051.js → page-f408f6e27a9760bb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/image/[id]/{page-400b6d127fc405b4.js → page-182a798f8ca008a1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{image-to-text/page-2066d15d50185051.js → image/page-f408f6e27a9760bb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/image-to-text/[id]/{page-400b6d127fc405b4.js → page-182a798f8ca008a1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{image/page-2066d15d50185051.js → image-to-text/page-f408f6e27a9760bb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-ef4f4a36e0ae5f8f.js → page-1710ccdfda2a7cbf.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-5652d62b22c03565.js → page-f195d485859696b8.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/stt/[id]/{page-400b6d127fc405b4.js → page-182a798f8ca008a1.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/stt/page-f408f6e27a9760bb.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/tts/[id]/page-182a798f8ca008a1.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/tts/page-f408f6e27a9760bb.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/web/[kind]/[id]/{page-f21e487a475ae11e.js → page-e46c0847d86fc008.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/web/{page-6bcc9fa0051952cb.js → page-71731eef239fdab0.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-cfe69843fa6b8bcb.js → page-2043197f3715fe4c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-d9b185af46d82c0a.js → page-3a4844e727cfec8f.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-8b9e1c8be804971d.js → page-1b1ae93c3f398083.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-c5db4eaeba510642.js → page-bc64c0e184eef9d3.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-126235bff3c64952.js → page-b6a76e695fa879b2.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-259d197fb4549037.js → layout-c33de7f43266076b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/{layout-db21980eededc57c.js → layout-bf4de7a5f9e7315c.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/login/{page-62f5a0e3540ad0ee.js → page-071c3519fddc7b20.js} +1 -1
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/2507.js +0 -1
- package/app/.next-cli-build/server/chunks/2611.js +0 -1
- package/app/.next-cli-build/server/chunks/436.js +0 -1
- package/app/.next-cli-build/server/chunks/5915.js +0 -1
- package/app/.next-cli-build/server/chunks/6064.js +0 -1
- package/app/.next-cli-build/server/chunks/8347.js +0 -1
- package/app/.next-cli-build/static/chunks/5564-1a19fcc53b3c3799.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-369540b70a5900d2.js +0 -24
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-aeb3e20ebe5633da.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/stt/page-2066d15d50185051.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/tts/[id]/page-400b6d127fc405b4.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/tts/page-2066d15d50185051.js +0 -1
- /package/app/.next-cli-build/static/{PxXrQn1altmhav3s2vRkE → 8HLcfPZQbiQFkzvYyYlAK}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{PxXrQn1altmhav3s2vRkE → 8HLcfPZQbiQFkzvYyYlAK}/_ssgManifest.js +0 -0
- /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.5.17-to-5.5.18-5.5.18-20260918-093202 → upgrade-5.5.23-to-5.5.25-5.5.25-20260923-082441}/data.sqlite +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8255,exports.ids=[8255],exports.modules={2574:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>z,OPTIONS:()=>y,buildModelsList:()=>x});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(33669),i=c(29679);let j=/[-_][0-9a-f]{8,}$/i,k=[{id:"auto",description:"AutoCombo balanced routing"},{id:"auto/coding",description:"AutoCombo coding-focused routing"},{id:"auto/fast",description:"AutoCombo low-latency routing"},{id:"auto/cheap",description:"AutoCombo low-cost routing"},{id:"auto/offline",description:"AutoCombo local/offline-friendly routing"}],l={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null}},m={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function n(a){return String(a??"").trim()}function o(a){return a?.type&&m[a.type]||"llm"}function p(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}function q(a){let b=n(a?.kind||a?.serviceKind).toLowerCase();return b||"llm"}function r(a){return n(a?.exposedModel||a?.model||a?.name||a?.id)}function s(a){return n(a?.name||a?.id||r(a))}async function t(){let a=new Map;try{for(let b of await (0,f.getCombos)()||[]){let c=r(b)||s(b)||n(b?.id);c&&!a.has(c)&&a.set(c,b)}}catch(a){console.log("Could not fetch legacy combos for /v1/models:",a?.message||a)}return[...a.values()]}function u(a,b,c){let d=n(c?.id);!d||b.has(d)||(b.add(d),a.push({object:"model",...c,id:d}))}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json();return Array.from(new Set((Array.isArray(f)?f:f?.data||f?.models||f?.results||[]).map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}async function w(a,b,c,d){if(!c||!d.includes("llm"))return;let e=[];try{e=await (0,f.getCloudCombosByOwner)(c)}catch(a){console.log("Could not fetch cloud combos for /v1/models:",a?.message||a);return}for(let d of e)!1!==d.isActive&&u(a,b,{id:d.id,owned_by:c,kind:"llm",virtual:!0,combo:!0,comboType:"cloud",name:d.name})}async function x(a,{ownerUser:b=""}={}){let c=[];try{c=(c=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch{console.log("Could not fetch providers, returning all models")}let h=await t(),i=[];try{i=await (0,f.getCustomModels)()}catch{console.log("Could not fetch custom models")}let m={};try{m=await (0,f.getModelAliases)()}catch{console.log("Could not fetch model aliases")}let y={};try{y=await (0,g.vF)()}catch{console.log("Could not fetch disabled models")}let z=(a,b)=>Array.isArray(y[a])&&y[a].includes(b),A=new Map;for(let a of c)A.has(a.provider)||A.set(a.provider,a);let B=[],C=new Set;for(let b of h){if(b?.enabled===!1||!a.includes(q(b)))continue;let c=r(b);c&&u(B,C,{id:c,owned_by:"combo",kind:q(b),virtual:!0,combo:!0,comboType:"legacy",name:s(b),description:n(b.description)})}if(await w(B,C,b,a),0===c.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(p(b[c]||c,a))for(let b of e)a.includes(o(b))&&(z(c,b.id)||u(B,C,{id:`${c}/${b.id}`,owned_by:c}));for(let b of i){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=n(b.id);d&&u(B,C,{id:`${c}/${d}`,owned_by:c})}}else for(let[b,c]of A.entries()){if(!p(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),h=d.vq[f]||[],k=c?.providerSpecificData?.enabledModels,q=Array.isArray(k)&&k.length>0,r=(0,e.mq)(b)||(0,e.gb)(b),s=new Map(h.map(a=>[a.id,o(a)])),t=q?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):h.map(a=>a.id);r&&0===t.length&&!j.test(b)&&(t=await v(c));let w=l[b];if(w&&!q)try{let a=await w(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}for(let c of Array.from(new Set([...t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),...i.filter(a=>{if(!a?.id||a.type&&"llm"!==a.type)return!1;let c=a.providerAlias;return c===f||c===g||c===b}).map(a=>n(a.id)).filter(Boolean),...Object.values(m||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=s.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c);a.includes(b)&&(z(g,c)||z(f,c)||u(B,C,{id:`${g}/${c}`,owned_by:g}))}let x=e.AI_PROVIDERS[b],y=[];if(a.includes("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)a?.id&&y.push(a.id);if(a.includes("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)a?.id&&y.push(a.id);for(let a of y)z(g,a)||z(f,a)||u(B,C,{id:`${g}/${a}`,owned_by:g});a.includes("webSearch")&&x?.searchConfig&&u(B,C,{id:`${g}/search`,kind:"webSearch",owned_by:g}),a.includes("webFetch")&&x?.fetchConfig&&u(B,C,{id:`${g}/fetch`,kind:"webFetch",owned_by:g})}if(a.includes("stt"))try{for(let a of await (0,f.getProviderNodes)({type:"custom-stt"})||[]){let b=n(a?.prefix),c=n(a?.defaultModel||"whisper-1");b&&c&&u(B,C,{id:`${b}/${c}`,owned_by:b,kind:"stt",name:a.name||b,custom:!0})}}catch(a){console.log("Could not fetch custom STT nodes for /v1/models:",a?.message||a)}if(a.includes("tts"))try{for(let a of await (0,f.getProviderNodes)({type:"custom-tts"})||[]){let b=n(a.prefix);if(!b)continue;let c=n(a.defaultModel)||"default";u(B,C,{id:`${b}/${c}`,owned_by:b,kind:"tts",name:a.name||"Custom TTS",custom:!0})}}catch(a){console.log("Could not fetch custom TTS nodes for /v1/models:",a?.message||a)}return!function(a,b){if(!b.includes("llm"))return;let c=new Set(a.map(a=>a?.id).filter(Boolean));for(let b of k)u(a,c,{id:b.id,owned_by:"auto",kind:"llm",virtual:!0,description:b.description})}(B,a),B}async function y(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function z(a){try{let b=await (0,h.nB)(a);if(b.missing)return Response.json({error:{message:"Missing API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}});if(b.invalid)return Response.json({error:{message:"Invalid API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}});let c=String(b.keyRecord.ownerUser||b.keyRecord.createdByUser||"").trim().toLowerCase(),d=await x(["llm"],{ownerUser:c}),e=(0,h.QK)(d,b.keyRecord);return Response.json({object:"list",data:e},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(34133)},19225:(a,b,c)=>{a.exports=c(44870)},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},33669:(a,b,c)=>{c.d(b,{MI:()=>e,QK:()=>g,RC:()=>i,nB:()=>h,zx:()=>f});var d=c(89718);function e(a){return Array.isArray(a)?[...new Set(a.map(a=>String(a||"").trim()).filter(Boolean))]:[]}function f(a,b){if(!a||!1===a.isActive)return!1;let c=String(b||"").trim();if(!c)return!1;let d=e(a.allowedModels);return 0===d.length||d.includes(c)}function g(a,b){if(!b||0===e(b?.allowedModels).length)return a;let c=new Set(e(b.allowedModels));return(a||[]).filter(a=>c.has(a?.id))}async function h(a){let b,c=await (0,d.getSettings)(),e=(b=a?.headers?.get?.("Authorization")||"").startsWith("Bearer ")?b.slice(7).trim():a?.headers?.get?.("x-api-key")?.trim()||null;if(!e)return{settings:c,apiKey:null,keyRecord:null,missing:!0,invalid:!1};let f=await (0,d.getApiKeyByKey)(e);return{settings:c,apiKey:e,keyRecord:f,missing:!1,invalid:!f||!1===f.isActive}}async function i(a,b){let c=await h(a);return c.missing?{error:{message:"Missing API key",type:"authentication_error"},status:401}:c.invalid?{error:{message:"Invalid API key",type:"authentication_error"},status:401}:{data:g(b,c.keyRecord)}}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
|
|
1
|
+
"use strict";exports.id=8255,exports.ids=[8255],exports.modules={2574:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>z,OPTIONS:()=>y,buildModelsList:()=>x});var d=c(81329),e=c(75681),f=c(89718),g=c(16655),h=c(33669),i=c(29679);let j=/[-_][0-9a-f]{8,}$/i,k=[{id:"auto",description:"AutoCombo balanced routing"},{id:"auto/coding",description:"AutoCombo coding-focused routing"},{id:"auto/fast",description:"AutoCombo low-latency routing"},{id:"auto/cheap",description:"AutoCombo low-cost routing"},{id:"auto/offline",description:"AutoCombo local/offline-friendly routing"}],l={kiro:async a=>{let b=await (0,i.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null}},m={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function n(a){return String(a??"").trim()}function o(a){return a?.type&&m[a.type]||"llm"}function p(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}function q(a){let b=n(a?.kind||a?.serviceKind).toLowerCase();return b||"llm"}function r(a){return n(a?.exposedModel||a?.model||a?.name||a?.id)}function s(a){return n(a?.name||a?.id||r(a))}async function t(){let a=new Map;try{for(let b of await (0,f.getCombos)()||[]){let c=r(b)||s(b)||n(b?.id);c&&!a.has(c)&&a.set(c,b)}}catch(a){console.log("Could not fetch legacy combos for /v1/models:",a?.message||a)}return[...a.values()]}function u(a,b,c){let d=n(c?.id);!d||b.has(d)||(b.add(d),a.push({object:"model",...c,id:d}))}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json();return Array.from(new Set((Array.isArray(f)?f:f?.data||f?.models||f?.results||[]).map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}async function w(a,b,c,d){if(!c||!d.includes("llm"))return;let e=[];try{e=await (0,f.getCloudCombosByOwner)(c)}catch(a){console.log("Could not fetch cloud combos for /v1/models:",a?.message||a);return}for(let d of e)!1!==d.isActive&&u(a,b,{id:d.id,owned_by:c,kind:"llm",virtual:!0,combo:!0,comboType:"cloud",name:d.name})}async function x(a,{ownerUser:b=""}={}){let c=[];try{c=(c=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch{console.log("Could not fetch providers, returning all models")}let h=await t(),i=[];try{i=await (0,f.getCustomModels)()}catch{console.log("Could not fetch custom models")}let m={};try{m=await (0,f.getModelAliases)()}catch{console.log("Could not fetch model aliases")}let y={};try{y=await (0,g.vF)()}catch{console.log("Could not fetch disabled models")}let z=(a,b)=>Array.isArray(y[a])&&y[a].includes(b),A=new Map;for(let a of c)A.has(a.provider)||A.set(a.provider,a);let B=[],C=new Set;for(let b of h){if(b?.enabled===!1||!a.includes(q(b)))continue;let c=r(b);c&&u(B,C,{id:c,owned_by:"combo",kind:q(b),virtual:!0,combo:!0,comboType:"legacy",name:s(b),description:n(b.description)})}if(await w(B,C,b,a),0===c.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(p(b[c]||c,a))for(let b of e)a.includes(o(b))&&(z(c,b.id)||u(B,C,{id:`${c}/${b.id}`,owned_by:c}));for(let b of i){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=n(b.id);d&&u(B,C,{id:`${c}/${d}`,owned_by:c})}}else for(let[b,c]of A.entries()){if(!p(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),h=d.vq[f]||[],k=c?.providerSpecificData?.enabledModels,q=Array.isArray(k)&&k.length>0,r=(0,e.mq)(b)||(0,e.gb)(b),s=new Map(h.map(a=>[a.id,o(a)])),t=q?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):h.map(a=>a.id);r&&0===t.length&&!j.test(b)&&(t=await v(c));let w=l[b];if(w&&!q)try{let a=await w(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}for(let c of Array.from(new Set([...t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),...i.filter(a=>{if(!a?.id||a.type&&"llm"!==a.type)return!1;let c=a.providerAlias;return c===f||c===g||c===b}).map(a=>n(a.id)).filter(Boolean),...Object.values(m||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=s.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c);a.includes(b)&&(z(g,c)||z(f,c)||u(B,C,{id:`${g}/${c}`,owned_by:g}))}let x=e.AI_PROVIDERS[b],y=[];if(a.includes("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)a?.id&&y.push(a.id);if(a.includes("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)a?.id&&y.push(a.id);for(let a of y)z(g,a)||z(f,a)||u(B,C,{id:`${g}/${a}`,owned_by:g});a.includes("webSearch")&&x?.searchConfig&&u(B,C,{id:`${g}/search`,kind:"webSearch",owned_by:g}),a.includes("webFetch")&&x?.fetchConfig&&u(B,C,{id:`${g}/fetch`,kind:"webFetch",owned_by:g})}if(a.includes("stt"))try{for(let a of await (0,f.getProviderNodes)({type:"custom-stt"})||[]){let b=n(a?.prefix),c=n(a?.defaultModel||"whisper-1");b&&c&&u(B,C,{id:`${b}/${c}`,owned_by:b,kind:"stt",name:a.name||b,custom:!0})}}catch(a){console.log("Could not fetch custom STT nodes for /v1/models:",a?.message||a)}if(a.includes("tts"))try{for(let a of await (0,f.getProviderNodes)({type:"custom-tts"})||[]){let b=n(a.prefix);if(!b)continue;let c=n(a.defaultModel)||"default";u(B,C,{id:`${b}/${c}`,owned_by:b,kind:"tts",name:a.name||"Custom TTS",custom:!0})}}catch(a){console.log("Could not fetch custom TTS nodes for /v1/models:",a?.message||a)}return!function(a,b){if(!b.includes("llm"))return;let c=new Set(a.map(a=>a?.id).filter(Boolean));for(let b of k)u(a,c,{id:b.id,owned_by:"auto",kind:"llm",virtual:!0,description:b.description})}(B,a),B}async function y(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function z(a){try{let b=await (0,h.nB)(a);if(b.missing)return Response.json({error:{message:"Missing API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}});if(b.invalid)return Response.json({error:{message:"Invalid API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}});let c=String(b.keyRecord.ownerUser||b.keyRecord.createdByUser||"").trim().toLowerCase(),d=await x(["llm"],{ownerUser:c}),e=(0,h.QK)(d,b.keyRecord);return Response.json({object:"list",data:e},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(34133)},19225:(a,b,c)=>{a.exports=c(44870)},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},33669:(a,b,c)=>{c.d(b,{MI:()=>e,NJ:()=>h,QK:()=>i,RC:()=>k,nB:()=>j,zx:()=>f});var d=c(89718);function e(a){return Array.isArray(a)?[...new Set(a.map(a=>String(a||"").trim()).filter(Boolean))]:[]}function f(a,b){if(!a||!1===a.isActive)return!1;let c=String(b||"").trim();if(!c)return!1;let d=e(a.allowedModels);return 0===d.length||d.includes(c)}let g=/-review$/i;function h(a,b){let c=String(b||"").trim();if(!c||c.includes("/")||!g.test(c))return null;let d=e(a?.allowedModels),f=`codex/${c}`;return d.includes(f)?f:null}function i(a,b){if(!b||0===e(b?.allowedModels).length)return a;let c=new Set(e(b.allowedModels));return(a||[]).filter(a=>c.has(a?.id))}async function j(a){let b,c=await (0,d.getSettings)(),e=(b=a?.headers?.get?.("Authorization")||"").startsWith("Bearer ")?b.slice(7).trim():a?.headers?.get?.("x-api-key")?.trim()||null;if(!e)return{settings:c,apiKey:null,keyRecord:null,missing:!0,invalid:!1};let f=await (0,d.getApiKeyByKey)(e);return{settings:c,apiKey:e,keyRecord:f,missing:!1,invalid:!f||!1===f.isActive}}async function k(a,b){let c=await j(a);return c.missing?{error:{message:"Missing API key",type:"authentication_error"},status:401}:c.invalid?{error:{message:"Invalid API key",type:"authentication_error"},status:401}:{data:i(b,c.keyRecord)}}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8590,exports.ids=[8590],exports.modules={8590:(a,b,c)=>{c.d(b,{$B:()=>z,$M:()=>m,I9:()=>q,Og:()=>n,Ql:()=>t,Sc:()=>A,Wm:()=>s,iD:()=>x,jR:()=>w,oD:()=>i,pb:()=>C,qZ:()=>D});var d=c(35024),e=c(75924),f=c(39609);let g=null;async function h(a,b){return a?k("xai",a,async()=>{try{g||(g=new(await Promise.all([c.e(3104),c.e(5852)]).then(c.bind(c,33471))).XaiService);let b=await g.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let i=3e5,j=new Map;async function k(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=j.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;j.delete(e)}let g=(async()=>{try{let a=await c();return j.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw j.delete(e),a}})();return j.set(e,{promise:g}),g}let l=new Map;function m(a,b){if(!a||!b)return;let c=`${a}:${b}`;j.delete(c),l.delete(c)}function n(a){return e.Wu[a]||i}async function o(a,b,c,e){return b?k(a,b,async()=>{let c=d.xq[a];if(!c||!c.refreshUrl)return e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null;if(!b)return e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let d=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:c.clientId,client_secret:c.clientSecret})});if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:b}),null}let f=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||b,expiresIn:f.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):null}async function p(a,b){return a?k("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function q(a,b,c,d){return a?k(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function r(a,b){return a?k("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function s(a,b){return a?k("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code||("string"==typeof b?.error?b.error:null)}catch{}if("refresh_token_reused"===d||"invalid_grant"===d||"token_expired"===d||"invalid_token"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,errorCode:d}),{error:"unrecoverable_refresh_error",code:d};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,c,e=null){return a?k("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,i=b?.clientSecret,j=b?.region;if(h&&i){let b="idc"===g&&j?`https://oidc.${j}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.proxyAwareFetch)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"})},e);if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let k=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!k.accessToken,expiresIn:k.expiresIn}),{accessToken:k.accessToken,refreshToken:k.refreshToken||a,expiresIn:k.expiresIn}}let k=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!k.ok){let a=await k.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:k.status,error:a}),null}let l=await k.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn}},c):null}async function u(a,b){return a?k("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function v(a,b){return a?k("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function w(a,b){return a?k("copilot",a,async()=>{try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function x(a,b,c){var d;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let e=(d=b.refreshToken,`${a}:${d}`);if(l.has(e))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),l.get(e);let f=y(a,b,c).finally(()=>{l.delete(e)});return l.set(e,f),f}async function y(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await q(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return await p(b.refreshToken,c);case"codex":return await s(b.refreshToken,c);case"qwen":return await r(b.refreshToken,c);case"iflow":return await u(b.refreshToken,c);case"github":return await v(b.refreshToken,c);case"kiro":return await t(b.refreshToken,b.providerSpecificData,c);case"xai":return await h(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=A(b.apiKey);if(!a)return null;return await C(a,c)}default:return c?.warn?.("TOKEN_REFRESH",`Unsupported provider for token refresh: ${a}`),null}}async function z(a,b,c){if(!b.refreshToken)return null;switch(a){case"gemini-cli":case"antigravity":return q(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return p(b.refreshToken,c);case"codex":return s(b.refreshToken,c);case"qwen":return r(b.refreshToken,c);case"iflow":return u(b.refreshToken,c);case"github":return v(b.refreshToken,c);case"kiro":return t(b.refreshToken,b.providerSpecificData,c);case"xai":return h(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=A(b.apiKey);if(!a)return null;return C(a,c)}default:return o(a,b.refreshToken,b,c)}}function A(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let B=new Map;async function C(a,b){let d=a.client_email,e=B.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await Promise.all([c.e(6935),c.e(8971)]).then(c.bind(c,8971));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return B.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}async function D(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}}};
|
|
1
|
+
"use strict";exports.id=8590,exports.ids=[8590,9609],exports.modules={3662:(a,b,c)=>{c.d(b,{EQ:()=>g,LY:()=>d,O:()=>f,fh:()=>i,iq:()=>e,t2:()=>j,wf:()=>h});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"invalid_request_error",401:"authentication_error",403:"permission_error",404:"not_found_error",413:"request_too_large",429:"rate_limit_error",500:"api_error",502:"api_error",503:"overloaded_error",504:"api_error"},f={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},g={base:2e3,max:3e5,maxLevel:15},h=3e4,i=18e5,j=[{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"improperly formed request",cooldownMs:12e4},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}]},8590:(a,b,c)=>{c.d(b,{$B:()=>z,$M:()=>m,I9:()=>q,Og:()=>n,Ql:()=>t,Sc:()=>A,Wm:()=>s,iD:()=>x,jR:()=>w,oD:()=>i,pb:()=>C,qZ:()=>D});var d=c(35024),e=c(75924),f=c(39609);let g=null;async function h(a,b){return a?k("xai",a,async()=>{try{g||(g=new(await Promise.all([c.e(3104),c.e(5852)]).then(c.bind(c,33471))).XaiService);let b=await g.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let i=3e5,j=new Map;async function k(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=j.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;j.delete(e)}let g=(async()=>{try{let a=await c();return j.set(e,{result:a,expiresAt:Date.now()+1e4}),a}catch(a){throw j.delete(e),a}})();return j.set(e,{promise:g}),g}let l=new Map;function m(a,b){if(!a||!b)return;let c=`${a}:${b}`;j.delete(c),l.delete(c)}function n(a){return e.Wu[a]||i}async function o(a,b,c,e){return b?k(a,b,async()=>{let c=d.xq[a];if(!c||!c.refreshUrl)return e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null;if(!b)return e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let d=await fetch(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:c.clientId,client_secret:c.clientSecret})});if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:b}),null}let f=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||b,expiresIn:f.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):null}async function p(a,b){return a?k("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function q(a,b,c,d){return a?k(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function r(a,b){return a?k("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function s(a,b){return a?k("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code||("string"==typeof b?.error?b.error:null)}catch{}if("refresh_token_reused"===d||"invalid_grant"===d||"token_expired"===d||"invalid_token"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,errorCode:d}),{error:"unrecoverable_refresh_error",code:d};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,c,e=null){return a?k("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,i=b?.clientSecret,j=b?.region;if(h&&i){let b="idc"===g&&j?`https://oidc.${j}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.proxyAwareFetch)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"})},e);if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let k=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!k.accessToken,expiresIn:k.expiresIn}),{accessToken:k.accessToken,refreshToken:k.refreshToken||a,expiresIn:k.expiresIn}}let k=await (0,f.proxyAwareFetch)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a})},e);if(!k.ok){let a=await k.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:k.status,error:a}),null}let l=await k.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!l.accessToken,expiresIn:l.expiresIn}),{accessToken:l.accessToken,refreshToken:l.refreshToken||a,expiresIn:l.expiresIn}},c):null}async function u(a,b){return a?k("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function v(a,b){return a?k("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function w(a,b){return a?k("copilot",a,async()=>{try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":e.x0.USER_AGENT,"Editor-Version":`vscode/${e.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${e.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":e.x0.API_VERSION}});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function x(a,b,c){var d;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let e=(d=b.refreshToken,`${a}:${d}`);if(l.has(e))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),l.get(e);let f=y(a,b,c).finally(()=>{l.delete(e)});return l.set(e,f),f}async function y(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await q(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return await p(b.refreshToken,c);case"codex":return await s(b.refreshToken,c);case"qwen":return await r(b.refreshToken,c);case"iflow":return await u(b.refreshToken,c);case"github":return await v(b.refreshToken,c);case"kiro":return await t(b.refreshToken,b.providerSpecificData,c);case"xai":return await h(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=A(b.apiKey);if(!a)return null;return await C(a,c)}default:return c?.warn?.("TOKEN_REFRESH",`Unsupported provider for token refresh: ${a}`),null}}async function z(a,b,c){if(!b.refreshToken)return null;switch(a){case"gemini-cli":case"antigravity":return q(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return p(b.refreshToken,c);case"codex":return s(b.refreshToken,c);case"qwen":return r(b.refreshToken,c);case"iflow":return u(b.refreshToken,c);case"github":return v(b.refreshToken,c);case"kiro":return t(b.refreshToken,b.providerSpecificData,c);case"xai":return h(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=A(b.apiKey);if(!a)return null;return C(a,c)}default:return o(a,b.refreshToken,b,c)}}function A(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let B=new Map;async function C(a,b){let d=a.client_email,e=B.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await Promise.all([c.e(6935),c.e(8971)]).then(c.bind(c,8971));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return B.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}async function D(a,b=3,c=null){for(let d=0;d<b;d++){if(d>0){let a=1e3*d;c?.debug?.("TOKEN_REFRESH",`Retry ${d}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await a();if(b)return b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${d+1}/${b} failed: ${a.message}`)}}return c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed`),null}},39609:(a,b,c)=>{c.d(b,{proxyAwareFetch:()=>q});var d=c(27910),e=c(41004);let f=globalThis.fetch,g=new Map,h=new Map,i=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],j=["8.8.8.8","8.8.4.4"];function k(a){return null==a?"":String(a).trim()}async function l(a){let b=h.get(a);if(b&&Date.now()<b.expiry)return b.ip;try{let b=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:d}=await Promise.resolve().then(c.t.bind(c,28354,23)),f=new b.Resolver;f.setServers(j);let g=d(f.resolve4.bind(f)),i=await g(a);return h.set(a,{ip:i[0],expiry:Date.now()+e.v1.dnsCacheTtlMs}),i[0]}catch(b){return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,b.message),null}}function m(a,b){let c,d=k(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function n(a){let b=k(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function o(a){let b=n(a);if(!b)return null;if(!g.has(b)){g.size>=e.v1.proxyDispatchersMaxSize&&g.delete(g.keys().next().value);let{ProxyAgent:a}=await c.e(7774).then(c.t.bind(c,47774,19));g.set(b,new a({uri:b}))}return g.get(b)}async function p(a,b,e){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket;g.connect(443,b,()=>{let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:e.method||"POST",headers:{...e.headers,Host:a.hostname}},i=h.request(b,a=>{let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:d.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)});i.on("error",f),e.body&&i.write("string"==typeof e.body?e.body:JSON.stringify(e.body)),i.end()}),g.on("error",f)})}async function q(a,b={},c=null){let d="string"==typeof a?a:a.toString(),e=k(c?.vercelRelayUrl);if(e){let a=new URL(d),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return f(e,{...b,headers:c})}let g=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=k(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=k(b?.noProxy??b?.connectionNoProxy);return d&&m(a,d)?null:n(c)}(d,c),h=g?null:n(function(a){let b;if(m(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(d)),j=g||h;if(function(a){try{let b=new URL(a).hostname;return i.some(a=>b.includes(a))}catch{return!1}}(d)){if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${a.message}`)}try{let a=new URL(d),c=await l(a.hostname);if(c)return await p(a,c,b)}catch(a){console.warn(`[ProxyFetch] DNS bypass failed: ${a.message}`)}}if(j)try{let c=await o(j);return await f(a,{...b,dispatcher:c})}catch(a){if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return f(a,b)}async function r(a,b={}){return q(a,b,null)}globalThis.fetch!==r&&(globalThis.fetch=r)},41004:(a,b,c)=>{c.d(b,{C8:()=>m,DR:()=>l,Uc:()=>i,cI:()=>k,eo:()=>j,gx:()=>d,lp:()=>h,pH:()=>g,v1:()=>e,xM:()=>f}),c(3662);let d={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},e={sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},f=18e4,g=2e4,h=3e5,i=64e3,j=32e3,k={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}};function l(a){return null==a?{attempts:0,delayMs:2e3}:"number"==typeof a?{attempts:a,delayMs:2e3}:{attempts:a.attempts||0,delayMs:null!=a.delayMs?a.delayMs:2e3}}let m=["Please write a 5-10 word title for the following conversation:"]}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9293,exports.ids=[1998,9293],exports.modules={19225:(a,b,c)=>{a.exports=c(44870)},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},54589:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(34778),e=c(75681),f=c(35024),g=c(44404),h=c(90737),i=a([d]);d=(i.then?(await i)():i)[0];let j="grok-cli";for(let a=d.MQ.length-1;a>=0;a-=1)"xai"===d.MQ[a]&&d.MQ.splice(a,1);d.MQ.includes(j)||d.MQ.push(j),e.wb.includes(j)||e.wb.push(j),e.zN[j]={id:j,alias:"gcli",name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",deprecated:!0,deprecationNotice:e.hv,website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build / SuperGrok subscription credits, not xAI API billing.",signupUrl:"https://grok.com/supergrok"},serviceKinds:["llm"],authModes:["oauth"],hasOAuth:!0,thinkingConfig:{options:["low","medium","high","xhigh"],defaultMode:"high"}},f.xq[j]=h.q,g.vq[j]=h.vT,b()}catch(a){b(a)}})},68988:(a,b,c)=>{c.d(b,{S:()=>g,a:()=>i});var d=c(90737);function e(a){if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;try{return JSON.parse(Buffer.from(b[1],"base64url").toString("utf8"))}catch{return null}}function f(){return{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":d.fZ}}async function g(){let a=new URLSearchParams({client_id:d.XE.clientId,scope:d.XE.scope,referrer:d.XE.referrer}),b=await fetch(d.XE.deviceCodeUrl,{method:"POST",headers:f(),body:a}),c=await b.text(),e=null;try{e=c?JSON.parse(c):null}catch{}if(!b.ok||!e?.device_code)throw Error(`Grok CLI device code request failed: ${e?.error_description||e?.error||c||b.status}`);return{...e,verification_uri:e.verification_uri||"https://auth.x.ai/activate",verification_uri_complete:e.verification_uri_complete||e.verification_uri,interval:Number(e.interval)||5}}async function h(a){try{let b=await fetch(`${d.Nr}/user?include=subscription`,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":d.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":"grok-shell","x-grok-client-version":d.uG,"x-grok-client-mode":"headless"}});return b.ok?await b.json():null}catch{return null}}async function i(a){let b=await fetch(d.XE.tokenUrl,{method:"POST",headers:f(),body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:String(a||""),client_id:d.XE.clientId})}),c=await b.text(),g=null;try{g=c?JSON.parse(c):null}catch{}if(!g)return{success:!1,error:"invalid_response",errorDescription:c||`HTTP ${b.status}`};if("authorization_pending"===g.error||"slow_down"===g.error)return{success:!1,pending:!0,error:g.error,errorDescription:g.error_description||g.error};if(!b.ok||g.error||!g.access_token)return{success:!1,error:g.error||"token_exchange_failed",errorDescription:g.error_description||g.message||c||`HTTP ${b.status}`};let i=await h(g.access_token);return{success:!0,tokens:function(a,b=null){let c=function(a){for(let b of[e(a?.id_token),e(a?.access_token)].filter(Boolean)){let a=b.email||b.preferred_username;if(a)return a}return null}(a)||b?.email||null,d=b?.userId||b?.principalId||null,f=[b?.firstName,b?.lastName].filter(Boolean).join(" ").trim()||null,g=Number(a.expires_in)||null,h=g?new Date(Date.now()+1e3*g).toISOString():null;return{accessToken:a.access_token,refreshToken:a.refresh_token||null,...g?{expiresIn:g}:{},...h?{expiresAt:h}:{},...a.scope?{oauthScope:a.scope}:{},...c?{email:c}:{},...f?{displayName:f}:{},providerSpecificData:{authMethod:"device_code",idToken:a.id_token||null,email:c,userId:d,hasGrokCodeAccess:b?.hasGrokCodeAccess??null,subscriptionTier:b?.subscriptionTier??b?.subscription?.tier??null}}}(g,i),user:i}}},71998:(a,b,c)=>{c.d(b,{E6:()=>d.getCloudComboById,Fh:()=>d.getProviderNodes,Ht:()=>d.buildCloudComboSlug,Hw:()=>d.deleteCloudCombo,Mc:()=>d.getProviderConnectionById,OM:()=>d.getModelAliases,P:()=>d.getProviderConnections,Pc:()=>d.deleteProviderNode,Q_:()=>d.updateProxyPool,Qu:()=>d.getProviderNodeById,S8:()=>d.addCustomModel,Uv:()=>d.getCombos,Wo:()=>d.getCloudComboByOwnerAndName,Yd:()=>d.deleteProxyPool,ZO:()=>d.createProxyPool,_0:()=>d.getAllCloudCombos,bx:()=>d.getCloudCombosByOwner,createProviderConnection:()=>d.createProviderConnection,fK:()=>d.deleteProviderConnection,fv:()=>d.deleteModelAlias,ho:()=>d.updateProviderNode,hr:()=>d.getProxyPoolById,hw:()=>d.updateCloudCombo,i0:()=>d.createProviderNode,nv:()=>d.getPersonalConnectionSummary,o5:()=>d.setModelAlias,op:()=>d.deleteProviderConnectionsByProvider,qy:()=>d.createCloudCombo,uL:()=>d.deleteCustomModel,ui:()=>d.getProxyPools,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.getCustomModels,yg:()=>d.getApiKeyById});var d=c(89718)},86545:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lh:()=>l,tT:()=>m});var e=c(54589),f=c(23211),g=c(9588),h=c(89718),i=c(71998),j=c(34778),k=a([e,j]);async function l(a=""){let{access:b,response:c}=await (0,g.oW)();if(c)return{response:c};let d=await (0,h.getSettings)();if(!(0,j.gm)(d,b.userId,"grok-cli"))return{response:f.NextResponse.json({error:"This personal OAuth provider is not enabled for your user"},{status:403})};let e=String(a??"").trim();if(e){let a=await (0,i.Mc)(e);if(!a)return{response:f.NextResponse.json({error:"Reauth target connection not found"},{status:404})};if("grok-cli"!==a.provider)return{response:f.NextResponse.json({error:"Reauth target belongs to a different provider"},{status:400})};if("personal"!==a.scope)return{response:f.NextResponse.json({error:"Reauth is only supported for personal OAuth connections"},{status:400})};let c=String(a.ownerUser||"").trim().toLowerCase(),d=String(b.userId||"").trim().toLowerCase();return c&&c!==d&&!0!==b.isAdmin?{response:f.NextResponse.json({error:"You do not own this connection"},{status:403})}:{access:b,fields:{name:a.name||void 0,scope:"personal",ownerUser:a.ownerUser||b.userId,createdByUser:a.createdByUser||b.userId,visibility:a.visibility||"private",reauthConnectionId:a.id}}}let k=await (0,i.P)({provider:"grok-cli",scope:"personal",ownerUser:b.userId}),m=(0,j.Ii)(d,b.userId);return!0!==b.isAdmin&&k.length>=m?{response:f.NextResponse.json({error:`Mỗi user chỉ được th\xeam tối đa ${m} account cho mỗi provider.`},{status:403})}:{access:b,fields:{name:(0,j.IP)("grok-cli",b.userId,k),scope:"personal",ownerUser:b.userId,createdByUser:b.userId,visibility:"private"}}}async function m(a,b={}){let{reauthConnectionId:c,name:d,...e}=b||{};if(c){let{name:b,...f}=a,g=await (0,i.updateProviderConnection)(c,{...f,...e,...d?{name:d}:{},lastError:null,lastErrorAt:null,errorCode:null,rateLimitedUntil:null});if(!g){let a=Error("Reauth target connection no longer exists");throw a.status=404,a}return g}return await (0,i.createProviderConnection)({...a,...e,...d?{name:d}:{}})}[e,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=9489,exports.ids=[9489],exports.modules={18910:(a,b,c)=>{c.d(b,{Pr:()=>s,UP:()=>q,Vu:()=>r});var d=c(12557),e=c(43659),f=c(11893);let g=new Map,h=new Map,i=0;function j(a){return"client_ip"===a||"client_session"===a?a:"global"}function k(a){let b=Number.parseInt(a,10);return!Number.isFinite(b)||b<=0?120:Math.min(b,10080)}function l(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}function m(a){let b=g.get(a);return"number"==typeof b?{index:b,consecutiveUseCount:0}:b||{index:0,consecutiveUseCount:0}}function n(a,b,c,d){let e=m(a).consecutiveUseCount+1;e>=d?g.set(a,{index:(b+1)%c,consecutiveUseCount:0}):g.set(a,{index:b,consecutiveUseCount:e})}function o(a,b,c){let d=b||"__default__",e=m(d).index%a.length,f=l(a,e);return n(d,e,a.length,c),f}function p(a,b){return{model:a,label:a,provider:b||"combo"}}function q(a){if(!a){g.clear(),h.clear();return}g.delete(a);let b=`${a}::`;for(let a of h.keys())a.startsWith(b)&&h.delete(a)}function r(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function s({body:a,models:b,handleSingleModel:c,log:g,comboName:q,comboStrategy:r,comboStickyLimit:t=1,comboStickyScope:u="global",comboStickyTtlMinutes:v=120,comboStickyContext:w=null,sourceFormat:x=null}){let y=r||"fallback",z=function(a,b,c,d=1,e={}){let g;if(!a||a.length<=1)return a;let q=c||"fallback",r=a.map(a=>p(a,b));if((0,f.OI)(r),"least-latency"===q||"least_latency"===q)return(0,f.Gc)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("p2c"===q||"power-of-two"===q||"power_of_two"===q)return(0,f.ZL)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("round-robin"!==q)return a;let s=Number.isFinite(g=Number.parseInt(d,10))&&g>0?g:1,t=j(e.stickyScope),u=k(e.stickyTtlMinutes);return"global"===t?o(a,b,s):function(a,b,c,d,e,f){let g,p=Date.now();if(!(p-i<6e4))for(let[a,b]of(i=p,h.entries()))(!b?.expiresAt||b.expiresAt<=p)&&h.delete(a);let q=j(d),r="global"!==(g=j(q))&&f?.key?`${b||"__default__"}::${g}::${f.key}`:null;if(!r)return o(a,b,c);let s=Date.now(),t=6e4*k(e),u=h.get(r);if(u&&u.expiresAt>s){let b=Number.isFinite(u.index)?u.index:0;if(u.model){let c=a.indexOf(u.model);c>=0&&(b=c)}return b%=a.length,h.set(r,{...u,index:b,model:a[b],lastUsedAt:s,expiresAt:s+t}),l(a,b)}let v=b||"__default__",w=m(v).index%a.length;return h.set(r,{index:w,model:a[w],stickyScope:q,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,createdAt:s,lastUsedAt:s,expiresAt:s+t}),n(v,w,a.length,c),l(a,w)}(a,b,s,t,u,e.stickyContext||null)}(b,q,y,t,{stickyScope:u,stickyTtlMinutes:v,stickyContext:w});["round-robin","least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(y)&&g?.debug?.("COMBO",`${y} combo "${q||"__default__"}" | sticky=${u||"global"}${w?.label?` | key=${w.label}`:""}`);let A=null,B=null,C=null;for(let b=0;b<z.length;b++){let e=z[b],h=p(e,q),i=(0,f.kb)(h);if(i.skipped&&b<z.length-1){g?.warn?.("COMBO",`Skipping ${e}: ${i.reason}`);continue}let j=Date.now();g.info("COMBO",`Trying model ${b+1}/${z.length}: ${e}`);try{let b=await c(a,e),k=Date.now()-j;if(i.end?.(),b.ok)return(0,f.Fg)(h,k),g.info("COMBO",`Model ${e} succeeded`),b;let l=b.statusText||"",m=null;try{let a=await b.clone().json();l=a?.error?.message||a?.error||a?.message||l,m=a?.retryAfter||null}catch{}if("string"!=typeof l)try{l=JSON.stringify(l)}catch{l=String(l)}(0,f.h6)(h,{status:b.status,message:l}),m&&(!B||new Date(m)<new Date(B))&&(B=m);let{shouldFallback:n,cooldownMs:o}=(0,d.L5)(b.status,l);if(!n)return g.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;o&&o>0&&o<=5e3&&[502,503,504].includes(b.status)&&(g.info("COMBO",`Model ${e} transient ${b.status}, waiting ${o}ms before next`),await new Promise(a=>setTimeout(a,o))),A=l||String(b.status),C=b.status,g.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){i.end?.(),A=a.message||String(a),C=Number(a?.status||a?.statusCode)||500,(0,f.h6)(h,a),g.warn("COMBO",`Model ${e} threw error, trying next`,{error:A})}}let D=A&&A.toLowerCase().includes("no credentials")?503:C||503,E=A||"All combo models unavailable";if(B){let a=(0,d.Qo)(B);return g.warn("COMBO",`All models failed | ${E} (${a})`),(0,e.wO)(D,E,B,a,x)}return g.warn("COMBO",`All models failed | ${E}`),(0,e.yj)(D,E,x)}},29069:(a,b,c)=>{c.d(b,{HX:()=>i,mH:()=>j});var d=c(11893),e=c(43659);function f(a){return String(a||"").trim()}function g(a){return Array.isArray(a)?[...new Set(a.map(a=>f(a)).filter(Boolean))]:"string"==typeof a?[...new Set(a.split(/[\n,;]+/).map(a=>f(a)).filter(Boolean))]:a&&"object"==typeof a?Object.entries(a).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?f(a):`${f(a)}:${f(b)}`).filter(Boolean):[]}function h(a){if(!a||"object"!=typeof a)return null;let b=f(a.name||a.id||a.exposedModel||a.model),c=f(a.exposedModel||a.model||a.name||a.id),d=f(a.type||"virtual");if("ollama-local"===d.toLowerCase())return null;let e=(a.targets||a.endpoints||a.models||[]).map(b=>(function(a,b={}){if("string"==typeof a)return{model:f(a),label:f(a),tags:[]};if(!a||"object"!=typeof a)return null;let c=f(a.model||a.value||a.id||a.fullModel);return c?{...a,id:f(a.id)||f(a.connectionId)||c,model:c,label:f(a.label||a.name||a.displayName)||c,connectionId:f(a.connectionId||a.connection_id||a.accountId),provider:f(a.provider||b.provider),endpoint:f(a.endpoint||a.baseUrl||a.baseURL||a.url),tags:g(a.tags||a.labels||a.routingTags),maxInFlight:Number(a.maxInFlight||a.maxInFlightPerTarget||b.maxInFlight||0)||void 0}:null})(b,a)).filter(Boolean);return b&&c&&0!==e.length?{...a,name:b,id:f(a.id)||b,exposedModel:c,enabled:!1!==a.enabled,type:d,strategy:f(a.strategy||a.fallbackStrategy||"least-latency"),requiredTags:g(a.requiredTags||a.tags),modelTagRules:function(a){if(!a||"object"!=typeof a)return{};let b={};for(let[c,d]of Object.entries(a)){let a=f(c),e=g(d);a&&e.length&&(b[a]=e)}return b}(a.modelTagRules||a.requiredTagsByModel||a.tagRules),targets:e}:null}function i(a={},b=""){let c=f(b);return c&&(function(a={}){let b=a.virtualCombos||[];return(Array.isArray(b)?b:Object.values(b||{})).map(h).filter(Boolean)})(a).find(a=>!1!==a.enabled&&(a.exposedModel===c||a.name===c))||null}async function j({body:a,combo:b,handleSingleTarget:c,log:g,sourceFormat:i=null}){let k,l,m,n,o=f(a?.model||b?.exposedModel||b?.name),p=h(b);if(!p)return(0,e.yj)(400,"Invalid virtual combo",i);let q=(k=[...p.targets],l=p.modelTagRules||{},0===(k=(k=(0,d.OF)(k,o,l)).filter(a=>(function(a,b=[]){if(!b.length)return!0;let c=new Set((a.tags||[]).map(a=>String(a).toLowerCase()));return b.every(a=>c.has(String(a).toLowerCase()))})(a,p.requiredTags||[]))).length&&(k=[...p.targets]),m=k.map(a=>({...a,id:a.id||`${p.name}:${a.model}:${a.connectionId||"any"}`,connectionId:a.connectionId||"",provider:a.provider||"virtual-combo",providerLabel:p.name,label:a.label||a.model,model:o||p.exposedModel,upstreamModel:a.model,endpoint:a.endpoint||"",tags:a.tags||[],maxInFlight:a.maxInFlight})),(0,d.OI)(m),("p2c"===(n=String(p.strategy||"least-latency").toLowerCase())||"power-of-two"===n||"power_of_two"===n?(0,d.ZL)(m,{model:o,modelTagRules:l,includeSkippedAtEnd:!0}):"fallback"===n||"priority"===n?(0,d.Gc)(m,{model:o,modelTagRules:l,preserveOrder:!0,includeSkippedAtEnd:!0}):(0,d.Gc)(m,{model:o,modelTagRules:l,includeSkippedAtEnd:!0})).map(a=>({healthTarget:a,target:k.find(b=>a.upstreamModel===b.model&&(a.connectionId||"")===(b.connectionId||""))})).filter(a=>a.target)),r="All virtual combo targets unavailable",s=503;g?.info?.("VIRTUAL_COMBO",`Virtual combo "${p.name}" -> ${q.length} target(s), strategy=${p.strategy}`);for(let b=0;b<q.length;b+=1){let{target:e,healthTarget:f}=q[b],h=(0,d.kb)(f);if(h.skipped){g?.warn?.("VIRTUAL_COMBO",`Skip ${e.label||e.model}: ${h.reason}`);continue}let i=Date.now();try{let j={...a,model:e.model};g?.info?.("VIRTUAL_COMBO",`Trying ${b+1}/${q.length}: ${e.label||e.model}`);let k=await c(j,e),l=Date.now()-i;if(k?.ok)return(0,d.Fg)(f,l),h.end(),k;let m=k?.statusText||"request_failed";try{let a=await k.clone().json();m=a?.error?.message||a?.error||a?.message||m}catch{}s=k?.status||503,r="string"==typeof m?m:JSON.stringify(m),(0,d.h6)(f,{status:s,message:r}),g?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} failed`,{status:s})}catch(a){s=500,r=a?.message||String(a),(0,d.h6)(f,a),g?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} threw`,{error:r})}finally{h.end()}}return(0,e.yj)(s||503,r,i)}},38775:(a,b,c)=>{c.d(b,{d_:()=>h,gL:()=>i,mA:()=>g});var d=c(89718),e=c(40669);let f={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function g(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&f[b.providerAlias]?{...b,provider:f[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.getProviderNodes)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.getProviderNodes)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.getProviderNodes)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);return e?{provider:e.id,model:c.model}:{provider:c.provider,model:c.model}}return await (0,d.getComboByName)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.getModelAliases)}async function h(a){if(a.includes("/"))return null;let b=await (0,d.getComboByName)(a);return b&&b.models&&b.models.length>0?b.models:null}async function i(a,b){if(!a||a.includes("/"))return null;let c=String(b||"").trim().toLowerCase();if(!c)return null;let e=await (0,d.getCloudComboById)(a);return e&&!1!==e.isActive&&String(e.ownerUser||"").trim().toLowerCase()===c&&e.models&&0!==e.models.length?e:null}},42318:(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,{lV:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>V});var e=c(27513),f=c(48895),g=c(80238),h=c(89718),i=c(33669),j=c(490),k=c(38775),l=c(92500),m=c(43659),n=c(18910),o=c(42318),p=c(29069),q=c(41004),r=c(14170),s=c(57647),t=c(7803),u=c(67828),v=c(38160),w=c(35901),x=c(97242),y=c(86171),z=c(75681),A=a([f,g,l]);function B(a,b){try{let c=a?.url?new URL(a.url).pathname:"";return(0,r.t)(c,b)||(0,s.Tz)(b||{})}catch{return null}}function C({request:a,clientRawRequest:b,body:c,apiKey:d,model:e,provider:f="gateway",connectionId:g="",statusCode:h=500,errorCode:i="gateway_error",errorType:j="gateway",errorSource:k="gateway_validation",message:l="Gateway error"}){try{let m=b?.headers||{},n=b?.endpoint||"";if(a)try{m=m&&Object.keys(m).length?m:Object.fromEntries(a.headers.entries()),n=n||new URL(a.url).pathname}catch{}let o=(0,y.wS)({headers:m,requestId:b?.requestId,sessionId:b?.sessionId}),p={...o,requestContext:o,provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,gatewayStatusCode:h,errorSource:k,errorType:j,errorCode:i,errorMessageShort:l,latencyMs:0};(0,w.jk)(p).catch(()=>{}),(0,y.sx)({provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,statusCode:h,errorCode:i,errorType:j,errorMessage:l,requestContext:o,meta:{errorSource:k}})}catch{}}function D(a){return a&&"object"==typeof a&&!Array.isArray(a)}function E(a,b){return Object.prototype.hasOwnProperty.call(a||{},b)}function F(a){return null==a?"":String(a).trim()}[f,g,l]=A.then?(await A)():A;let X=new Set(["claude","codex"]);function G(a,{min:b,max:c,precision:d=3}={}){if(null==a||""===a)return;let e=Number(a);if(!Number.isFinite(e))return;let f=Math.min(c,Math.max(b,e));return Number(f.toFixed(d))}function H(a,{min:b,max:c}={}){let d=G(a,{min:b,max:c,precision:0});return void 0===d?void 0:Math.trunc(d)}function I(a){if(!0===a)return"on";if(!1===a)return"off";let b=F(a).toLowerCase();return["on","true","1","enable","enabled"].includes(b)?"on":["off","false","0","disable","disabled"].includes(b)?"off":["inherit","default","request","client"].includes(b)?"inherit":void 0}let Y=["temperature","top_p","top_k","min_p","presence_penalty","max_tokens"];function J(a={}){let b=D(a)?a:{},c={};if(E(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(E(b,"top_p")||E(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}if(E(b,"top_k")||E(b,"topK")){let a=H(b.top_k??b.topK,{min:0,max:1e3});void 0!==a&&(c.top_k=a)}if(E(b,"min_p")||E(b,"minP")){let a=G(b.min_p??b.minP,{min:0,max:1});void 0!==a&&(c.min_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(E(b,"presence_penalty")||E(b,"presencePenalty")||E(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(E(b,"max_tokens")||E(b,"maxTokens")||E(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}return c}function K(a={},b={},c=null){let d=J(b),e={...a};return void 0!==d.temperature&&(e.temperature=d.temperature),void 0!==d.top_p&&(e.top_p=d.top_p),c?.supportsExtendedSampling===!0&&(void 0!==d.top_k&&(e.top_k=d.top_k),void 0!==d.min_p&&(e.min_p=d.min_p)),void 0!==d.presence_penalty&&(e.presence_penalty=d.presence_penalty),void 0!==d.max_tokens&&(e.max_tokens=d.max_tokens,E(e,"max_completion_tokens")&&delete e.max_completion_tokens),e}function L(a={}){let b=D(a)?a:{},c={};if(E(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(E(b,"top_p")||E(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}if(E(b,"top_k")||E(b,"topK")){let a=H(b.top_k??b.topK,{min:0,max:1e3});void 0!==a&&(c.top_k=a)}if(E(b,"min_p")||E(b,"minP")){let a=G(b.min_p??b.minP,{min:0,max:1});void 0!==a&&(c.min_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(E(b,"presence_penalty")||E(b,"presencePenalty")||E(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(E(b,"max_tokens")||E(b,"maxTokens")||E(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}let f=b.reasoning_budget??b.reasoningBudget??b["reasoning-budget"];if(E(b,"reasoning_budget")||E(b,"reasoningBudget")||E(b,"reasoning-budget")){let a=H(f,{min:0,max:262144});void 0!==a&&(c.reasoning_budget=a)}let g=b.inheritThinkRequestOverrides??b.thinkRequestOverrides??b.thinkingOnRequestOverrides;if(E(b,"inheritThinkRequestOverrides")||E(b,"thinkRequestOverrides")||E(b,"thinkingOnRequestOverrides")){let a=J(g);Object.keys(a).length>0&&(c.inheritThinkRequestOverrides=a)}let h=b.inheritNoThinkRequestOverrides??b.noThinkRequestOverrides??b.thinkingOffRequestOverrides;if(E(b,"inheritNoThinkRequestOverrides")||E(b,"noThinkRequestOverrides")||E(b,"thinkingOffRequestOverrides")){let a=J(h);Object.keys(a).length>0&&(c.inheritNoThinkRequestOverrides=a)}let i=I(b.thinkingMode??b.thinking);if(i&&"inherit"!==i&&(c.thinkingMode=i),"off"===c.thinkingMode&&delete c.reasoning_budget,!c.thinkingMode){let a=J(c);if(Object.keys(a).length>0)for(let b of(c.inheritThinkRequestOverrides={...a,...c.inheritThinkRequestOverrides||{}},c.inheritNoThinkRequestOverrides={...a,...c.inheritNoThinkRequestOverrides||{}},Y))delete c[b]}return c}function M(a={}){let b={...a};return E(b,"reasoning_budget")&&delete b.reasoning_budget,E(b,"thinking_token_budget")&&delete b.thinking_token_budget,b}function N(a={},b,c){let d=function(a={}){let b={...a};if(E(b,"enable_thinking")&&delete b.enable_thinking,D(b.chat_template_kwargs)&&E(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}(a);return!0===b.supportsChatTemplateKwargs&&(d.chat_template_kwargs={...D(d.chat_template_kwargs)?d.chat_template_kwargs:{},enable_thinking:c}),d}function O(a={},b,c){let d=M(a);return b.reasoningBudgetField&&(d[b.reasoningBudgetField]=c),d}function P(a={}){if(D(a.chat_template_kwargs)&&E(a.chat_template_kwargs,"enable_thinking"))return!0===a.chat_template_kwargs.enable_thinking;if(E(a,"enable_thinking"))return!0===a.enable_thinking;if(E(a,"reasoning_budget"))return H(a.reasoning_budget,{min:0,max:262144})>0;if(E(a,"thinking_token_budget"))return H(a.thinking_token_budget,{min:0,max:262144})>0;if(D(a.thinking)){let b=F(a.thinking.type).toLowerCase();if(["enabled","on","true","adaptive","auto"].includes(b))return!0;if(["disabled","off","false"].includes(b))return!1}return null}function Q(a={},b=null){let c=D(a)?a:{};return"think"===b?J(c.inheritThinkRequestOverrides??c.thinkRequestOverrides??c.thinkingOnRequestOverrides??{}):"nothink"===b?J(c.inheritNoThinkRequestOverrides??c.noThinkRequestOverrides??c.thinkingOffRequestOverrides??{}):{}}function R({body:a={},overrides:b={},apiKeyForceThinkingOff:c=!1}={}){let d=D(b)?b:{},e=I(d.thinkingMode??d.thinking);return"on"===e||"off"===e?null:c?"nothink":!0===P(a)?"think":"nothink"}function S(a,b,c=null){var d;let e;if(c)return{comboStrategy:c.strategy||"fallback",comboStickyLimit:1,comboStickyScope:c.stickyScope||"global",comboStickyTtlMinutes:120,comboStickyFallbackToClientIp:!0,requestOverrides:{},contentLoggingMode:void 0};let f=(a.comboStrategies||{})[b]||{};return{comboStrategy:f.fallbackStrategy||a.comboStrategy||"fallback",comboStickyLimit:f.stickyRoundRobinLimit||f.stickyLimit||a.comboStickyRoundRobinLimit||1,comboStickyScope:f.stickyScope||a.comboRoundRobinStickyScope||"global",comboStickyTtlMinutes:f.stickyTtlMinutes||a.comboRoundRobinStickyTtlMinutes||120,comboStickyFallbackToClientIp:void 0!==f.stickyFallbackToClientIp?f.stickyFallbackToClientIp:!1!==a.comboStickyFallbackToClientIp,requestOverrides:L(f.requestOverrides||{}),contentLoggingMode:(d=f.contentLoggingMode,e=F(d).toLowerCase(),"enabled"===e||"disabled"===e?e:"inherit")}}async function T({body:a,modelStr:b,comboModels:c,settings:d,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1,cloudCombo:i=null}){let j=B(f,a),k=S(d,b,i),l=(0,o.lV)({body:a,headers:e?.headers||{},scope:k.comboStickyScope,fallbackToClientIp:k.comboStickyFallbackToClientIp});return t.info("CHAT",`Combo "${b}" with ${c.length} models (strategy: ${k.comboStrategy}, stickyLimit: ${k.comboStickyLimit}, stickyScope: ${k.comboStickyScope})`),(0,n.Pr)({body:a,models:c,handleSingleModel:(a,c)=>{let d=function(a){if("string"==typeof a)return{modelStr:F(a),preferredConnectionId:null,label:F(a)};if(!D(a)){let b=F(a);return{modelStr:b,preferredConnectionId:null,label:b}}let b=F(a.model||a.modelStr||a.model_name||a.rawModel||a.raw_model),c=F(a.connectionId||a.connection_id||a.providerConnectionId||a.provider_connection_id)||null,d=F(a.label||a.displayName||a.name)||b;return{modelStr:b,preferredConnectionId:c,label:d}}(c);return d.modelStr?W(a,d.modelStr,e,f,g,{preferredConnectionId:d.preferredConnectionId,apiKeyForceThinkingOff:h,allowSystemFallback:!i,skipProviderRetry:!0,comboRequestOverrides:k.requestOverrides,contentLoggingMode:k.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:d.label||d.modelStr,comboStrategy:k.comboStrategy}}):(t.warn("CHAT",`Combo "${b}" contains an invalid target`,{target:c}),(0,m.yj)(q.gx.BAD_REQUEST,`Invalid combo target in ${b}`,j))},log:t,comboName:b,comboStrategy:k.comboStrategy,comboStickyLimit:k.comboStickyLimit,comboStickyScope:k.comboStickyScope,comboStickyTtlMinutes:k.comboStickyTtlMinutes,comboStickyContext:l,sourceFormat:j})}async function U({body:a,modelStr:b,virtualCombo:c,settings:d=null,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1}){let i=B(f,a),j=S(d||{},b);return t.info("CHAT",`Virtual combo "${b}" matched ${c.targets?.length||0} target(s)`),(0,p.mH)({body:a,combo:c,log:t,sourceFormat:i,handleSingleTarget:(a,c)=>W(a,c.model,e,f,g,{preferredConnectionId:c.connectionId||null,apiKeyForceThinkingOff:h,allowSystemFallback:!0,skipProviderRetry:!0,comboRequestOverrides:j.requestOverrides,contentLoggingMode:j.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:c?.label||c?.model||"",comboStrategy:j.comboStrategy}})})}async function V(a,b=null){let c;try{c=await a.json()}catch{return t.warn("CHAT","Invalid JSON body"),C({request:a,clientRawRequest:b,statusCode:q.gx.BAD_REQUEST,errorCode:"invalid_json_body",errorType:"invalid_request",message:"Invalid JSON body"}),(0,m.yj)(q.gx.BAD_REQUEST,"Invalid JSON body",(0,r.t)(new URL(a.url).pathname,null))}if(!b){let d=new URL(a.url);b={endpoint:d.pathname,query:d.search,body:c,headers:Object.fromEntries(a.headers.entries())}}let d=new URL(a.url);b&&void 0===b.query&&(b.query=d.search);let e=B(a,c),f=c.model,j=c.messages?.length||c.input?.length||0,l=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;t.request("POST",`${d.pathname} | ${f} | ${j} msgs${l?` | ${l} tools`:""}${n?` | effort=${n}`:""}`);let o=a.headers.get("Authorization"),s=(0,g.Tr)(a);o&&s?t.debug("AUTH",`API Key: ${t.maskKey(s)}`):t.debug("AUTH","No API key provided");let u=await (0,h.getSettings)(),v=null;if(s&&(v=await (0,h.getApiKeyByKey)(s)),!s)return t.warn("AUTH","Missing API key"),C({request:a,clientRawRequest:b,body:c,model:f,statusCode:q.gx.UNAUTHORIZED,errorCode:"missing_api_key",errorType:"auth_error",message:"Missing API key"}),(0,m.yj)(q.gx.UNAUTHORIZED,"Missing API key",e);let w=v?!1!==v.isActive:await (0,g.kI)(s);if(v&&b&&(b.apiKeyRecordId=v.id,b.apiKeyOwnerUser=String(v.ownerUser||v.createdByUser||"").trim().toLowerCase()),!w)return t.warn("AUTH","Invalid API key"),C({request:a,clientRawRequest:b,body:c,apiKey:s,model:f,statusCode:q.gx.UNAUTHORIZED,errorCode:"invalid_api_key",errorType:"auth_error",message:"Invalid API key"}),(0,m.yj)(q.gx.UNAUTHORIZED,"Invalid API key",e);if(!f)return t.warn("CHAT","Missing model"),C({request:a,clientRawRequest:b,body:c,apiKey:s,statusCode:q.gx.BAD_REQUEST,errorCode:"missing_model",errorType:"invalid_request",message:"Missing model"}),(0,m.yj)(q.gx.BAD_REQUEST,"Missing model",e);if(v&&b?.internalTrustedRequest!==!0&&!(0,i.zx)(v,f))return t.warn("AUTH",`API key not allowed to use model: ${f}`),C({request:a,clientRawRequest:b,body:c,apiKey:s,model:f,statusCode:q.gx.FORBIDDEN||403,errorCode:"model_not_allowed",errorType:"forbidden",message:`API key is not allowed to use model: ${f}`}),(0,m.yj)(q.gx.FORBIDDEN||403,`API key is not allowed to use model: ${f}`,e);let x=(0,p.HX)(u,f);if(x)return U({body:c,modelStr:f,virtualCombo:x,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0});let y=await (0,k.d_)(f);if(y)return T({body:c,modelStr:f,comboModels:y,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0});let z=await (0,k.gL)(f,b?.apiKeyOwnerUser);if(z)return T({body:c,modelStr:f,comboModels:z.models,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0,cloudCombo:z});let A=a?.headers?.get?.("x-connection-id")||null;return W(c,f,b,a,s,A?{preferredConnectionId:A}:{})}async function W(a,b,c=null,d=null,f=null,i={}){let n=B(d,a),o=await (0,k.mA)(b);if(!o.provider){let e=await (0,h.getSettings)(),g=(0,p.HX)(e,b);if(g)return U({body:a,modelStr:b,virtualCombo:g,settings:e,clientRawRequest:c,request:d,apiKey:f,apiKeyForceThinkingOff:!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0});let j=await (0,k.d_)(b);if(j)return T({body:a,modelStr:b,comboModels:j,settings:e,clientRawRequest:c,request:d,apiKey:f,apiKeyForceThinkingOff:!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0});let l=await (0,k.gL)(b,c?.apiKeyOwnerUser);return l?T({body:a,modelStr:b,comboModels:l.models,settings:e,clientRawRequest:c,request:d,apiKey:f,apiKeyForceThinkingOff:!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0,cloudCombo:l}):(t.warn("CHAT","Invalid model format",{model:b}),C({request:d,clientRawRequest:c,body:a,apiKey:f,model:b,statusCode:q.gx.BAD_REQUEST,errorCode:"invalid_model_format",errorType:"model_not_found",message:"Invalid model format"}),(0,m.yj)(q.gx.BAD_REQUEST,"Invalid model format",n))}let{provider:s,model:w}=o;b!==`${s}/${w}`?t.info("ROUTING",`${b} -> ${s}/${w}`):t.info("ROUTING",`Provider: ${s}, Model: ${w}`);let y=d?.headers?.get("user-agent")||"",A=new Set,G=null,I=null;for(;;){let b=await (0,g.c1)(s,A,w,{body:a,headers:c?.headers||{},preferredConnectionId:i.preferredConnectionId||null,ownerUser:c?.apiKeyOwnerUser||"",apiKeyId:c?.apiKeyRecordId||"",allowSystemFallback:!0===i.allowSystemFallback});if(!b||b.allRateLimited||b.allUnavailableByPolicy||b.personalAccountRequired){if(b?.personalAccountRequired){let e=b.lastError||`Personal account is required for provider: ${s}`,g=Number(b.lastErrorCode)||q.gx.FORBIDDEN||403;return t.warn("AUTH",`[${s}/${w}] ${e}`),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:g,errorCode:"personal_account_required",errorType:"forbidden",errorSource:"routing",message:`[${s}/${w}] ${e}`}),(0,m.yj)(g,e,n)}if(b?.allRateLimited||b?.allUnavailableByPolicy){let e=G||b.lastError||"Unavailable",g=I||Number(b.lastErrorCode)||q.gx.SERVICE_UNAVAILABLE;return t.warn("CHAT",`[${s}/${w}] ${e} (${b.retryAfterHuman})`),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:g,errorCode:b.allRateLimited?"all_accounts_rate_limited":"all_accounts_unavailable",errorType:b.allRateLimited?"rate_limit":"provider_unavailable",errorSource:"routing",message:`[${s}/${w}] ${e}`}),(0,m.wO)(g,`[${s}/${w}] ${e}`,b.retryAfter,b.retryAfterHuman,n)}if(0===A.size)return t.warn("AUTH",`No active credentials for provider: ${s}`),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:q.gx.NOT_FOUND,errorCode:"no_active_credentials",errorType:"provider_unavailable",errorSource:"routing",message:`No active credentials for provider: ${s}`}),(0,m.yj)(q.gx.NOT_FOUND,`No active credentials for provider: ${s}`,n);return t.warn("CHAT","No more accounts available",{provider:s}),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:I||q.gx.SERVICE_UNAVAILABLE,errorCode:"all_accounts_unavailable",errorType:"provider_unavailable",errorSource:"routing",message:G||"All accounts unavailable"}),(0,m.yj)(I||q.gx.SERVICE_UNAVAILABLE,G||"All accounts unavailable",n)}t.info("AUTH",`\x1b[32mUsing ${s} account: ${b.connectionName}\x1b[0m`);let k=await (0,u.eU)(s,b);if(("antigravity"===s||"gemini-cli"===s)&&!k.projectId){let a=await (0,v.eG)(b.connectionId,k.accessToken);a&&(k.projectId=a,(0,u.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let o=await (0,h.getSettings)(),p=(o.providerThinking||{})[s]||null,B=!1!==o.rtkEnabled,S=k.rtkEnabled,T=!0===S||!1===S?S:B,U=(0,e.Tu)({apiKeyMode:c?.apiKeyCavemanMode,apiKeyLevel:c?.apiKeyCavemanLevel,globalEnabled:!!o.cavemanEnabled,globalLevel:o.cavemanLevel||"full"}),V=!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0,W=i.comboRequestOverrides||{},Z={...a,model:`${s}/${w}`},$=(0,z.mq)(s),_=function(a={},b="",c={}){if(!(0,z.mq)(b))return a;let d=function(a={}){let b=a?.providerSpecificData&&"object"==typeof a.providerSpecificData?a.providerSpecificData:{},c=a.openAICompatibleRuntime||a.runtimeKind||b.openAICompatibleRuntime||b.runtimeKind||b.runtimeType||b.serverType||z.hb;return(0,z.tl)(c,z.hb)}(c),e=L(c.comboRequestOverrides||{}),f=c?.apiKeyForceThinkingOff===!0,g={...a};g=K(g,e,d);let h=R({body:a,overrides:e,apiKeyForceThinkingOff:f});if(f)return g=K(g,Q(e,h),d),g=function(a={}){let b={...a};if(E(b,"enable_thinking")&&delete b.enable_thinking,E(b,"reasoning_budget")&&delete b.reasoning_budget,E(b,"thinking_token_budget")&&delete b.thinking_token_budget,D(b.chat_template_kwargs)&&E(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}(g),!0===d.supportsChatTemplateKwargs?N(g,d,!1):g;g=K(g,Q(e,h),d);let i=!e.thinkingMode&&!0!==P(a),j=H(a?.thinking?.budget_tokens,{min:0,max:262144});return void 0===e.reasoning_budget||i?j>0&&!i&&(g=O(g,d,j)):g=O(g,d,e.reasoning_budget),"off"===e.thinkingMode?(g=M(g),g=N(g,d,!1)):"on"===e.thinkingMode?g=N(g,d,!0):i&&function(a={}){return Object.keys(Q(a,"think")).length>0||Object.keys(Q(a,"nothink")).length>0}(e)&&(g=N(g,d,!1)),g}(Z,s,{apiKeyForceThinkingOff:V,comboRequestOverrides:W,providerSpecificData:k.providerSpecificData||{}}),aa=function({originalBody:a={},finalBody:b={},apiKeyForceThinkingOff:c=!1,providerPolicyApplies:d=!0}={}){let e=(0,j.iz)(b||a||{}),f=!0===d,g=f&&!0===c;return{thinkingEnabled:P(b),thinkingAutoOff:g,thinkingAutoOffReason:g?"api_key_force_off":"",promptChars:e,forceThinkingOffAboveChars:0,providerPolicyApplies:f,thinkingAutoOffThresholdMatched:!1}}({originalBody:Z,finalBody:_,apiKeyForceThinkingOff:V,providerPolicyApplies:$}),ab=function({route:a={},provider:b="",model:c="",connectionId:d="",originalBody:e={},finalBody:f={},overrides:g={},apiKeyForceThinkingOff:h=!1}={}){return{combo_name:a.comboName||null,combo_target:a.comboTarget||null,combo_strategy:a.comboStrategy||null,route_type:a.routeType||(a.comboName?"combo":"direct"),selected_provider_id:d||b||null,selected_model:c||f?.model||e?.model||null,request_overrides_applied:function({originalBody:a={},finalBody:b={},overrides:c={},apiKeyForceThinkingOff:d=!1}={}){let e=R({body:a,overrides:c,apiKeyForceThinkingOff:d}),f=Q(c,e),g={...J(c||{}),...f},h={};for(let c of Y)void 0!==g[c]&&b?.[c]!==void 0&&b[c]!==a?.[c]&&(h[c]=b[c]);return void 0!==c.reasoning_budget&&b?.reasoning_budget!==a?.reasoning_budget&&(h.reasoning_budget=b?.reasoning_budget),c.thinkingMode&&"inherit"!==c.thinkingMode&&(h.thinkingMode=c.thinkingMode),e&&Object.keys(f).length>0&&(h.thinkingBranch=e),h}({originalBody:e,finalBody:f,overrides:g,apiKeyForceThinkingOff:h})}}({route:i.routingMetadata||{routeType:"direct"},provider:s,model:w,connectionId:b.connectionId,originalBody:Z,finalBody:_,overrides:W,apiKeyForceThinkingOff:V}),ac=k?._connection||b?._connection||{},ad=function({provider:a="",model:b="",connection:c={},credentials:d={}}={}){var e,f,g,h,i;let j=F(a).toLowerCase(),k=(e=d.connectionName||c.displayName||c.name||c.email||c.id,F(e)),l=function(a={},b={}){var c;let d=function(...a){for(let b of a)if(b&&"object"==typeof b&&!Array.isArray(b)){let a=b.providerSpecificData;if(a&&"object"==typeof a&&!Array.isArray(a))return a}return{}}(a,b);return c=a.email||b.email||b.accountEmail||d.email||d.accountEmail||d.account_email||d.preferredUsername||d.preferred_username||d.username,F(c)}(c,d),m=(f=c.ownerUser,F(f)),n=function(a={}){return"personal"===a.scope||"private"===a.visibility||!!a.ownerUser}(c),o=l&&X.has(j),p=o?l:k,q=o?function({ownerUser:a="",accountEmail:b="",accountName:c="",provider:d="",model:e=""}={}){let f=F(a),g=F(b),h=F(c),i=F(d).toLowerCase(),j=F(e);if(i&&j.startsWith(`${i}/`)&&(j=j.slice(i.length+1)),!i||!j)return"";let k=[];return(f&&k.push(f),g&&g!==f?k.push(g):h&&h!==f&&k.push(h),k.length)?(k.push(i,j),k.join("/")):""}({ownerUser:m,accountEmail:l,accountName:k,provider:j,model:b}):"";return{accountName:p,connectionName:p,originalConnectionName:k,accountEmail:l,accountDisplayName:(g=c.displayName||c.name||k,F(g)),ownerUser:m,connectionScope:(h=c.scope,F(h)),visibility:(i=c.visibility,F(i)),isPersonalOAuth:n,displayModel:q}}({provider:s,model:w,connection:ac,credentials:b}),ae={...ab,account_name:ad.accountName||null,account_email:ad.accountEmail||null,account_display_name:ad.accountDisplayName||null,owner_user:ad.ownerUser||null,connection_scope:ad.connectionScope||null,visibility:ad.visibility||null,display_model:ad.displayModel||null},af={...c||{},accountName:ad.accountName||"",connectionName:ad.connectionName||"",accountEmail:ad.accountEmail||"",accountDisplayName:ad.accountDisplayName||"",ownerUser:ad.ownerUser||"",connectionScope:ad.connectionScope||"",visibility:ad.visibility||"",originalConnectionName:ad.originalConnectionName||"",isPersonalOAuth:!0===ad.isPersonalOAuth,requestPolicyMeta:aa,routingMetadata:ae},ag=await (0,l.w)({body:_,modelInfo:{provider:s,model:w},credentials:k,log:t,clientRawRequest:af,requestPolicyMeta:aa,skipProviderRetry:!0===i.skipProviderRetry,connectionId:b.connectionId,userAgent:y,apiKey:f,ccFilterNaming:!!o.ccFilterNaming,rtkEnabled:T,cavemanEnabled:U.enabled,cavemanLevel:U.level,providerThinking:!1===aa.thinkingEnabled?null:p,contentLoggingMode:i.contentLoggingMode||"inherit",sourceFormatOverride:d?.url?(0,r.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,u.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,g.Pt)(b.connectionId,b,w)}});if(!function(a,b){let c=a?.sessionId||a?.session_id||a?.requestContext?.sessionId;c&&(0,x.gl)({sessionId:c,metadata:b}).catch(()=>{})}(af,ae),ag.success)return ag.response;let{shouldFallback:ah}=await (0,g.vk)(b.connectionId,ag.status,ag.error,s,w,ag.resetsAtMs);if(ah){t.warn("AUTH",`Account ${b.connectionName} unavailable (${ag.status}), trying fallback`),A.add(b.connectionId),G=ag.error,I=ag.status;continue}return ag.response}}d()}catch(a){d(a)}})}};
|
|
1
|
+
"use strict";exports.id=9489,exports.ids=[9489],exports.modules={18910:(a,b,c)=>{c.d(b,{Pr:()=>s,UP:()=>q,Vu:()=>r});var d=c(12557),e=c(43659),f=c(11893);let g=new Map,h=new Map,i=0;function j(a){return"client_ip"===a||"client_session"===a?a:"global"}function k(a){let b=Number.parseInt(a,10);return!Number.isFinite(b)||b<=0?120:Math.min(b,10080)}function l(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}function m(a){let b=g.get(a);return"number"==typeof b?{index:b,consecutiveUseCount:0}:b||{index:0,consecutiveUseCount:0}}function n(a,b,c,d){let e=m(a).consecutiveUseCount+1;e>=d?g.set(a,{index:(b+1)%c,consecutiveUseCount:0}):g.set(a,{index:b,consecutiveUseCount:e})}function o(a,b,c){let d=b||"__default__",e=m(d).index%a.length,f=l(a,e);return n(d,e,a.length,c),f}function p(a,b){return{model:a,label:a,provider:b||"combo"}}function q(a){if(!a){g.clear(),h.clear();return}g.delete(a);let b=`${a}::`;for(let a of h.keys())a.startsWith(b)&&h.delete(a)}function r(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function s({body:a,models:b,handleSingleModel:c,log:g,comboName:q,comboStrategy:r,comboStickyLimit:t=1,comboStickyScope:u="global",comboStickyTtlMinutes:v=120,comboStickyContext:w=null,sourceFormat:x=null}){let y=r||"fallback",z=function(a,b,c,d=1,e={}){let g;if(!a||a.length<=1)return a;let q=c||"fallback",r=a.map(a=>p(a,b));if((0,f.OI)(r),"least-latency"===q||"least_latency"===q)return(0,f.Gc)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("p2c"===q||"power-of-two"===q||"power_of_two"===q)return(0,f.ZL)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("round-robin"!==q)return a;let s=Number.isFinite(g=Number.parseInt(d,10))&&g>0?g:1,t=j(e.stickyScope),u=k(e.stickyTtlMinutes);return"global"===t?o(a,b,s):function(a,b,c,d,e,f){let g,p=Date.now();if(!(p-i<6e4))for(let[a,b]of(i=p,h.entries()))(!b?.expiresAt||b.expiresAt<=p)&&h.delete(a);let q=j(d),r="global"!==(g=j(q))&&f?.key?`${b||"__default__"}::${g}::${f.key}`:null;if(!r)return o(a,b,c);let s=Date.now(),t=6e4*k(e),u=h.get(r);if(u&&u.expiresAt>s){let b=Number.isFinite(u.index)?u.index:0;if(u.model){let c=a.indexOf(u.model);c>=0&&(b=c)}return b%=a.length,h.set(r,{...u,index:b,model:a[b],lastUsedAt:s,expiresAt:s+t}),l(a,b)}let v=b||"__default__",w=m(v).index%a.length;return h.set(r,{index:w,model:a[w],stickyScope:q,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,createdAt:s,lastUsedAt:s,expiresAt:s+t}),n(v,w,a.length,c),l(a,w)}(a,b,s,t,u,e.stickyContext||null)}(b,q,y,t,{stickyScope:u,stickyTtlMinutes:v,stickyContext:w});["round-robin","least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(y)&&g?.debug?.("COMBO",`${y} combo "${q||"__default__"}" | sticky=${u||"global"}${w?.label?` | key=${w.label}`:""}`);let A=null,B=null,C=null;for(let b=0;b<z.length;b++){let e=z[b],h=p(e,q),i=(0,f.kb)(h);if(i.skipped&&b<z.length-1){g?.warn?.("COMBO",`Skipping ${e}: ${i.reason}`);continue}let j=Date.now();g.info("COMBO",`Trying model ${b+1}/${z.length}: ${e}`);try{let b=await c(a,e),k=Date.now()-j;if(i.end?.(),b.ok)return(0,f.Fg)(h,k),g.info("COMBO",`Model ${e} succeeded`),b;let l=b.statusText||"",m=null;try{let a=await b.clone().json();l=a?.error?.message||a?.error||a?.message||l,m=a?.retryAfter||null}catch{}if("string"!=typeof l)try{l=JSON.stringify(l)}catch{l=String(l)}(0,f.h6)(h,{status:b.status,message:l}),m&&(!B||new Date(m)<new Date(B))&&(B=m);let{shouldFallback:n,cooldownMs:o}=(0,d.L5)(b.status,l);if(!n)return g.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;o&&o>0&&o<=5e3&&[502,503,504].includes(b.status)&&(g.info("COMBO",`Model ${e} transient ${b.status}, waiting ${o}ms before next`),await new Promise(a=>setTimeout(a,o))),A=l||String(b.status),C=b.status,g.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){i.end?.(),A=a.message||String(a),C=Number(a?.status||a?.statusCode)||500,(0,f.h6)(h,a),g.warn("COMBO",`Model ${e} threw error, trying next`,{error:A})}}let D=A&&A.toLowerCase().includes("no credentials")?503:C||503,E=A||"All combo models unavailable";if(B){let a=(0,d.Qo)(B);return g.warn("COMBO",`All models failed | ${E} (${a})`),(0,e.wO)(D,E,B,a,x)}return g.warn("COMBO",`All models failed | ${E}`),(0,e.yj)(D,E,x)}},29069:(a,b,c)=>{c.d(b,{HX:()=>i,mH:()=>j});var d=c(11893),e=c(43659);function f(a){return String(a||"").trim()}function g(a){return Array.isArray(a)?[...new Set(a.map(a=>f(a)).filter(Boolean))]:"string"==typeof a?[...new Set(a.split(/[\n,;]+/).map(a=>f(a)).filter(Boolean))]:a&&"object"==typeof a?Object.entries(a).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?f(a):`${f(a)}:${f(b)}`).filter(Boolean):[]}function h(a){if(!a||"object"!=typeof a)return null;let b=f(a.name||a.id||a.exposedModel||a.model),c=f(a.exposedModel||a.model||a.name||a.id),d=f(a.type||"virtual");if("ollama-local"===d.toLowerCase())return null;let e=(a.targets||a.endpoints||a.models||[]).map(b=>(function(a,b={}){if("string"==typeof a)return{model:f(a),label:f(a),tags:[]};if(!a||"object"!=typeof a)return null;let c=f(a.model||a.value||a.id||a.fullModel);return c?{...a,id:f(a.id)||f(a.connectionId)||c,model:c,label:f(a.label||a.name||a.displayName)||c,connectionId:f(a.connectionId||a.connection_id||a.accountId),provider:f(a.provider||b.provider),endpoint:f(a.endpoint||a.baseUrl||a.baseURL||a.url),tags:g(a.tags||a.labels||a.routingTags),maxInFlight:Number(a.maxInFlight||a.maxInFlightPerTarget||b.maxInFlight||0)||void 0}:null})(b,a)).filter(Boolean);return b&&c&&0!==e.length?{...a,name:b,id:f(a.id)||b,exposedModel:c,enabled:!1!==a.enabled,type:d,strategy:f(a.strategy||a.fallbackStrategy||"least-latency"),requiredTags:g(a.requiredTags||a.tags),modelTagRules:function(a){if(!a||"object"!=typeof a)return{};let b={};for(let[c,d]of Object.entries(a)){let a=f(c),e=g(d);a&&e.length&&(b[a]=e)}return b}(a.modelTagRules||a.requiredTagsByModel||a.tagRules),targets:e}:null}function i(a={},b=""){let c=f(b);return c&&(function(a={}){let b=a.virtualCombos||[];return(Array.isArray(b)?b:Object.values(b||{})).map(h).filter(Boolean)})(a).find(a=>!1!==a.enabled&&(a.exposedModel===c||a.name===c))||null}async function j({body:a,combo:b,handleSingleTarget:c,log:g,sourceFormat:i=null}){let k,l,m,n,o=f(a?.model||b?.exposedModel||b?.name),p=h(b);if(!p)return(0,e.yj)(400,"Invalid virtual combo",i);let q=(k=[...p.targets],l=p.modelTagRules||{},0===(k=(k=(0,d.OF)(k,o,l)).filter(a=>(function(a,b=[]){if(!b.length)return!0;let c=new Set((a.tags||[]).map(a=>String(a).toLowerCase()));return b.every(a=>c.has(String(a).toLowerCase()))})(a,p.requiredTags||[]))).length&&(k=[...p.targets]),m=k.map(a=>({...a,id:a.id||`${p.name}:${a.model}:${a.connectionId||"any"}`,connectionId:a.connectionId||"",provider:a.provider||"virtual-combo",providerLabel:p.name,label:a.label||a.model,model:o||p.exposedModel,upstreamModel:a.model,endpoint:a.endpoint||"",tags:a.tags||[],maxInFlight:a.maxInFlight})),(0,d.OI)(m),("p2c"===(n=String(p.strategy||"least-latency").toLowerCase())||"power-of-two"===n||"power_of_two"===n?(0,d.ZL)(m,{model:o,modelTagRules:l,includeSkippedAtEnd:!0}):"fallback"===n||"priority"===n?(0,d.Gc)(m,{model:o,modelTagRules:l,preserveOrder:!0,includeSkippedAtEnd:!0}):(0,d.Gc)(m,{model:o,modelTagRules:l,includeSkippedAtEnd:!0})).map(a=>({healthTarget:a,target:k.find(b=>a.upstreamModel===b.model&&(a.connectionId||"")===(b.connectionId||""))})).filter(a=>a.target)),r="All virtual combo targets unavailable",s=503;g?.info?.("VIRTUAL_COMBO",`Virtual combo "${p.name}" -> ${q.length} target(s), strategy=${p.strategy}`);for(let b=0;b<q.length;b+=1){let{target:e,healthTarget:f}=q[b],h=(0,d.kb)(f);if(h.skipped){g?.warn?.("VIRTUAL_COMBO",`Skip ${e.label||e.model}: ${h.reason}`);continue}let i=Date.now();try{let j={...a,model:e.model};g?.info?.("VIRTUAL_COMBO",`Trying ${b+1}/${q.length}: ${e.label||e.model}`);let k=await c(j,e),l=Date.now()-i;if(k?.ok)return(0,d.Fg)(f,l),h.end(),k;let m=k?.statusText||"request_failed";try{let a=await k.clone().json();m=a?.error?.message||a?.error||a?.message||m}catch{}s=k?.status||503,r="string"==typeof m?m:JSON.stringify(m),(0,d.h6)(f,{status:s,message:r}),g?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} failed`,{status:s})}catch(a){s=500,r=a?.message||String(a),(0,d.h6)(f,a),g?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} threw`,{error:r})}finally{h.end()}}return(0,e.yj)(s||503,r,i)}},38775:(a,b,c)=>{c.d(b,{d_:()=>h,gL:()=>i,mA:()=>g});var d=c(89718),e=c(40669);let f={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function g(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&f[b.providerAlias]?{...b,provider:f[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.getProviderNodes)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.getProviderNodes)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.getProviderNodes)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);return e?{provider:e.id,model:c.model}:{provider:c.provider,model:c.model}}return await (0,d.getComboByName)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.getModelAliases)}async function h(a){if(a.includes("/"))return null;let b=await (0,d.getComboByName)(a);return b&&b.models&&b.models.length>0?b.models:null}async function i(a,b){if(!a||a.includes("/"))return null;let c=String(b||"").trim().toLowerCase();if(!c)return null;let e=await (0,d.getCloudComboById)(a);return e&&!1!==e.isActive&&String(e.ownerUser||"").trim().toLowerCase()===c&&e.models&&0!==e.models.length?e:null}},42318:(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,{lV:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>V});var e=c(27513),f=c(48895),g=c(80238),h=c(89718),i=c(33669),j=c(490),k=c(38775),l=c(92500),m=c(43659),n=c(18910),o=c(42318),p=c(29069),q=c(41004),r=c(14170),s=c(57647),t=c(7803),u=c(67828),v=c(38160),w=c(35901),x=c(97242),y=c(86171),z=c(75681),A=a([f,g,l]);function B(a,b){try{let c=a?.url?new URL(a.url).pathname:"";return(0,r.t)(c,b)||(0,s.Tz)(b||{})}catch{return null}}function C({request:a,clientRawRequest:b,body:c,apiKey:d,model:e,provider:f="gateway",connectionId:g="",statusCode:h=500,errorCode:i="gateway_error",errorType:j="gateway",errorSource:k="gateway_validation",message:l="Gateway error"}){try{let m=b?.headers||{},n=b?.endpoint||"";if(a)try{m=m&&Object.keys(m).length?m:Object.fromEntries(a.headers.entries()),n=n||new URL(a.url).pathname}catch{}let o=(0,y.wS)({headers:m,requestId:b?.requestId,sessionId:b?.sessionId}),p={...o,requestContext:o,provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,gatewayStatusCode:h,errorSource:k,errorType:j,errorCode:i,errorMessageShort:l,latencyMs:0};(0,w.jk)(p).catch(()=>{}),(0,y.sx)({provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,statusCode:h,errorCode:i,errorType:j,errorMessage:l,requestContext:o,meta:{errorSource:k}})}catch{}}function D(a){return a&&"object"==typeof a&&!Array.isArray(a)}function E(a,b){return Object.prototype.hasOwnProperty.call(a||{},b)}function F(a){return null==a?"":String(a).trim()}[f,g,l]=A.then?(await A)():A;let X=new Set(["claude","codex"]);function G(a,{min:b,max:c,precision:d=3}={}){if(null==a||""===a)return;let e=Number(a);if(!Number.isFinite(e))return;let f=Math.min(c,Math.max(b,e));return Number(f.toFixed(d))}function H(a,{min:b,max:c}={}){let d=G(a,{min:b,max:c,precision:0});return void 0===d?void 0:Math.trunc(d)}function I(a){if(!0===a)return"on";if(!1===a)return"off";let b=F(a).toLowerCase();return["on","true","1","enable","enabled"].includes(b)?"on":["off","false","0","disable","disabled"].includes(b)?"off":["inherit","default","request","client"].includes(b)?"inherit":void 0}let Y=["temperature","top_p","top_k","min_p","presence_penalty","max_tokens"];function J(a={}){let b=D(a)?a:{},c={};if(E(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(E(b,"top_p")||E(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}if(E(b,"top_k")||E(b,"topK")){let a=H(b.top_k??b.topK,{min:0,max:1e3});void 0!==a&&(c.top_k=a)}if(E(b,"min_p")||E(b,"minP")){let a=G(b.min_p??b.minP,{min:0,max:1});void 0!==a&&(c.min_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(E(b,"presence_penalty")||E(b,"presencePenalty")||E(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(E(b,"max_tokens")||E(b,"maxTokens")||E(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}return c}function K(a={},b={},c=null){let d=J(b),e={...a};return void 0!==d.temperature&&(e.temperature=d.temperature),void 0!==d.top_p&&(e.top_p=d.top_p),c?.supportsExtendedSampling===!0&&(void 0!==d.top_k&&(e.top_k=d.top_k),void 0!==d.min_p&&(e.min_p=d.min_p)),void 0!==d.presence_penalty&&(e.presence_penalty=d.presence_penalty),void 0!==d.max_tokens&&(e.max_tokens=d.max_tokens,E(e,"max_completion_tokens")&&delete e.max_completion_tokens),e}function L(a={}){let b=D(a)?a:{},c={};if(E(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(E(b,"top_p")||E(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}if(E(b,"top_k")||E(b,"topK")){let a=H(b.top_k??b.topK,{min:0,max:1e3});void 0!==a&&(c.top_k=a)}if(E(b,"min_p")||E(b,"minP")){let a=G(b.min_p??b.minP,{min:0,max:1});void 0!==a&&(c.min_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(E(b,"presence_penalty")||E(b,"presencePenalty")||E(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(E(b,"max_tokens")||E(b,"maxTokens")||E(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}let f=b.reasoning_budget??b.reasoningBudget??b["reasoning-budget"];if(E(b,"reasoning_budget")||E(b,"reasoningBudget")||E(b,"reasoning-budget")){let a=H(f,{min:0,max:262144});void 0!==a&&(c.reasoning_budget=a)}let g=b.inheritThinkRequestOverrides??b.thinkRequestOverrides??b.thinkingOnRequestOverrides;if(E(b,"inheritThinkRequestOverrides")||E(b,"thinkRequestOverrides")||E(b,"thinkingOnRequestOverrides")){let a=J(g);Object.keys(a).length>0&&(c.inheritThinkRequestOverrides=a)}let h=b.inheritNoThinkRequestOverrides??b.noThinkRequestOverrides??b.thinkingOffRequestOverrides;if(E(b,"inheritNoThinkRequestOverrides")||E(b,"noThinkRequestOverrides")||E(b,"thinkingOffRequestOverrides")){let a=J(h);Object.keys(a).length>0&&(c.inheritNoThinkRequestOverrides=a)}let i=I(b.thinkingMode??b.thinking);if(i&&"inherit"!==i&&(c.thinkingMode=i),"off"===c.thinkingMode&&delete c.reasoning_budget,!c.thinkingMode){let a=J(c);if(Object.keys(a).length>0)for(let b of(c.inheritThinkRequestOverrides={...a,...c.inheritThinkRequestOverrides||{}},c.inheritNoThinkRequestOverrides={...a,...c.inheritNoThinkRequestOverrides||{}},Y))delete c[b]}return c}function M(a={}){let b={...a};return E(b,"reasoning_budget")&&delete b.reasoning_budget,E(b,"thinking_token_budget")&&delete b.thinking_token_budget,b}function N(a={},b,c){let d=function(a={}){let b={...a};if(E(b,"enable_thinking")&&delete b.enable_thinking,D(b.chat_template_kwargs)&&E(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}(a);return!0===b.supportsChatTemplateKwargs&&(d.chat_template_kwargs={...D(d.chat_template_kwargs)?d.chat_template_kwargs:{},enable_thinking:c}),d}function O(a={},b,c){let d=M(a);return b.reasoningBudgetField&&(d[b.reasoningBudgetField]=c),d}function P(a={}){if(D(a.chat_template_kwargs)&&E(a.chat_template_kwargs,"enable_thinking"))return!0===a.chat_template_kwargs.enable_thinking;if(E(a,"enable_thinking"))return!0===a.enable_thinking;if(E(a,"reasoning_budget"))return H(a.reasoning_budget,{min:0,max:262144})>0;if(E(a,"thinking_token_budget"))return H(a.thinking_token_budget,{min:0,max:262144})>0;if(D(a.thinking)){let b=F(a.thinking.type).toLowerCase();if(["enabled","on","true","adaptive","auto"].includes(b))return!0;if(["disabled","off","false"].includes(b))return!1}return null}function Q(a={},b=null){let c=D(a)?a:{};return"think"===b?J(c.inheritThinkRequestOverrides??c.thinkRequestOverrides??c.thinkingOnRequestOverrides??{}):"nothink"===b?J(c.inheritNoThinkRequestOverrides??c.noThinkRequestOverrides??c.thinkingOffRequestOverrides??{}):{}}function R({body:a={},overrides:b={},apiKeyForceThinkingOff:c=!1}={}){let d=D(b)?b:{},e=I(d.thinkingMode??d.thinking);return"on"===e||"off"===e?null:c?"nothink":!0===P(a)?"think":"nothink"}function S(a,b,c=null){var d;let e;if(c)return{comboStrategy:c.strategy||"fallback",comboStickyLimit:1,comboStickyScope:c.stickyScope||"global",comboStickyTtlMinutes:120,comboStickyFallbackToClientIp:!0,requestOverrides:{},contentLoggingMode:void 0};let f=(a.comboStrategies||{})[b]||{};return{comboStrategy:f.fallbackStrategy||a.comboStrategy||"fallback",comboStickyLimit:f.stickyRoundRobinLimit||f.stickyLimit||a.comboStickyRoundRobinLimit||1,comboStickyScope:f.stickyScope||a.comboRoundRobinStickyScope||"global",comboStickyTtlMinutes:f.stickyTtlMinutes||a.comboRoundRobinStickyTtlMinutes||120,comboStickyFallbackToClientIp:void 0!==f.stickyFallbackToClientIp?f.stickyFallbackToClientIp:!1!==a.comboStickyFallbackToClientIp,requestOverrides:L(f.requestOverrides||{}),contentLoggingMode:(d=f.contentLoggingMode,e=F(d).toLowerCase(),"enabled"===e||"disabled"===e?e:"inherit")}}async function T({body:a,modelStr:b,comboModels:c,settings:d,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1,cloudCombo:i=null}){let j=B(f,a),k=S(d,b,i),l=(0,o.lV)({body:a,headers:e?.headers||{},scope:k.comboStickyScope,fallbackToClientIp:k.comboStickyFallbackToClientIp});return t.info("CHAT",`Combo "${b}" with ${c.length} models (strategy: ${k.comboStrategy}, stickyLimit: ${k.comboStickyLimit}, stickyScope: ${k.comboStickyScope})`),(0,n.Pr)({body:a,models:c,handleSingleModel:(a,c)=>{let d=function(a){if("string"==typeof a)return{modelStr:F(a),preferredConnectionId:null,label:F(a)};if(!D(a)){let b=F(a);return{modelStr:b,preferredConnectionId:null,label:b}}let b=F(a.model||a.modelStr||a.model_name||a.rawModel||a.raw_model),c=F(a.connectionId||a.connection_id||a.providerConnectionId||a.provider_connection_id)||null,d=F(a.label||a.displayName||a.name)||b;return{modelStr:b,preferredConnectionId:c,label:d}}(c);return d.modelStr?W(a,d.modelStr,e,f,g,{preferredConnectionId:d.preferredConnectionId,apiKeyForceThinkingOff:h,allowSystemFallback:!i,skipProviderRetry:!0,comboRequestOverrides:k.requestOverrides,contentLoggingMode:k.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:d.label||d.modelStr,comboStrategy:k.comboStrategy}}):(t.warn("CHAT",`Combo "${b}" contains an invalid target`,{target:c}),(0,m.yj)(q.gx.BAD_REQUEST,`Invalid combo target in ${b}`,j))},log:t,comboName:b,comboStrategy:k.comboStrategy,comboStickyLimit:k.comboStickyLimit,comboStickyScope:k.comboStickyScope,comboStickyTtlMinutes:k.comboStickyTtlMinutes,comboStickyContext:l,sourceFormat:j})}async function U({body:a,modelStr:b,virtualCombo:c,settings:d=null,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1}){let i=B(f,a),j=S(d||{},b);return t.info("CHAT",`Virtual combo "${b}" matched ${c.targets?.length||0} target(s)`),(0,p.mH)({body:a,combo:c,log:t,sourceFormat:i,handleSingleTarget:(a,c)=>W(a,c.model,e,f,g,{preferredConnectionId:c.connectionId||null,apiKeyForceThinkingOff:h,allowSystemFallback:!0,skipProviderRetry:!0,comboRequestOverrides:j.requestOverrides,contentLoggingMode:j.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:c?.label||c?.model||"",comboStrategy:j.comboStrategy}})})}async function V(a,b=null){let c;try{c=await a.json()}catch{return t.warn("CHAT","Invalid JSON body"),C({request:a,clientRawRequest:b,statusCode:q.gx.BAD_REQUEST,errorCode:"invalid_json_body",errorType:"invalid_request",message:"Invalid JSON body"}),(0,m.yj)(q.gx.BAD_REQUEST,"Invalid JSON body",(0,r.t)(new URL(a.url).pathname,null))}if(!b){let d=new URL(a.url);b={endpoint:d.pathname,query:d.search,body:c,headers:Object.fromEntries(a.headers.entries())}}let d=new URL(a.url);b&&void 0===b.query&&(b.query=d.search);let e=B(a,c),f=c.model,j=c.messages?.length||c.input?.length||0,l=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;t.request("POST",`${d.pathname} | ${f} | ${j} msgs${l?` | ${l} tools`:""}${n?` | effort=${n}`:""}`);let o=a.headers.get("Authorization"),s=(0,g.Tr)(a);o&&s?t.debug("AUTH",`API Key: ${t.maskKey(s)}`):t.debug("AUTH","No API key provided");let u=await (0,h.getSettings)(),v=null;if(s&&(v=await (0,h.getApiKeyByKey)(s)),!s)return t.warn("AUTH","Missing API key"),C({request:a,clientRawRequest:b,body:c,model:f,statusCode:q.gx.UNAUTHORIZED,errorCode:"missing_api_key",errorType:"auth_error",message:"Missing API key"}),(0,m.yj)(q.gx.UNAUTHORIZED,"Missing API key",e);let w=v?!1!==v.isActive:await (0,g.kI)(s);if(v&&b&&(b.apiKeyRecordId=v.id,b.apiKeyOwnerUser=String(v.ownerUser||v.createdByUser||"").trim().toLowerCase()),!w)return t.warn("AUTH","Invalid API key"),C({request:a,clientRawRequest:b,body:c,apiKey:s,model:f,statusCode:q.gx.UNAUTHORIZED,errorCode:"invalid_api_key",errorType:"auth_error",message:"Invalid API key"}),(0,m.yj)(q.gx.UNAUTHORIZED,"Invalid API key",e);if(!f)return t.warn("CHAT","Missing model"),C({request:a,clientRawRequest:b,body:c,apiKey:s,statusCode:q.gx.BAD_REQUEST,errorCode:"missing_model",errorType:"invalid_request",message:"Missing model"}),(0,m.yj)(q.gx.BAD_REQUEST,"Missing model",e);if(v&&b?.internalTrustedRequest!==!0){let a=(0,i.NJ)(v,f);a&&(f=a)}if(v&&b?.internalTrustedRequest!==!0&&!(0,i.zx)(v,f))return t.warn("AUTH",`API key not allowed to use model: ${f}`),C({request:a,clientRawRequest:b,body:c,apiKey:s,model:f,statusCode:q.gx.FORBIDDEN||403,errorCode:"model_not_allowed",errorType:"forbidden",message:`API key is not allowed to use model: ${f}`}),(0,m.yj)(q.gx.FORBIDDEN||403,`API key is not allowed to use model: ${f}`,e);let x=(0,p.HX)(u,f);if(x)return U({body:c,modelStr:f,virtualCombo:x,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0});let y=await (0,k.d_)(f);if(y)return T({body:c,modelStr:f,comboModels:y,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0});let z=await (0,k.gL)(f,b?.apiKeyOwnerUser);if(z)return T({body:c,modelStr:f,comboModels:z.models,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0,cloudCombo:z});let A=a?.headers?.get?.("x-connection-id")||null;return W(c,f,b,a,s,A?{preferredConnectionId:A}:{})}async function W(a,b,c=null,d=null,f=null,i={}){let n=B(d,a),o=await (0,k.mA)(b);if(!o.provider){let e=await (0,h.getSettings)(),g=(0,p.HX)(e,b);if(g)return U({body:a,modelStr:b,virtualCombo:g,settings:e,clientRawRequest:c,request:d,apiKey:f,apiKeyForceThinkingOff:!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0});let j=await (0,k.d_)(b);if(j)return T({body:a,modelStr:b,comboModels:j,settings:e,clientRawRequest:c,request:d,apiKey:f,apiKeyForceThinkingOff:!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0});let l=await (0,k.gL)(b,c?.apiKeyOwnerUser);return l?T({body:a,modelStr:b,comboModels:l.models,settings:e,clientRawRequest:c,request:d,apiKey:f,apiKeyForceThinkingOff:!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0,cloudCombo:l}):(t.warn("CHAT","Invalid model format",{model:b}),C({request:d,clientRawRequest:c,body:a,apiKey:f,model:b,statusCode:q.gx.BAD_REQUEST,errorCode:"invalid_model_format",errorType:"model_not_found",message:"Invalid model format"}),(0,m.yj)(q.gx.BAD_REQUEST,"Invalid model format",n))}let{provider:s,model:w}=o;b!==`${s}/${w}`?t.info("ROUTING",`${b} -> ${s}/${w}`):t.info("ROUTING",`Provider: ${s}, Model: ${w}`);let y=d?.headers?.get("user-agent")||"",A=new Set,G=null,I=null;for(;;){let b=await (0,g.c1)(s,A,w,{body:a,headers:c?.headers||{},preferredConnectionId:i.preferredConnectionId||null,ownerUser:c?.apiKeyOwnerUser||"",apiKeyId:c?.apiKeyRecordId||"",allowSystemFallback:!0===i.allowSystemFallback});if(!b||b.allRateLimited||b.allUnavailableByPolicy||b.personalAccountRequired){if(b?.personalAccountRequired){let e=b.lastError||`Personal account is required for provider: ${s}`,g=Number(b.lastErrorCode)||q.gx.FORBIDDEN||403;return t.warn("AUTH",`[${s}/${w}] ${e}`),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:g,errorCode:"personal_account_required",errorType:"forbidden",errorSource:"routing",message:`[${s}/${w}] ${e}`}),(0,m.yj)(g,e,n)}if(b?.allRateLimited||b?.allUnavailableByPolicy){let e=G||b.lastError||"Unavailable",g=I||Number(b.lastErrorCode)||q.gx.SERVICE_UNAVAILABLE;return t.warn("CHAT",`[${s}/${w}] ${e} (${b.retryAfterHuman})`),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:g,errorCode:b.allRateLimited?"all_accounts_rate_limited":"all_accounts_unavailable",errorType:b.allRateLimited?"rate_limit":"provider_unavailable",errorSource:"routing",message:`[${s}/${w}] ${e}`}),(0,m.wO)(g,`[${s}/${w}] ${e}`,b.retryAfter,b.retryAfterHuman,n)}if(0===A.size)return t.warn("AUTH",`No active credentials for provider: ${s}`),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:q.gx.NOT_FOUND,errorCode:"no_active_credentials",errorType:"provider_unavailable",errorSource:"routing",message:`No active credentials for provider: ${s}`}),(0,m.yj)(q.gx.NOT_FOUND,`No active credentials for provider: ${s}`,n);return t.warn("CHAT","No more accounts available",{provider:s}),C({request:d,clientRawRequest:c,body:a,apiKey:f,provider:s,model:w,statusCode:I||q.gx.SERVICE_UNAVAILABLE,errorCode:"all_accounts_unavailable",errorType:"provider_unavailable",errorSource:"routing",message:G||"All accounts unavailable"}),(0,m.yj)(I||q.gx.SERVICE_UNAVAILABLE,G||"All accounts unavailable",n)}t.info("AUTH",`\x1b[32mUsing ${s} account: ${b.connectionName}\x1b[0m`);let k=await (0,u.eU)(s,b);if(("antigravity"===s||"gemini-cli"===s)&&!k.projectId){let a=await (0,v.eG)(b.connectionId,k.accessToken);a&&(k.projectId=a,(0,u.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let o=await (0,h.getSettings)(),p=(o.providerThinking||{})[s]||null,B=!1!==o.rtkEnabled,S=k.rtkEnabled,T=!0===S||!1===S?S:B,U=(0,e.Tu)({apiKeyMode:c?.apiKeyCavemanMode,apiKeyLevel:c?.apiKeyCavemanLevel,globalEnabled:!!o.cavemanEnabled,globalLevel:o.cavemanLevel||"full"}),V=!0===i.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0,W=i.comboRequestOverrides||{},Z={...a,model:`${s}/${w}`},$=(0,z.mq)(s),_=function(a={},b="",c={}){if(!(0,z.mq)(b))return a;let d=function(a={}){let b=a?.providerSpecificData&&"object"==typeof a.providerSpecificData?a.providerSpecificData:{},c=a.openAICompatibleRuntime||a.runtimeKind||b.openAICompatibleRuntime||b.runtimeKind||b.runtimeType||b.serverType||z.hb;return(0,z.tl)(c,z.hb)}(c),e=L(c.comboRequestOverrides||{}),f=c?.apiKeyForceThinkingOff===!0,g={...a};g=K(g,e,d);let h=R({body:a,overrides:e,apiKeyForceThinkingOff:f});if(f)return g=K(g,Q(e,h),d),g=function(a={}){let b={...a};if(E(b,"enable_thinking")&&delete b.enable_thinking,E(b,"reasoning_budget")&&delete b.reasoning_budget,E(b,"thinking_token_budget")&&delete b.thinking_token_budget,D(b.chat_template_kwargs)&&E(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}(g),!0===d.supportsChatTemplateKwargs?N(g,d,!1):g;g=K(g,Q(e,h),d);let i=!e.thinkingMode&&!0!==P(a),j=H(a?.thinking?.budget_tokens,{min:0,max:262144});return void 0===e.reasoning_budget||i?j>0&&!i&&(g=O(g,d,j)):g=O(g,d,e.reasoning_budget),"off"===e.thinkingMode?(g=M(g),g=N(g,d,!1)):"on"===e.thinkingMode?g=N(g,d,!0):i&&function(a={}){return Object.keys(Q(a,"think")).length>0||Object.keys(Q(a,"nothink")).length>0}(e)&&(g=N(g,d,!1)),g}(Z,s,{apiKeyForceThinkingOff:V,comboRequestOverrides:W,providerSpecificData:k.providerSpecificData||{}}),aa=function({originalBody:a={},finalBody:b={},apiKeyForceThinkingOff:c=!1,providerPolicyApplies:d=!0}={}){let e=(0,j.iz)(b||a||{}),f=!0===d,g=f&&!0===c;return{thinkingEnabled:P(b),thinkingAutoOff:g,thinkingAutoOffReason:g?"api_key_force_off":"",promptChars:e,forceThinkingOffAboveChars:0,providerPolicyApplies:f,thinkingAutoOffThresholdMatched:!1}}({originalBody:Z,finalBody:_,apiKeyForceThinkingOff:V,providerPolicyApplies:$}),ab=function({route:a={},provider:b="",model:c="",connectionId:d="",originalBody:e={},finalBody:f={},overrides:g={},apiKeyForceThinkingOff:h=!1}={}){return{combo_name:a.comboName||null,combo_target:a.comboTarget||null,combo_strategy:a.comboStrategy||null,route_type:a.routeType||(a.comboName?"combo":"direct"),selected_provider_id:d||b||null,selected_model:c||f?.model||e?.model||null,request_overrides_applied:function({originalBody:a={},finalBody:b={},overrides:c={},apiKeyForceThinkingOff:d=!1}={}){let e=R({body:a,overrides:c,apiKeyForceThinkingOff:d}),f=Q(c,e),g={...J(c||{}),...f},h={};for(let c of Y)void 0!==g[c]&&b?.[c]!==void 0&&b[c]!==a?.[c]&&(h[c]=b[c]);return void 0!==c.reasoning_budget&&b?.reasoning_budget!==a?.reasoning_budget&&(h.reasoning_budget=b?.reasoning_budget),c.thinkingMode&&"inherit"!==c.thinkingMode&&(h.thinkingMode=c.thinkingMode),e&&Object.keys(f).length>0&&(h.thinkingBranch=e),h}({originalBody:e,finalBody:f,overrides:g,apiKeyForceThinkingOff:h})}}({route:i.routingMetadata||{routeType:"direct"},provider:s,model:w,connectionId:b.connectionId,originalBody:Z,finalBody:_,overrides:W,apiKeyForceThinkingOff:V}),ac=k?._connection||b?._connection||{},ad=function({provider:a="",model:b="",connection:c={},credentials:d={}}={}){var e,f,g,h,i;let j=F(a).toLowerCase(),k=(e=d.connectionName||c.displayName||c.name||c.email||c.id,F(e)),l=function(a={},b={}){var c;let d=function(...a){for(let b of a)if(b&&"object"==typeof b&&!Array.isArray(b)){let a=b.providerSpecificData;if(a&&"object"==typeof a&&!Array.isArray(a))return a}return{}}(a,b);return c=a.email||b.email||b.accountEmail||d.email||d.accountEmail||d.account_email||d.preferredUsername||d.preferred_username||d.username,F(c)}(c,d),m=(f=c.ownerUser,F(f)),n=function(a={}){return"personal"===a.scope||"private"===a.visibility||!!a.ownerUser}(c),o=l&&X.has(j),p=o?l:k,q=o?function({ownerUser:a="",accountEmail:b="",accountName:c="",provider:d="",model:e=""}={}){let f=F(a),g=F(b),h=F(c),i=F(d).toLowerCase(),j=F(e);if(i&&j.startsWith(`${i}/`)&&(j=j.slice(i.length+1)),!i||!j)return"";let k=[];return(f&&k.push(f),g&&g!==f?k.push(g):h&&h!==f&&k.push(h),k.length)?(k.push(i,j),k.join("/")):""}({ownerUser:m,accountEmail:l,accountName:k,provider:j,model:b}):"";return{accountName:p,connectionName:p,originalConnectionName:k,accountEmail:l,accountDisplayName:(g=c.displayName||c.name||k,F(g)),ownerUser:m,connectionScope:(h=c.scope,F(h)),visibility:(i=c.visibility,F(i)),isPersonalOAuth:n,displayModel:q}}({provider:s,model:w,connection:ac,credentials:b}),ae={...ab,account_name:ad.accountName||null,account_email:ad.accountEmail||null,account_display_name:ad.accountDisplayName||null,owner_user:ad.ownerUser||null,connection_scope:ad.connectionScope||null,visibility:ad.visibility||null,display_model:ad.displayModel||null},af={...c||{},accountName:ad.accountName||"",connectionName:ad.connectionName||"",accountEmail:ad.accountEmail||"",accountDisplayName:ad.accountDisplayName||"",ownerUser:ad.ownerUser||"",connectionScope:ad.connectionScope||"",visibility:ad.visibility||"",originalConnectionName:ad.originalConnectionName||"",isPersonalOAuth:!0===ad.isPersonalOAuth,requestPolicyMeta:aa,routingMetadata:ae},ag=await (0,l.w)({body:_,modelInfo:{provider:s,model:w},credentials:k,log:t,clientRawRequest:af,requestPolicyMeta:aa,skipProviderRetry:!0===i.skipProviderRetry,connectionId:b.connectionId,userAgent:y,apiKey:f,ccFilterNaming:!!o.ccFilterNaming,rtkEnabled:T,cavemanEnabled:U.enabled,cavemanLevel:U.level,providerThinking:!1===aa.thinkingEnabled?null:p,contentLoggingMode:i.contentLoggingMode||"inherit",sourceFormatOverride:d?.url?(0,r.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,u.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,g.Pt)(b.connectionId,b,w)}});if(!function(a,b){let c=a?.sessionId||a?.session_id||a?.requestContext?.sessionId;c&&(0,x.gl)({sessionId:c,metadata:b}).catch(()=>{})}(af,ae),ag.success)return ag.response;let{shouldFallback:ah}=await (0,g.vk)(b.connectionId,ag.status,ag.error,s,w,ag.resetsAtMs);if(ah){t.warn("AUTH",`Account ${b.connectionName} unavailable (${ag.status}), trying fallback`),A.add(b.connectionId),G=ag.error,I=ag.status;continue}return ag.response}}d()}catch(a){d(a)}})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},4984:a=>{a.exports=require("readline")},7066:a=>{a.exports=require("node:tty")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27172:(a,b,c)=>{async function d(){try{await Promise.all([c.e(1893),c.e(2664),c.e(2566),c.e(689),c.e(2947),c.e(3399),c.e(5210),c.e(541),c.e(3696)]).then(c.bind(c,13696))}catch(a){console.log("[grok-cli] failed to register provider:",a?.message||a)}try{let{runEnvBootstrap:a}=await c.e(3249).then(c.bind(c,83249));await a()}catch(a){console.log("[bootstrap] env bootstrap failed:",a?.message||a)}let a=globalThis.__appSingleton??={};a.allowedModelsPruned||(a.allowedModelsPruned=!0,Promise.all([c.e(689),c.e(9012)]).then(c.bind(c,59274)).then(a=>a.pruneStaleAllowedModels()).catch(a=>console.log("[InitApp] Allowed models prune failed:",a?.message||a)));try{let{ensureProviderHealthMonitor:a}=await Promise.all([c.e(3433),c.e(689),c.e(3399),c.e(6118)]).then(c.bind(c,59479));a()}catch(a){console.log("[provider-health] failed to start active monitor:",a?.message||a)}try{let{ensureResourceMonitorCollector:a}=await Promise.all([c.e(689),c.e(9483),c.e(2155),c.e(6684)]).then(c.bind(c,93621));a()}catch(a){console.log("[resource-monitor] failed to start history collector:",a?.message||a)}try{let{ensureClusterSyncService:a}=await Promise.all([c.e(689),c.e(8049)]).then(c.bind(c,23248));a()}catch(a){console.log("[cluster] failed to start sync service:",a?.message||a)}try{let{ensureResourceMonitorAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(3399),c.e(5210),c.e(9483),c.e(6977)]).then(c.bind(c,16977));a()}catch(a){console.log("[resource-monitor] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureDashboardAnalyticsAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(3399),c.e(5210),c.e(9483),c.e(2155),c.e(2731)]).then(c.bind(c,82731));a()}catch(a){console.log("[dashboard-analytics] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureAiPowerIndexScheduler:a}=await Promise.all([c.e(689),c.e(9)]).then(c.bind(c,61736));a()}catch(a){console.log("[ai-power-index] failed to start snapshot scheduler:",a?.message||a)}try{let{ensurePromptPayloadRotationScheduler:a}=await Promise.all([c.e(689),c.e(4350)]).then(c.bind(c,71372));a()}catch(a){console.log("[prompt-payload-rotation] failed to start scheduler:",a?.message||a)}try{let a=await Promise.all([c.e(1893),c.e(5019),c.e(2947),c.e(3958),c.e(9841)]).then(c.t.bind(c,93958,23)),b=a.default||a;"function"==typeof b.ensureAuditProxyAutostart&&await b.ensureAuditProxyAutostart()}catch(a){console.log("[audit-proxy] failed to initialize autostart:",a?.message||a)}}c.r(b),c.d(b,{register:()=>d})},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{a.exports=import("pg")},66136:a=>{a.exports=require("timers")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=27172);module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{a.exports=require("node:buffer")},4984:a=>{a.exports=require("readline")},7066:a=>{a.exports=require("node:tty")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27172:(a,b,c)=>{async function d(){try{await Promise.all([c.e(1893),c.e(2664),c.e(2566),c.e(689),c.e(2947),c.e(3399),c.e(5210),c.e(541),c.e(3696)]).then(c.bind(c,13696))}catch(a){console.log("[grok-cli] failed to register provider:",a?.message||a)}try{let{runEnvBootstrap:a}=await c.e(3249).then(c.bind(c,83249));await a()}catch(a){console.log("[bootstrap] env bootstrap failed:",a?.message||a)}let a=globalThis.__appSingleton??={};a.allowedModelsPruned||(a.allowedModelsPruned=!0,Promise.all([c.e(689),c.e(9012)]).then(c.bind(c,59274)).then(a=>a.pruneStaleAllowedModels()).catch(a=>console.log("[InitApp] Allowed models prune failed:",a?.message||a)));try{let{ensureProviderHealthMonitor:a}=await Promise.all([c.e(3433),c.e(689),c.e(3399),c.e(6118)]).then(c.bind(c,59479));a()}catch(a){console.log("[provider-health] failed to start active monitor:",a?.message||a)}try{let{ensureResourceMonitorCollector:a}=await Promise.all([c.e(689),c.e(9483),c.e(2155),c.e(6684)]).then(c.bind(c,93621));a()}catch(a){console.log("[resource-monitor] failed to start history collector:",a?.message||a)}try{let{ensureClusterSyncService:a}=await Promise.all([c.e(689),c.e(8049)]).then(c.bind(c,23248));a()}catch(a){console.log("[cluster] failed to start sync service:",a?.message||a)}try{let{ensureResourceMonitorAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(3399),c.e(5210),c.e(9483),c.e(6977)]).then(c.bind(c,16977));a()}catch(a){console.log("[resource-monitor] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureDashboardAnalyticsAiScheduler:a}=await Promise.all([c.e(2664),c.e(689),c.e(3399),c.e(5210),c.e(9483),c.e(2155),c.e(2731)]).then(c.bind(c,82731));a()}catch(a){console.log("[dashboard-analytics] failed to start AI analysis scheduler:",a?.message||a)}try{let{ensureAiPowerIndexScheduler:a}=await Promise.all([c.e(689),c.e(9)]).then(c.bind(c,61736));a()}catch(a){console.log("[ai-power-index] failed to start snapshot scheduler:",a?.message||a)}try{let{ensurePromptPayloadRotationScheduler:a}=await Promise.all([c.e(689),c.e(4350)]).then(c.bind(c,71372));a()}catch(a){console.log("[prompt-payload-rotation] failed to start scheduler:",a?.message||a)}try{let{ensureUsageEventsRotationScheduler:a}=await Promise.all([c.e(689),c.e(1583)]).then(c.bind(c,5246));a()}catch(a){console.log("[usage-events-rotation] failed to start scheduler:",a?.message||a)}try{let a=await Promise.all([c.e(1893),c.e(5019),c.e(2947),c.e(3958),c.e(9841)]).then(c.t.bind(c,93958,23)),b=a.default||a;"function"==typeof b.ensureAuditProxyAutostart&&await b.ensureAuditProxyAutostart()}catch(a){console.log("[audit-proxy] failed to initialize autostart:",a?.message||a)}}c.r(b),c.d(b,{register:()=>d})},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},34631:a=>{a.exports=require("tls")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41204:a=>{a.exports=require("string_decoder")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64939:a=>{a.exports=import("pg")},66136:a=>{a.exports=require("timers")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79428:a=>{a.exports=require("buffer")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},79868:a=>{a.exports=require("node:sqlite")},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=27172);module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/8HLcfPZQbiQFkzvYyYlAK/_buildManifest.js","static/8HLcfPZQbiQFkzvYyYlAK/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-0496746bc1f1318c.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-e569667691edc8f7.js","static/chunks/main-app-0a27584eea53a4b0.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
|
|
@@ -8,7 +8,7 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
|
|
|
8
8
|
data-next-error-digest="${l.MISSING_ROOT_TAGS_ERROR}"
|
|
9
9
|
data-next-error-stack=""
|
|
10
10
|
></template>
|
|
11
|
-
`))}})}function I(a,b){let c=a;for(let a of b)a&&(c=c.pipeThrough(a));return c}async function J(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,deploymentId:e,getServerInsertedHTML:f,getServerInsertedMetadata:g,validateRootLayout:j}){let k,l,m=b?b.split(E,1)[0]:null;return d?await a.allReady:await (0,i.waitAtLeastOneReactRenderTask)(),I(a,[x(),e?G(e):null,z(g),null!=m&&m.length>0?(l=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!l){let a;l=!0,k=a=new h.DetachedPromise,(0,i.scheduleImmediate)(()=>{try{b.enqueue(p.encode(m))}catch{}finally{k=void 0,a.resolve()}})}},flush(a){if(k)return k.promise;l||a.enqueue(p.encode(m))}})):null,c?D(c,!0):null,j?H():null,F(),A(f)])}async function K(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c,deploymentId:d}){return I(a,[x(),new TransformStream({transform(a,b){(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.HTML)||(a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.BODY),a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}}),d?G(d):null,A(b),z(c)])}async function L(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return I(a,[x(),e?G(e):null,A(c),z(d),D(b,!0),F()])}async function M(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return I(a,[x(),e?G(e):null,A(c),await B(),z(d),D(b,!0),F()])}async function N(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e,deploymentId:f}){return I(a,[x(),f?G(f):null,A(d),z(e),D(c,b),F()])}function O(){return r(E)}function P(a,b,c){let d=new TextEncoder,e=d.encode(`[${a}]`),f=e[0],g=d.encode(`[${b},${c}]`),h=e.length,i=null,j=!1;function k(a,b){if(j){b&&a.enqueue(b);return}if(i){let c=i.length-(h-1);if(b&&(c+=Math.min(b.length,h-1)),c<1){a.enqueue(i),i=b;return}let d=i.indexOf(f);a:for(;-1<d&&d<c;){let c=1;for(;c<h;){let a=d+c;if((a<i.length?i[a]:b[a-i.length])!==e[c]){d=i.indexOf(f,d+1);continue a}c++}if(j=!0,a.enqueue(i.subarray(0,d)),a.enqueue(g),d+h<i.length&&a.enqueue(i.slice(d+h)),b){let c=d+h-i.length,e=c>0?b.subarray(c):b;a.enqueue(e)}i=null;return}a.enqueue(i)}i=b}return new TransformStream({transform(a,b){k(b,a)},flush(a){k(a,null)}})}},27910:a=>{"use strict";a.exports=require("stream")},28344:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(44001)._(c(68202)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},28354:a=>{"use strict";a.exports=require("util")},28516:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},28704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29299:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},30585:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"resolveParamValue",{enumerable:!0,get:function(){return f}});let d=c(42776),e=c(58486);function f(a,b,c,f,g){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let h=[];for(let a=c;a<f.segments.length;a++){let d=f.segments[a];if("static"===d.type){let f=d.name,g=(0,e.interceptionPrefixFromParamType)(b);g&&a===c&&g===d.interceptionMarker&&(f=f.replace(d.interceptionMarker,"")),h.push(f)}else{if(!g.hasOwnProperty(d.param.paramName)){if("optional-catchall"===d.param.paramType)break;return}let a=g[d.param.paramName];Array.isArray(a)?h.push(...a):h.push(a)}}if(h.length>0)return h;if("optional-catchall"===b)return;throw Object.defineProperty(new d.InvariantError(`Unexpected empty path segments match for a route "${f.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<f.segments.length){let a=f.segments[c];if("dynamic"===a.type&&!g.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?g[a.param.paramName]:(0,e.interceptionPrefixFromParamType)(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}},31050:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},31147:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createLazyResult:function(){return e},isResolvedLazyResult:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b,c={then:(d,e)=>(b||(b=Promise.resolve(a())),b.then(a=>{c.value=a}).catch(()=>{}),b.then(d,e))};return c}function f(a){return a.hasOwnProperty("value")}},31385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(71185),h=c(36081),i=c(30585);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseAppRoute)(c,!0);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},31574:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImplicitTags",{enumerable:!0,get:function(){return h}});let d=c(96100),e=c(57155),f=c(67751),g=c(31147);async function h(a,b,c){let h=new Set;for(let b of(a=>{let b=["/layout"];if(a.startsWith("/")){let c=a.split("/");for(let a=1;a<c.length+1;a++){let d=c.slice(0,a).join("/");d&&(d.endsWith("/page")||d.endsWith("/route")||(d=`${d}${!d.endsWith("/")?"/":""}layout`),b.push(d))}}return b})(a))b=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`),h.add(b);if(b&&(!c||0===c.size)){let a=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`);h.add(a)}h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`),h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`);let i=Array.from(h);return{tags:i,expirationsByCacheKind:function(a){let b=new Map,c=(0,e.getCacheHandlerEntries)();if(c)for(let[d,e]of c)"getExpiration"in e&&b.set(d,(0,g.createLazyResult)(async()=>e.getExpiration(a)));return b}(i)}}},32053:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},32457:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDefaultCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(9913),e=c(36820);function f(a){if(0===a)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let b=new d.LRUCache(a,a=>a.size),c=new Map,f=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(a){let d=c.get(a);d&&(null==f||f("get",a,"pending"),await d);let g=b.get(a);if(!g){null==f||f("get",a,"not found");return}let h=g.entry;if(performance.timeOrigin+performance.now()>h.timestamp+1e3*h.revalidate){null==f||f("get",a,"expired");return}let i=h.revalidate;if((0,e.areTagsExpired)(h.tags,h.timestamp)){null==f||f("get",a,"had expired tag");return}(0,e.areTagsStale)(h.tags,h.timestamp)&&(null==f||f("get",a,"had stale tag"),i=-1);let[j,k]=h.value.tee();return h.value=k,null==f||f("get",a,"found",{tags:h.tags,timestamp:h.timestamp,expire:h.expire,revalidate:i}),{...h,revalidate:i,value:j}},async set(a,d){null==f||f("set",a,"start");let e=()=>{},g=new Promise(a=>{e=a});c.set(a,g);let h=await d,i=0;try{let[c,d]=h.value.tee();h.value=c;let e=d.getReader();for(let a;!(a=await e.read()).done;)i+=Buffer.from(a.value).byteLength;b.set(a,{entry:h,isErrored:!1,errorRetryCount:0,size:i}),null==f||f("set",a,"done")}catch(b){null==f||f("set",a,"failed",b)}finally{e(),c.delete(a)}},async refreshTags(){},async getExpiration(a){let b=Math.max(...a.map(a=>{let b=e.tagsManifest.get(a);return b&&b.expired||0}),0);return null==f||f("getExpiration",{tags:a,expiration:b}),b},async updateTags(a,b){let c=Math.round(performance.timeOrigin+performance.now());for(let d of(null==f||f("updateTags",{tags:a,timestamp:c}),a)){let a=e.tagsManifest.get(d)||{};if(b){let f={...a};f.stale=c,void 0!==b.expire&&(f.expired=c+1e3*b.expire),e.tagsManifest.set(d,f)}else e.tagsManifest.set(d,{...a,expired:c})}}}}},32648:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={edgeInstrumentationOnRequestError:function(){return h},ensureInstrumentationRegistered:function(){return j},getEdgeInstrumentationModule:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});async function e(){return"_ENTRIES"in globalThis&&_ENTRIES.middleware_instrumentation&&await _ENTRIES.middleware_instrumentation}let f=null;async function g(){if("phase-production-build"===process.env.NEXT_PHASE)return;f||(f=e());let a=await f;if(null==a?void 0:a.register)try{await a.register()}catch(a){throw a.message=`An error occurred while loading instrumentation hook: ${a.message}`,a}}async function h(...a){let b=await e();try{var c;await (null==b||null==(c=b.onRequestError)?void 0:c.call(b,...a))}catch(a){console.error("Error in instrumentation.onRequestError:",a)}}let i=null;function j(){return i||(i=g()),i}},33198:(a,b,c)=>{"use strict";let{normalizeIp:d,clientIpMatches:e}=c(13768),{activateProxySession:f,touchProxySession:g,listActiveProxySessions:h}=c(34082);function i(a){return String(a||"").trim().toLowerCase()}function j(a){let b=Array.isArray(a)?a:a&&"object"==typeof a?Object.entries(a).map(([a,b])=>({userId:a,note:b})):[],c=new Map;for(let a of b){let b=i(a?.userId??a?.user??a?.id);b&&c.set(b,{userId:b,note:String((a?.note??c.get(b)?.note)||"").trim().slice(0,200)})}if(c.size>500)throw Error("At most 500 Audit Proxy access grants are supported");return[...c.values()].sort((a,b)=>a.userId.localeCompare(b.userId))}function k(a=[],b=""){let c=i(b);return c&&a.find(a=>a.userId===c)||null}function l(a={}){let b=a.grants||[],c=new Set(b.map(a=>a.userId)),d=h().filter(a=>c.has(a.userId));return{...a,enabled:!0,allowedClientIps:d.map(a=>a.ip),source:"sessions",grants:b,sessions:d}}a.exports={MAX_GRANTS:500,normalizeGrantUserId:i,normalizeAccessGrants:j,findAccessGrant:k,effectiveClientIpPolicy:function(a={}){return l({grants:j(a.accessGrants),sessionIdleTimeoutMs:a.sessionIdleTimeoutMs})},attachClientIpGate:function(a,b){let c=new Map;return a.prependListener("connection",a=>{let f=d(a?.remoteAddress||""),h=l(b()||{});if(h.enabled&&!e(f,h.allowedClientIps||[])){console.log(`[audit-proxy] denied client IP ${f||"unknown"} (${h.source||"manual"} allowlist)`);try{a.destroy()}catch{}return}g(f,h.sessionIdleTimeoutMs);let i=(h.sessions||[]).find(a=>a.ip===f);a.__auditDlpGroups=i?.groups||[],a.__auditDashboardUser=i?{userId:i.dashboardUserId||i.userId,displayName:i.displayName}:null,c.set(a,f),a.once("close",()=>c.delete(a))}),{dropRevoked(){let a=l(b()||{});if(!a.enabled)return 0;let d=0;for(let[b,f]of[...c])if(!e(f,a.allowedClientIps||[])){console.log(`[audit-proxy] closing connection from revoked client IP ${f||"unknown"}`);try{b.destroy()}catch{}c.delete(b),d+=1}return d},connectionCount:()=>c.size}},activateProxySessionOnLogin:function({userId:a,dashboardUserId:b,displayName:c,ip:d,config:e,groups:g}={}){let h=i(a);return h&&k(j(e?.accessGrants),h)?f({userId:h,dashboardUserId:b,displayName:c,ip:d,idleTimeoutMs:e?.sessionIdleTimeoutMs,groups:g}):null}}},33323:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},33873:a=>{"use strict";a.exports=require("path")},34082:(a,b,c)=>{"use strict";let{normalizeIp:d}=c(13768),e="__blueRouterAuditProxySessions";function f(){return globalThis[e]||(globalThis[e]=new Map),globalThis[e]}function g(a){let b=Number(a);return Number.isFinite(b)&&b>=6e4?b:36e5}a.exports={DEFAULT_IDLE_TIMEOUT_MS:36e5,MIN_IDLE_TIMEOUT_MS:6e4,activateProxySession:function({userId:a,dashboardUserId:b,displayName:c,ip:e,idleTimeoutMs:h,groups:i}={}){let j=String(a||"").trim().toLowerCase(),k=d(e);if(!j||!k)return null;let l=Date.now(),m=g(h),n=f().get(k);n&&n.userId!==j&&console.log(`[audit-proxy] session for ${k} reassigned from ${n.userId} to ${j}`);let o={userId:j,dashboardUserId:String(b||"").trim().toLowerCase()||j,displayName:String(c||"").trim()||j,groups:Array.isArray(i)?i.filter(Boolean).map(String):[],activatedAt:n?.userId===j?n.activatedAt:l,expiresAt:l+m};return f().set(k,o),{ip:k,...o}},touchProxySession:function(a,b){let c=d(a),e=f().get(c);return e?(e.expiresAt=Date.now()+g(b),{ip:c,...e}):null},getProxySession:function(a){let b=d(a),c=f().get(b);return c?c.expiresAt<=Date.now()?(f().delete(b),null):{ip:b,...c}:null},listActiveProxySessions:function(){let a=Date.now(),b=[];for(let[c,d]of f()){if(d.expiresAt<=a){f().delete(c);continue}b.push({ip:c,...d})}return b.sort((a,b)=>b.expiresAt-a.expiresAt)},pruneExpiredProxySessions:function(){let a=Date.now(),b=0;for(let[c,d]of f())d.expiresAt<=a&&(f().delete(c),b+=1);return b},revokeProxySession:function(a){return f().delete(d(a))},revokeProxySessionsForUser:function(a){let b=String(a||"").trim().toLowerCase();if(!b)return 0;let c=0;for(let[a,d]of f())d.userId===b&&(f().delete(a),c+=1);return c},clearAllProxySessions:function(){let a=f().size;return f().clear(),a}}},34196:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},34539:(a,b,c)=>{"use strict";a.exports=c(6796).vendored["react-rsc"].React},34631:a=>{"use strict";a.exports=require("tls")},35770:(a,b,c)=>{"use strict";c.d(b,{mt:()=>i.getSettings,Xx:()=>i.Xx,ek:()=>j.ek}),c(59339),c(55511),c(79748);var d=c(21820),e=c.n(d),f=c(33873),g=c.n(f);let h=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||g().join(e().homedir(),".bluerouter");g().join(h,"resource-monitor-servers.json");var i=c(85304);c(54706);var j=c(98938),k=c(71509);(0,k.U)("modelAliases"),(0,k.U)("customModels"),c(36241);var l=c(58243),m=c.n(l);c(51455),c(76760),c(72045);let n=new Set(["mysql","postgres"]),o={enabled:!1,fileLoggingEnabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30,payloadRotationEnabled:!1,payloadRetentionDays:60,payloadRotationIntervalHours:24,payloadRotationBatchSize:500,payloadRotationMaxBatches:20};function p(a={},b={}){let c=String(a?.type||b?.type||o.type).trim().toLowerCase(),d=!!c&&!n.has(c),e=d?o.type:c,f={...o,...b||{},...a||{},type:e};f.enabled=!!f.enabled,f.fileLoggingEnabled=!0===f.fileLoggingEnabled,f.ssl=!!f.ssl,f.createDatabase=!!f.createDatabase,f.logClientRequest=!1!==f.logClientRequest,f.logSourceRequest=!1!==f.logSourceRequest,f.logTargetRequest=!1!==f.logTargetRequest,f.logProviderResponse=!0===f.logProviderResponse,f.logErrors=!1!==f.logErrors;let g=Number(f.retentionDays);f.retentionDays=Number.isFinite(g)&&g>0?Math.floor(g):30;let h=(a,b,c,d)=>{let e=Number(a);return Number.isFinite(e)?Math.min(d,Math.max(c,Math.floor(e))):b};return f.payloadRotationEnabled=!0===f.payloadRotationEnabled,f.payloadRetentionDays=h(f.payloadRetentionDays,60,1,3650),f.payloadRotationIntervalHours=h(f.payloadRotationIntervalHours,24,1,168),f.payloadRotationBatchSize=h(f.payloadRotationBatchSize,500,50,5e3),f.payloadRotationMaxBatches=h(f.payloadRotationMaxBatches,20,1,200),"********"===f.password&&(f.password=b?.password||""),f.host=String(f.host||"").trim(),f.port=String(f.port||("postgres"===f.type?"5432":"3306")).trim(),f.database=String(f.database||"").trim(),f.username=String(f.username||"").trim(),f.password=String(f.password||""),!d||f.host||f.database||f.username||(f.enabled=!1),delete f.sqlitePath,f}async function q(){let a=await (0,i.getSettings)();return p(a?.promptLogDb||{})}var r=c(33323);let s=Number(process.env.OBSERVABILITY_MYSQL_MAX_JSON_BYTES||262144),t={expiresAt:0,value:null},u=!1,v=new Set;function w(a,b){v.has(a)||(v.add(a),console.warn(b))}function x(a){if(!a)return"";let b=[];return a.code&&b.push(`code=${a.code}`),a.errno&&b.push(`errno=${a.errno}`),a.sqlState&&b.push(`sqlState=${a.sqlState}`),a.sqlMessage?b.push(a.sqlMessage):a.message&&b.push(a.message),b.filter(Boolean).join(" | ")||String(a)}async function y(a,b){let[c]=await a.query("SELECT COLUMN_NAME AS name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.COLUMN_NAME||"")))}async function z(a,b){let[c]=await a.query("SELECT INDEX_NAME AS name FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.INDEX_NAME||"")))}async function A(a,b,c){let d=await y(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD COLUMN ${f}`),d.add(e))}async function B(a,b,c){let d=await z(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD ${f}`),d.add(e))}async function C(a){await A(a,"usage_events",[["dedupe_key","dedupe_key VARCHAR(96) NULL"],["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["api_key_fingerprint","api_key_fingerprint VARCHAR(120) NULL"],["api_key_id","api_key_id VARCHAR(120) NULL"],["api_key_name","api_key_name VARCHAR(255) NULL"],["api_key_owner","api_key_owner VARCHAR(255) NULL"],["endpoint","endpoint TEXT NULL"],["request_id","request_id VARCHAR(120) NULL"],["session_id","session_id VARCHAR(255) NULL"],["client_ip","client_ip VARCHAR(64) NULL"],["client_ip_normalized","client_ip_normalized VARCHAR(64) NULL"],["client_host","client_host TEXT NULL"],["client_user_agent","client_user_agent TEXT NULL"],["source_tool","source_tool VARCHAR(80) NULL"],["source_tool_label","source_tool_label VARCHAR(120) NULL"],["source_host","source_host VARCHAR(255) NULL"],["latency_ms","latency_ms INT DEFAULT 0"],["ttft_ms","ttft_ms INT DEFAULT 0"],["status_code","status_code INT NULL"],["error_code","error_code VARCHAR(160) NULL"],["error_type","error_type VARCHAR(120) NULL"],["error_message_short","error_message_short TEXT NULL"],["is_streaming","is_streaming TINYINT DEFAULT 0"],["is_combo","is_combo TINYINT DEFAULT 0"],["combo_name","combo_name VARCHAR(255) NULL"],["prompt_tokens","prompt_tokens BIGINT DEFAULT 0"],["completion_tokens","completion_tokens BIGINT DEFAULT 0"],["total_tokens","total_tokens BIGINT DEFAULT 0"],["cached_tokens","cached_tokens BIGINT DEFAULT 0"],["reasoning_tokens","reasoning_tokens BIGINT DEFAULT 0"],["thinking_enabled","thinking_enabled TINYINT NULL"],["thinking_auto_off","thinking_auto_off TINYINT DEFAULT 0"],["thinking_auto_off_reason","thinking_auto_off_reason VARCHAR(120) NULL"],["prompt_chars","prompt_chars BIGINT DEFAULT 0"],["force_thinking_off_above_chars","force_thinking_off_above_chars BIGINT DEFAULT 0"],["cost","cost DECIMAL(18,8) DEFAULT 0"],["status","status VARCHAR(80) NULL"],["tokens_json","tokens_json JSON NULL"],["meta_json","meta_json JSON NULL"]]),await a.query("UPDATE usage_events SET dedupe_key = CONCAT('legacy:', id) WHERE dedupe_key IS NULL OR dedupe_key = ''").catch(()=>{}),await a.query("ALTER TABLE usage_events MODIFY COLUMN dedupe_key VARCHAR(96) NOT NULL").catch(()=>{}),await B(a,"usage_events",[["uq_usage_events_dedupe","UNIQUE KEY uq_usage_events_dedupe (dedupe_key)"],["idx_usage_events_ts","INDEX idx_usage_events_ts (timestamp)"],["idx_usage_events_provider_model","INDEX idx_usage_events_provider_model (provider, model, timestamp)"],["idx_usage_events_status","INDEX idx_usage_events_status (status, status_code, timestamp)"],["idx_usage_events_api_key","INDEX idx_usage_events_api_key (api_key_id, api_key_fingerprint, timestamp)"],["idx_usage_owner_time","INDEX idx_usage_owner_time (api_key_owner, timestamp, id)"],["idx_usage_events_client_ip","INDEX idx_usage_events_client_ip (client_ip_normalized, timestamp)"],["idx_usage_events_source_tool","INDEX idx_usage_events_source_tool (source_tool, timestamp)"],["idx_usage_events_session","INDEX idx_usage_events_session (session_id, timestamp)"],["idx_usage_events_thinking_auto_off","INDEX idx_usage_events_thinking_auto_off (thinking_auto_off, timestamp)"],["idx_usage_events_prompt_chars","INDEX idx_usage_events_prompt_chars (prompt_chars, timestamp)"]]),await A(a,"request_details",[["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["status","status VARCHAR(80) NULL"],["data_json","data_json JSON NULL"],["data_size_bytes","data_size_bytes BIGINT DEFAULT 0"]]),await B(a,"request_details",[["idx_request_details_ts","INDEX idx_request_details_ts (timestamp)"],["idx_request_details_provider","INDEX idx_request_details_provider (provider, timestamp)"],["idx_request_details_model","INDEX idx_request_details_model (model, timestamp)"],["idx_request_details_connection","INDEX idx_request_details_connection (connection_id, timestamp)"],["idx_request_details_status","INDEX idx_request_details_status (status, timestamp)"]])}function D(a){return String(a??"").trim()}function E(a){if(null==a)return null;if("string"==typeof a)try{return JSON.parse(a),a}catch{return JSON.stringify(a)}return(0,r.s)(a)}function F(a){if(null==a)return{};let b=E(a)||"{}";return Buffer.byteLength(b,"utf8")<=s?a:{_truncated:!0,_originalSizeBytes:Buffer.byteLength(b,"utf8"),_preview:b.slice(0,1e3)}}async function G(){let a=Date.now();if(t.value&&t.expiresAt>a)return t.value;try{let b=p(await q());t={value:!0===b.enabled&&"mysql"===b.type&&"false"!==process.env.OBSERVABILITY_MYSQL_ENABLED?b:null,expiresAt:a+5e3}}catch(b){w("config",`[observability-mysql] Unable to read MySQL log config: ${b?.message||b}`),t={value:null,expiresAt:a+5e3}}return t.value}async function H(a){let b=await c.e(8352).then(c.t.bind(c,58352,19)),d=await b.createConnection({host:a.host,port:Number(a.port||3306),database:a.database,user:a.username,password:a.password,ssl:a.ssl?{}:void 0,multipleStatements:!0,dateStrings:!0,connectTimeout:3e3,timezone:"Z"});return await d.query("SET time_zone = '+00:00'"),d}async function I(a){u||(await a.query(`
|
|
11
|
+
`))}})}function I(a,b){let c=a;for(let a of b)a&&(c=c.pipeThrough(a));return c}async function J(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,deploymentId:e,getServerInsertedHTML:f,getServerInsertedMetadata:g,validateRootLayout:j}){let k,l,m=b?b.split(E,1)[0]:null;return d?await a.allReady:await (0,i.waitAtLeastOneReactRenderTask)(),I(a,[x(),e?G(e):null,z(g),null!=m&&m.length>0?(l=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!l){let a;l=!0,k=a=new h.DetachedPromise,(0,i.scheduleImmediate)(()=>{try{b.enqueue(p.encode(m))}catch{}finally{k=void 0,a.resolve()}})}},flush(a){if(k)return k.promise;l||a.enqueue(p.encode(m))}})):null,c?D(c,!0):null,j?H():null,F(),A(f)])}async function K(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c,deploymentId:d}){return I(a,[x(),new TransformStream({transform(a,b){(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.HTML)||(a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.BODY),a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}}),d?G(d):null,A(b),z(c)])}async function L(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return I(a,[x(),e?G(e):null,A(c),z(d),D(b,!0),F()])}async function M(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return I(a,[x(),e?G(e):null,A(c),await B(),z(d),D(b,!0),F()])}async function N(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e,deploymentId:f}){return I(a,[x(),f?G(f):null,A(d),z(e),D(c,b),F()])}function O(){return r(E)}function P(a,b,c){let d=new TextEncoder,e=d.encode(`[${a}]`),f=e[0],g=d.encode(`[${b},${c}]`),h=e.length,i=null,j=!1;function k(a,b){if(j){b&&a.enqueue(b);return}if(i){let c=i.length-(h-1);if(b&&(c+=Math.min(b.length,h-1)),c<1){a.enqueue(i),i=b;return}let d=i.indexOf(f);a:for(;-1<d&&d<c;){let c=1;for(;c<h;){let a=d+c;if((a<i.length?i[a]:b[a-i.length])!==e[c]){d=i.indexOf(f,d+1);continue a}c++}if(j=!0,a.enqueue(i.subarray(0,d)),a.enqueue(g),d+h<i.length&&a.enqueue(i.slice(d+h)),b){let c=d+h-i.length,e=c>0?b.subarray(c):b;a.enqueue(e)}i=null;return}a.enqueue(i)}i=b}return new TransformStream({transform(a,b){k(b,a)},flush(a){k(a,null)}})}},27910:a=>{"use strict";a.exports=require("stream")},28344:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(44001)._(c(68202)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},28354:a=>{"use strict";a.exports=require("util")},28516:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},28704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29299:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},30585:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"resolveParamValue",{enumerable:!0,get:function(){return f}});let d=c(42776),e=c(58486);function f(a,b,c,f,g){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let h=[];for(let a=c;a<f.segments.length;a++){let d=f.segments[a];if("static"===d.type){let f=d.name,g=(0,e.interceptionPrefixFromParamType)(b);g&&a===c&&g===d.interceptionMarker&&(f=f.replace(d.interceptionMarker,"")),h.push(f)}else{if(!g.hasOwnProperty(d.param.paramName)){if("optional-catchall"===d.param.paramType)break;return}let a=g[d.param.paramName];Array.isArray(a)?h.push(...a):h.push(a)}}if(h.length>0)return h;if("optional-catchall"===b)return;throw Object.defineProperty(new d.InvariantError(`Unexpected empty path segments match for a route "${f.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<f.segments.length){let a=f.segments[c];if("dynamic"===a.type&&!g.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?g[a.param.paramName]:(0,e.interceptionPrefixFromParamType)(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}},31050:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},31147:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createLazyResult:function(){return e},isResolvedLazyResult:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b,c={then:(d,e)=>(b||(b=Promise.resolve(a())),b.then(a=>{c.value=a}).catch(()=>{}),b.then(d,e))};return c}function f(a){return a.hasOwnProperty("value")}},31385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(71185),h=c(36081),i=c(30585);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseAppRoute)(c,!0);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},31574:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImplicitTags",{enumerable:!0,get:function(){return h}});let d=c(96100),e=c(57155),f=c(67751),g=c(31147);async function h(a,b,c){let h=new Set;for(let b of(a=>{let b=["/layout"];if(a.startsWith("/")){let c=a.split("/");for(let a=1;a<c.length+1;a++){let d=c.slice(0,a).join("/");d&&(d.endsWith("/page")||d.endsWith("/route")||(d=`${d}${!d.endsWith("/")?"/":""}layout`),b.push(d))}}return b})(a))b=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`),h.add(b);if(b&&(!c||0===c.size)){let a=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`);h.add(a)}h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`),h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`);let i=Array.from(h);return{tags:i,expirationsByCacheKind:function(a){let b=new Map,c=(0,e.getCacheHandlerEntries)();if(c)for(let[d,e]of c)"getExpiration"in e&&b.set(d,(0,g.createLazyResult)(async()=>e.getExpiration(a)));return b}(i)}}},32053:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},32457:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDefaultCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(9913),e=c(36820);function f(a){if(0===a)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let b=new d.LRUCache(a,a=>a.size),c=new Map,f=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(a){let d=c.get(a);d&&(null==f||f("get",a,"pending"),await d);let g=b.get(a);if(!g){null==f||f("get",a,"not found");return}let h=g.entry;if(performance.timeOrigin+performance.now()>h.timestamp+1e3*h.revalidate){null==f||f("get",a,"expired");return}let i=h.revalidate;if((0,e.areTagsExpired)(h.tags,h.timestamp)){null==f||f("get",a,"had expired tag");return}(0,e.areTagsStale)(h.tags,h.timestamp)&&(null==f||f("get",a,"had stale tag"),i=-1);let[j,k]=h.value.tee();return h.value=k,null==f||f("get",a,"found",{tags:h.tags,timestamp:h.timestamp,expire:h.expire,revalidate:i}),{...h,revalidate:i,value:j}},async set(a,d){null==f||f("set",a,"start");let e=()=>{},g=new Promise(a=>{e=a});c.set(a,g);let h=await d,i=0;try{let[c,d]=h.value.tee();h.value=c;let e=d.getReader();for(let a;!(a=await e.read()).done;)i+=Buffer.from(a.value).byteLength;b.set(a,{entry:h,isErrored:!1,errorRetryCount:0,size:i}),null==f||f("set",a,"done")}catch(b){null==f||f("set",a,"failed",b)}finally{e(),c.delete(a)}},async refreshTags(){},async getExpiration(a){let b=Math.max(...a.map(a=>{let b=e.tagsManifest.get(a);return b&&b.expired||0}),0);return null==f||f("getExpiration",{tags:a,expiration:b}),b},async updateTags(a,b){let c=Math.round(performance.timeOrigin+performance.now());for(let d of(null==f||f("updateTags",{tags:a,timestamp:c}),a)){let a=e.tagsManifest.get(d)||{};if(b){let f={...a};f.stale=c,void 0!==b.expire&&(f.expired=c+1e3*b.expire),e.tagsManifest.set(d,f)}else e.tagsManifest.set(d,{...a,expired:c})}}}}},32648:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={edgeInstrumentationOnRequestError:function(){return h},ensureInstrumentationRegistered:function(){return j},getEdgeInstrumentationModule:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});async function e(){return"_ENTRIES"in globalThis&&_ENTRIES.middleware_instrumentation&&await _ENTRIES.middleware_instrumentation}let f=null;async function g(){if("phase-production-build"===process.env.NEXT_PHASE)return;f||(f=e());let a=await f;if(null==a?void 0:a.register)try{await a.register()}catch(a){throw a.message=`An error occurred while loading instrumentation hook: ${a.message}`,a}}async function h(...a){let b=await e();try{var c;await (null==b||null==(c=b.onRequestError)?void 0:c.call(b,...a))}catch(a){console.error("Error in instrumentation.onRequestError:",a)}}let i=null;function j(){return i||(i=g()),i}},33198:(a,b,c)=>{"use strict";let{normalizeIp:d,clientIpMatches:e}=c(13768),{activateProxySession:f,touchProxySession:g,listActiveProxySessions:h}=c(34082);function i(a){return String(a||"").trim().toLowerCase()}function j(a){let b=Array.isArray(a)?a:a&&"object"==typeof a?Object.entries(a).map(([a,b])=>({userId:a,note:b})):[],c=new Map;for(let a of b){let b=i(a?.userId??a?.user??a?.id);b&&c.set(b,{userId:b,note:String((a?.note??c.get(b)?.note)||"").trim().slice(0,200)})}if(c.size>500)throw Error("At most 500 Audit Proxy access grants are supported");return[...c.values()].sort((a,b)=>a.userId.localeCompare(b.userId))}function k(a=[],b=""){let c=i(b);return c&&a.find(a=>a.userId===c)||null}function l(a={}){let b=a.grants||[],c=new Set(b.map(a=>a.userId)),d=h().filter(a=>c.has(a.userId));return{...a,enabled:!0,allowedClientIps:d.map(a=>a.ip),source:"sessions",grants:b,sessions:d}}a.exports={MAX_GRANTS:500,normalizeGrantUserId:i,normalizeAccessGrants:j,findAccessGrant:k,effectiveClientIpPolicy:function(a={}){return l({grants:j(a.accessGrants),sessionIdleTimeoutMs:a.sessionIdleTimeoutMs})},attachClientIpGate:function(a,b){let c=new Map;return a.prependListener("connection",a=>{let f=d(a?.remoteAddress||""),h=l(b()||{});if(h.enabled&&!e(f,h.allowedClientIps||[])){console.log(`[audit-proxy] denied client IP ${f||"unknown"} (${h.source||"manual"} allowlist)`);try{a.destroy()}catch{}return}g(f,h.sessionIdleTimeoutMs);let i=(h.sessions||[]).find(a=>a.ip===f);a.__auditDlpGroups=i?.groups||[],a.__auditDashboardUser=i?{userId:i.dashboardUserId||i.userId,displayName:i.displayName}:null,c.set(a,f),a.once("close",()=>c.delete(a))}),{dropRevoked(){let a=l(b()||{});if(!a.enabled)return 0;let d=0;for(let[b,f]of[...c])if(!e(f,a.allowedClientIps||[])){console.log(`[audit-proxy] closing connection from revoked client IP ${f||"unknown"}`);try{b.destroy()}catch{}c.delete(b),d+=1}return d},connectionCount:()=>c.size}},activateProxySessionOnLogin:function({userId:a,dashboardUserId:b,displayName:c,ip:d,config:e,groups:g}={}){let h=i(a);return h&&k(j(e?.accessGrants),h)?f({userId:h,dashboardUserId:b,displayName:c,ip:d,idleTimeoutMs:e?.sessionIdleTimeoutMs,groups:g}):null}}},33323:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},33873:a=>{"use strict";a.exports=require("path")},34082:(a,b,c)=>{"use strict";let{normalizeIp:d}=c(13768),e="__blueRouterAuditProxySessions";function f(){return globalThis[e]||(globalThis[e]=new Map),globalThis[e]}function g(a){let b=Number(a);return Number.isFinite(b)&&b>=6e4?b:36e5}a.exports={DEFAULT_IDLE_TIMEOUT_MS:36e5,MIN_IDLE_TIMEOUT_MS:6e4,activateProxySession:function({userId:a,dashboardUserId:b,displayName:c,ip:e,idleTimeoutMs:h,groups:i}={}){let j=String(a||"").trim().toLowerCase(),k=d(e);if(!j||!k)return null;let l=Date.now(),m=g(h),n=f().get(k);n&&n.userId!==j&&console.log(`[audit-proxy] session for ${k} reassigned from ${n.userId} to ${j}`);let o={userId:j,dashboardUserId:String(b||"").trim().toLowerCase()||j,displayName:String(c||"").trim()||j,groups:Array.isArray(i)?i.filter(Boolean).map(String):[],activatedAt:n?.userId===j?n.activatedAt:l,expiresAt:l+m};return f().set(k,o),{ip:k,...o}},touchProxySession:function(a,b){let c=d(a),e=f().get(c);return e?(e.expiresAt=Date.now()+g(b),{ip:c,...e}):null},getProxySession:function(a){let b=d(a),c=f().get(b);return c?c.expiresAt<=Date.now()?(f().delete(b),null):{ip:b,...c}:null},listActiveProxySessions:function(){let a=Date.now(),b=[];for(let[c,d]of f()){if(d.expiresAt<=a){f().delete(c);continue}b.push({ip:c,...d})}return b.sort((a,b)=>b.expiresAt-a.expiresAt)},pruneExpiredProxySessions:function(){let a=Date.now(),b=0;for(let[c,d]of f())d.expiresAt<=a&&(f().delete(c),b+=1);return b},revokeProxySession:function(a){return f().delete(d(a))},revokeProxySessionsForUser:function(a){let b=String(a||"").trim().toLowerCase();if(!b)return 0;let c=0;for(let[a,d]of f())d.userId===b&&(f().delete(a),c+=1);return c},clearAllProxySessions:function(){let a=f().size;return f().clear(),a}}},34196:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},34539:(a,b,c)=>{"use strict";a.exports=c(6796).vendored["react-rsc"].React},34631:a=>{"use strict";a.exports=require("tls")},35770:(a,b,c)=>{"use strict";c.d(b,{mt:()=>i.getSettings,Xx:()=>i.Xx,ek:()=>j.ek}),c(59339),c(55511),c(79748);var d=c(21820),e=c.n(d),f=c(33873),g=c.n(f);let h=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||g().join(e().homedir(),".bluerouter");g().join(h,"resource-monitor-servers.json");var i=c(85304);c(54706);var j=c(98938),k=c(71509);(0,k.U)("modelAliases"),(0,k.U)("customModels"),c(36241);var l=c(58243),m=c.n(l);c(51455),c(76760),c(72045);let n=new Set(["mysql","postgres"]),o={enabled:!1,fileLoggingEnabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30,payloadRotationEnabled:!1,payloadRetentionDays:60,payloadRotationIntervalHours:24,payloadRotationBatchSize:500,payloadRotationMaxBatches:20,usageEventsRotationEnabled:!1,usageEventsRetentionDays:365,usageEventsRotationBatchSize:2e3,usageEventsRotationMaxBatches:50};function p(a={},b={}){let c=String(a?.type||b?.type||o.type).trim().toLowerCase(),d=!!c&&!n.has(c),e=d?o.type:c,f={...o,...b||{},...a||{},type:e};f.enabled=!!f.enabled,f.fileLoggingEnabled=!0===f.fileLoggingEnabled,f.ssl=!!f.ssl,f.createDatabase=!!f.createDatabase,f.logClientRequest=!1!==f.logClientRequest,f.logSourceRequest=!1!==f.logSourceRequest,f.logTargetRequest=!1!==f.logTargetRequest,f.logProviderResponse=!0===f.logProviderResponse,f.logErrors=!1!==f.logErrors;let g=Number(f.retentionDays);f.retentionDays=Number.isFinite(g)&&g>0?Math.floor(g):30;let h=(a,b,c,d)=>{let e=Number(a);return Number.isFinite(e)?Math.min(d,Math.max(c,Math.floor(e))):b};return f.payloadRotationEnabled=!0===f.payloadRotationEnabled,f.payloadRetentionDays=h(f.payloadRetentionDays,60,1,3650),f.payloadRotationIntervalHours=h(f.payloadRotationIntervalHours,24,1,168),f.payloadRotationBatchSize=h(f.payloadRotationBatchSize,500,50,5e3),f.payloadRotationMaxBatches=h(f.payloadRotationMaxBatches,20,1,200),f.usageEventsRotationEnabled=!0===f.usageEventsRotationEnabled,f.usageEventsRetentionDays=h(f.usageEventsRetentionDays,365,1,3650),f.usageEventsRotationBatchSize=h(f.usageEventsRotationBatchSize,2e3,100,2e4),f.usageEventsRotationMaxBatches=h(f.usageEventsRotationMaxBatches,50,1,1e3),"********"===f.password&&(f.password=b?.password||""),f.host=String(f.host||"").trim(),f.port=String(f.port||("postgres"===f.type?"5432":"3306")).trim(),f.database=String(f.database||"").trim(),f.username=String(f.username||"").trim(),f.password=String(f.password||""),!d||f.host||f.database||f.username||(f.enabled=!1),delete f.sqlitePath,f}async function q(){let a=await (0,i.getSettings)();return p(a?.promptLogDb||{})}var r=c(33323);let s=Number(process.env.OBSERVABILITY_MYSQL_MAX_JSON_BYTES||262144),t={expiresAt:0,value:null},u=!1,v=new Set;function w(a,b){v.has(a)||(v.add(a),console.warn(b))}function x(a){if(!a)return"";let b=[];return a.code&&b.push(`code=${a.code}`),a.errno&&b.push(`errno=${a.errno}`),a.sqlState&&b.push(`sqlState=${a.sqlState}`),a.sqlMessage?b.push(a.sqlMessage):a.message&&b.push(a.message),b.filter(Boolean).join(" | ")||String(a)}async function y(a,b){let[c]=await a.query("SELECT COLUMN_NAME AS name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.COLUMN_NAME||"")))}async function z(a,b){let[c]=await a.query("SELECT INDEX_NAME AS name FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.INDEX_NAME||"")))}async function A(a,b,c){let d=await y(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD COLUMN ${f}`),d.add(e))}async function B(a,b,c){let d=await z(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD ${f}`),d.add(e))}async function C(a){await A(a,"usage_events",[["dedupe_key","dedupe_key VARCHAR(96) NULL"],["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["api_key_fingerprint","api_key_fingerprint VARCHAR(120) NULL"],["api_key_id","api_key_id VARCHAR(120) NULL"],["api_key_name","api_key_name VARCHAR(255) NULL"],["api_key_owner","api_key_owner VARCHAR(255) NULL"],["endpoint","endpoint TEXT NULL"],["request_id","request_id VARCHAR(120) NULL"],["session_id","session_id VARCHAR(255) NULL"],["client_ip","client_ip VARCHAR(64) NULL"],["client_ip_normalized","client_ip_normalized VARCHAR(64) NULL"],["client_host","client_host TEXT NULL"],["client_user_agent","client_user_agent TEXT NULL"],["source_tool","source_tool VARCHAR(80) NULL"],["source_tool_label","source_tool_label VARCHAR(120) NULL"],["source_host","source_host VARCHAR(255) NULL"],["latency_ms","latency_ms INT DEFAULT 0"],["ttft_ms","ttft_ms INT DEFAULT 0"],["status_code","status_code INT NULL"],["error_code","error_code VARCHAR(160) NULL"],["error_type","error_type VARCHAR(120) NULL"],["error_message_short","error_message_short TEXT NULL"],["is_streaming","is_streaming TINYINT DEFAULT 0"],["is_combo","is_combo TINYINT DEFAULT 0"],["combo_name","combo_name VARCHAR(255) NULL"],["prompt_tokens","prompt_tokens BIGINT DEFAULT 0"],["completion_tokens","completion_tokens BIGINT DEFAULT 0"],["total_tokens","total_tokens BIGINT DEFAULT 0"],["cached_tokens","cached_tokens BIGINT DEFAULT 0"],["reasoning_tokens","reasoning_tokens BIGINT DEFAULT 0"],["thinking_enabled","thinking_enabled TINYINT NULL"],["thinking_auto_off","thinking_auto_off TINYINT DEFAULT 0"],["thinking_auto_off_reason","thinking_auto_off_reason VARCHAR(120) NULL"],["prompt_chars","prompt_chars BIGINT DEFAULT 0"],["force_thinking_off_above_chars","force_thinking_off_above_chars BIGINT DEFAULT 0"],["cost","cost DECIMAL(18,8) DEFAULT 0"],["status","status VARCHAR(80) NULL"],["tokens_json","tokens_json JSON NULL"],["meta_json","meta_json JSON NULL"]]),await a.query("UPDATE usage_events SET dedupe_key = CONCAT('legacy:', id) WHERE dedupe_key IS NULL OR dedupe_key = ''").catch(()=>{}),await a.query("ALTER TABLE usage_events MODIFY COLUMN dedupe_key VARCHAR(96) NOT NULL").catch(()=>{}),await B(a,"usage_events",[["uq_usage_events_dedupe","UNIQUE KEY uq_usage_events_dedupe (dedupe_key)"],["idx_usage_events_ts","INDEX idx_usage_events_ts (timestamp)"],["idx_usage_events_provider_model","INDEX idx_usage_events_provider_model (provider, model, timestamp)"],["idx_usage_events_status","INDEX idx_usage_events_status (status, status_code, timestamp)"],["idx_usage_events_api_key","INDEX idx_usage_events_api_key (api_key_id, api_key_fingerprint, timestamp)"],["idx_usage_owner_time","INDEX idx_usage_owner_time (api_key_owner, timestamp, id)"],["idx_usage_events_client_ip","INDEX idx_usage_events_client_ip (client_ip_normalized, timestamp)"],["idx_usage_events_source_tool","INDEX idx_usage_events_source_tool (source_tool, timestamp)"],["idx_usage_events_session","INDEX idx_usage_events_session (session_id, timestamp)"],["idx_usage_events_thinking_auto_off","INDEX idx_usage_events_thinking_auto_off (thinking_auto_off, timestamp)"],["idx_usage_events_prompt_chars","INDEX idx_usage_events_prompt_chars (prompt_chars, timestamp)"]]),await A(a,"request_details",[["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["status","status VARCHAR(80) NULL"],["data_json","data_json JSON NULL"],["data_size_bytes","data_size_bytes BIGINT DEFAULT 0"]]),await B(a,"request_details",[["idx_request_details_ts","INDEX idx_request_details_ts (timestamp)"],["idx_request_details_provider","INDEX idx_request_details_provider (provider, timestamp)"],["idx_request_details_model","INDEX idx_request_details_model (model, timestamp)"],["idx_request_details_connection","INDEX idx_request_details_connection (connection_id, timestamp)"],["idx_request_details_status","INDEX idx_request_details_status (status, timestamp)"]])}function D(a){return String(a??"").trim()}function E(a){if(null==a)return null;if("string"==typeof a)try{return JSON.parse(a),a}catch{return JSON.stringify(a)}return(0,r.s)(a)}function F(a){if(null==a)return{};let b=E(a)||"{}";return Buffer.byteLength(b,"utf8")<=s?a:{_truncated:!0,_originalSizeBytes:Buffer.byteLength(b,"utf8"),_preview:b.slice(0,1e3)}}async function G(){let a=Date.now();if(t.value&&t.expiresAt>a)return t.value;try{let b=p(await q());t={value:!0===b.enabled&&"mysql"===b.type&&"false"!==process.env.OBSERVABILITY_MYSQL_ENABLED?b:null,expiresAt:a+5e3}}catch(b){w("config",`[observability-mysql] Unable to read MySQL log config: ${b?.message||b}`),t={value:null,expiresAt:a+5e3}}return t.value}async function H(a){let b=await c.e(8352).then(c.t.bind(c,58352,19)),d=await b.createConnection({host:a.host,port:Number(a.port||3306),database:a.database,user:a.username,password:a.password,ssl:a.ssl?{}:void 0,multipleStatements:!0,dateStrings:!0,connectTimeout:3e3,timezone:"Z"});return await d.query("SET time_zone = '+00:00'"),d}async function I(a){u||(await a.query(`
|
|
12
12
|
CREATE TABLE IF NOT EXISTS usage_events (
|
|
13
13
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
14
14
|
dedupe_key VARCHAR(96) NOT NULL,
|