omniroute 2.0.16 → 2.0.18
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/README.md +9 -9
- package/app/.env +122 -0
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +38 -38
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/required-server-files.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/agents/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +4 -4
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/media/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/.well-known/agent.json/route.js +1 -1
- package/app/.next/server/app/.well-known/agent.json/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page.js +2 -2
- package/app/.next/server/app/400/page.js.nft.json +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page.js +2 -2
- package/app/.next/server/app/401/page.js.nft.json +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page.js +2 -2
- package/app/.next/server/app/403/page.js.nft.json +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page.js +2 -2
- package/app/.next/server/app/408/page.js.nft.json +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page.js +2 -2
- package/app/.next/server/app/429/page.js.nft.json +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page.js +2 -2
- package/app/.next/server/app/500/page.js.nft.json +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page.js +2 -2
- package/app/.next/server/app/502/page.js.nft.json +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page.js +2 -2
- package/app/.next/server/app/503/page.js.nft.json +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page.js +3 -3
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +5 -5
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +5 -5
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +4 -4
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +2 -2
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/a2a/route.js +2 -2
- package/app/.next/server/app/a2a/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/status/route.js +1 -1
- package/app/.next/server/app/api/a2a/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/[id]/cancel/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/[id]/route.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/route.js +1 -1
- package/app/.next/server/app/api/a2a/tasks/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/acp/agents/route.js +1 -1
- package/app/.next/server/app/api/acp/agents/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/status/route.js +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/route.js +1 -1
- package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/stats/route.js +1 -1
- package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw/auto-order/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/auto/route.js +1 -1
- package/app/.next/server/app/api/combos/auto/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/test/route.js +1 -1
- package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/route.js +1 -1
- package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/route.js +1 -1
- package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route.js +2 -2
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/logs/console/route.js +1 -1
- package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/audit/route.js +2 -2
- package/app/.next/server/app/api/mcp/audit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/audit/stats/route.js +2 -2
- package/app/.next/server/app/api/mcp/audit/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/sse/route.js +1 -1
- package/app/.next/server/app/api/mcp/sse/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/status/route.js +1 -1
- package/app/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/stream/route.js +1 -1
- package/app/.next/server/app/api/mcp/stream/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/mcp/tools/route.js +1 -1
- package/app/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js +1 -1
- package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route.js +1 -1
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route.js +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/openrouter-catalog/route.js +1 -1
- package/app/.next/server/app/api/models/openrouter-catalog/route.js.nft.json +1 -1
- package/app/.next/server/app/api/models/openrouter-catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +2 -2
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +2 -2
- package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route.js +2 -2
- package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route.js +1 -1
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-metrics/route.js +2 -2
- package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-models/route.js +1 -1
- package/app/.next/server/app/api/provider-models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route.js +2 -2
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route.js +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +2 -2
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limit/route.js +1 -1
- package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limits/route.js +1 -1
- package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/route.js +1 -1
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/restart/route.js +1 -1
- package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sessions/route.js +1 -1
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/background-degradation/route.js +1 -1
- package/app/.next/server/app/api/settings/background-degradation/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/model-aliases/route.js +1 -1
- package/app/.next/server/app/api/settings/model-aliases/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/storage/health/route.js +1 -1
- package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/token-health/route.js +1 -1
- package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/detect/route.js +1 -1
- package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/history/route.js +1 -1
- package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route.js +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route.js +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route.js +2 -2
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/budget/route.js +2 -2
- package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route.js +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/logs/route.js +1 -1
- package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/quota/route.js +1 -1
- package/app/.next/server/app/api/usage/quota/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route.js +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js +1 -1
- package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/music/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/music/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route.js +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route.js +1 -1
- package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page.js +4 -4
- package/app/.next/server/app/docs/page.js.nft.json +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page.js +2 -2
- package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page.js +2 -2
- package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page.js +2 -2
- package/app/.next/server/app/maintenance/page.js.nft.json +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page.js +2 -2
- package/app/.next/server/app/offline/page.js.nft.json +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page.js +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page.js +2 -2
- package/app/.next/server/app/privacy/page.js.nft.json +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page.js +2 -2
- package/app/.next/server/app/status/page.js.nft.json +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page.js +2 -2
- package/app/.next/server/app/terms/page.js.nft.json +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +38 -38
- package/app/.next/server/chunks/1909.js +2 -0
- package/app/.next/server/chunks/2050.js +1 -1
- package/app/.next/server/chunks/2910.js +1 -1
- package/app/.next/server/chunks/3061.js +2 -0
- package/app/.next/server/chunks/359.js +1 -0
- package/app/.next/server/chunks/3648.js +2 -2
- package/app/.next/server/chunks/438.js +1 -1
- package/app/.next/server/chunks/4488.js +1 -1
- package/app/.next/server/chunks/5419.js +1 -1
- package/app/.next/server/chunks/6743.js +1 -1
- package/app/.next/server/chunks/7109.js +1 -1
- package/app/.next/server/chunks/7167.js +1 -0
- package/app/.next/server/chunks/7544.js +3 -3
- package/app/.next/server/chunks/8020.js +3 -3
- package/app/.next/server/chunks/9548.js +1 -1
- package/app/.next/server/chunks/9854.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +1 -1
- package/app/.next/server/middleware.js +3 -3
- package/app/.next/server/next-font-manifest.js +1 -1
- package/app/.next/server/next-font-manifest.json +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{5846-a5372beacc2c78c4.js → 5846-f681b81611ec64be.js} +1 -1
- package/app/.next/static/chunks/{647-ffe8ad14f7499725.js → 647-549907058cdc88c1.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/a2a/page-ed1f5b1ae0e01c02.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/agents/page-61e2a711247280a5.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-6a2bb3ad980b05b9.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/{page-bef5c045e7eae657.js → page-6ab7701da3357bb9.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-027b3eb09d2d46e0.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-c9b98846b8479f3f.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/auto-combo/{page-8e609f4c9b26a901.js → page-851063ded34ab7a6.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-86acc32f9984a4e2.js +15 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-ac5dcffbe54f77f9.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/{page-7a233357dfbd2e05.js → page-8f6233f59f5277e9.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-36f33de29eb978a1.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/health/{page-66ee4e631429e0d8.js → page-1e1eb2f79d606ab2.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-65334129a8e63369.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-6e4bcb48b8731915.js → page-95e4b5e0bf023d76.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mcp/page-d9b5c3282ec5d809.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-72b768421394b42c.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/{page-d424641c7e428be9.js → page-5378e9473a20cd6a.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-40d20c1273f57206.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/playground/{page-25e333c3c3c88920.js → page-a8b59a29fb924d18.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-350aed2e86512c23.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{error-0400f175dd1372fa.js → error-a5ae03ba05400b04.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/loading-7deaa9f550841465.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-3ef302da4b756e50.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-87f0d43ce6cca0cb.js → page-cd0feb6c545b8a49.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{error-c39d18f10fb7d3f6.js → error-ec9643134a96bbcd.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{loading-b5faf05c78a2cc54.js → loading-3519a633b514f31a.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/{page-6b38a30bfddf3b89.js → page-cbaa4b638a583fe9.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-a4b8b03ffb39da1d.js → page-69eb8b0eb0e9de00.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/{page-9168bf910743b2f5.js → page-10c186a0db5fde20.js} +2 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-8c8f2d59d0cbb516.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/{layout-6d0afc53f5f2a538.js → layout-7ae0c66c22bee8a1.js} +1 -1
- package/app/.next/static/chunks/app/400/{page-3b77bf358909019a.js → page-3b9079ea400ca287.js} +1 -1
- package/app/.next/static/chunks/app/401/{page-3b77bf358909019a.js → page-3b9079ea400ca287.js} +1 -1
- package/app/.next/static/chunks/app/403/{page-3b77bf358909019a.js → page-3b9079ea400ca287.js} +1 -1
- package/app/.next/static/chunks/app/408/{page-3b77bf358909019a.js → page-3b9079ea400ca287.js} +1 -1
- package/app/.next/static/chunks/app/429/page-3b9079ea400ca287.js +1 -0
- package/app/.next/static/chunks/app/500/page-3b9079ea400ca287.js +1 -0
- package/app/.next/static/chunks/app/502/page-3b9079ea400ca287.js +1 -0
- package/app/.next/static/chunks/app/503/page-3b9079ea400ca287.js +1 -0
- package/app/.next/static/chunks/app/callback/{page-585a53f7dc6a30f1.js → page-0f0ebc0820dd18a5.js} +1 -1
- package/app/.next/static/chunks/app/docs/{page-9624e5fb8cabf7d8.js → page-dc88e0a01d291518.js} +1 -1
- package/app/.next/static/chunks/app/{error-f7f595c541537e63.js → error-32c03f14529d3920.js} +1 -1
- package/app/.next/static/chunks/app/forbidden/page-8d8e1709a1e32585.js +1 -0
- package/app/.next/static/chunks/app/forgot-password/page-d5c9b77748aa9deb.js +1 -0
- package/app/.next/static/chunks/app/global-error-5840b1caa830f2ec.js +1 -0
- package/app/.next/static/chunks/app/landing/page-75b0c988db383cfc.js +1 -0
- package/app/.next/static/chunks/app/{layout-108592eafb959363.js → layout-070972eb026af319.js} +1 -1
- package/app/.next/static/chunks/app/{loading-e063375d5b12a2f7.js → loading-da2f6e1471afc070.js} +1 -1
- package/app/.next/static/chunks/app/login/{page-cf6b82187b09a701.js → page-26d717c652d56032.js} +1 -1
- package/app/.next/static/chunks/app/maintenance/page-3b9079ea400ca287.js +1 -0
- package/app/.next/static/chunks/app/not-found-faf36d2a9a452506.js +1 -0
- package/app/.next/static/chunks/app/offline/page-bf68bf461af876a3.js +1 -0
- package/app/.next/static/chunks/app/privacy/{page-9624e5fb8cabf7d8.js → page-dc88e0a01d291518.js} +1 -1
- package/app/.next/static/chunks/app/status/page-29a433b40631ce12.js +1 -0
- package/app/.next/static/chunks/app/terms/{page-9624e5fb8cabf7d8.js → page-dc88e0a01d291518.js} +1 -1
- package/app/.next/static/chunks/{main-app-c9da11a8061df107.js → main-app-ae230f6bf51a5edb.js} +1 -1
- package/app/.next/static/css/6c29b0b06ee238ca.css +1 -0
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next/server/chunks/1033.js +0 -2
- package/app/.next/server/chunks/5248.js +0 -1
- package/app/.next/server/chunks/7889.js +0 -2
- package/app/.next/static/chunks/app/(dashboard)/dashboard/a2a/page-43d6fa6b75cca497.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/agents/page-19a12c8a9e5ddcd0.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/loading-49ae846d72948391.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-16f886b3711a6a50.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-d1e5ed188e14c618.js +0 -15
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/page-8d4d2f071d114b90.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-7b1037d65eef97a8.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-2def921499d2ce60.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/mcp/page-8e35334b9f393139.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/media/page-1d0ca9b5d3eaf7cd.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-d75ccdb976b36258.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-7aa887699971d87f.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/loading-9552383fd2e11282.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-d57908b59d4b482c.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9e20463252daf023.js +0 -1
- package/app/.next/static/chunks/app/429/page-3b77bf358909019a.js +0 -1
- package/app/.next/static/chunks/app/500/page-3b77bf358909019a.js +0 -1
- package/app/.next/static/chunks/app/502/page-3b77bf358909019a.js +0 -1
- package/app/.next/static/chunks/app/503/page-3b77bf358909019a.js +0 -1
- package/app/.next/static/chunks/app/forbidden/page-b33079c1573b0bfa.js +0 -1
- package/app/.next/static/chunks/app/forgot-password/page-90cd6259c75badfc.js +0 -1
- package/app/.next/static/chunks/app/global-error-1dfd1c91ad5199fe.js +0 -1
- package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +0 -1
- package/app/.next/static/chunks/app/maintenance/page-3b77bf358909019a.js +0 -1
- package/app/.next/static/chunks/app/not-found-511518956bcae7bc.js +0 -1
- package/app/.next/static/chunks/app/offline/page-9d6ea493783a0219.js +0 -1
- package/app/.next/static/chunks/app/status/page-4e5e9b5a513aa474.js +0 -1
- package/app/.next/static/css/778938813292961d.css +0 -1
- /package/app/.next/static/{piuY84EaxcZW0JuCL2lkI → oJH-NekiejGQxE2GMyfeY}/_buildManifest.js +0 -0
- /package/app/.next/static/{piuY84EaxcZW0JuCL2lkI → oJH-NekiejGQxE2GMyfeY}/_ssgManifest.js +0 -0
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
@level, @levelId, @provider, @targetUrl, @publicIp, @latencyMs, @error,
|
|
6
6
|
@connectionId, @comboId, @account, @tlsFingerprint)`).run({id:b.id,timestamp:b.timestamp,status:b.status,proxyType:b.proxy?.type||null,proxyHost:b.proxy?.host||null,proxyPort:b.proxy?.port?Number(b.proxy.port):null,level:b.level,levelId:b.levelId,provider:b.provider,targetUrl:b.targetUrl,publicIp:b.publicIp,latencyMs:b.latencyMs,error:b.error,connectionId:b.connectionId,comboId:b.comboId,account:b.account,tlsFingerprint:+!!b.tlsFingerprint});let c=a.prepare("SELECT COUNT(*) as cnt FROM proxy_logs").get()?.cnt||0;c>g&&a.prepare(`DELETE FROM proxy_logs WHERE id IN (
|
|
7
7
|
SELECT id FROM proxy_logs ORDER BY timestamp ASC LIMIT ?
|
|
8
|
-
)`).run(c-g)}catch(a){console.warn("[proxyLogger] Failed to persist:",a.message)}return b}function j(a={}){let b=[...h];if(a.status&&(b="ok"===a.status?b.filter(a=>"success"===a.status):b.filter(b=>b.status===a.status)),a.type&&(b=b.filter(b=>b.proxy?.type===a.type)),a.provider&&(b=b.filter(b=>b.provider===a.provider)),a.level&&(b=b.filter(b=>b.level===a.level)),a.search){let c=a.search.toLowerCase();b=b.filter(a=>(a.proxy?.host||"").toLowerCase().includes(c)||(a.provider||"").toLowerCase().includes(c)||(a.targetUrl||"").toLowerCase().includes(c)||(a.publicIp||"").toLowerCase().includes(c)||(a.level||"").toLowerCase().includes(c)||(a.error||"").toLowerCase().includes(c)||(a.account||"").toLowerCase().includes(c))}let c=a.limit||300;return b.slice(0,c)}function k(){if(h.length=0,f)try{(0,e.sm)().prepare("DELETE FROM proxy_logs").run()}catch(a){console.warn("[proxyLogger] Failed to clear DB:",a.message)}}},44963:(a,b,c)=>{c.d(b,{AF:()=>j,of:()=>e,u9:()=>i});var d=c(22901);let e=process.env.CLOUD_URL||
|
|
8
|
+
)`).run(c-g)}catch(a){console.warn("[proxyLogger] Failed to persist:",a.message)}return b}function j(a={}){let b=[...h];if(a.status&&(b="ok"===a.status?b.filter(a=>"success"===a.status):b.filter(b=>b.status===a.status)),a.type&&(b=b.filter(b=>b.proxy?.type===a.type)),a.provider&&(b=b.filter(b=>b.provider===a.provider)),a.level&&(b=b.filter(b=>b.level===a.level)),a.search){let c=a.search.toLowerCase();b=b.filter(a=>(a.proxy?.host||"").toLowerCase().includes(c)||(a.provider||"").toLowerCase().includes(c)||(a.targetUrl||"").toLowerCase().includes(c)||(a.publicIp||"").toLowerCase().includes(c)||(a.level||"").toLowerCase().includes(c)||(a.error||"").toLowerCase().includes(c)||(a.account||"").toLowerCase().includes(c))}let c=a.limit||300;return b.slice(0,c)}function k(){if(h.length=0,f)try{(0,e.sm)().prepare("DELETE FROM proxy_logs").run()}catch(a){console.warn("[proxyLogger] Failed to clear DB:",a.message)}}},44963:(a,b,c)=>{c.d(b,{AF:()=>j,of:()=>e,u9:()=>i});var d=c(22901);let e=process.env.CLOUD_URL||"https://cloud.omniroute.online",f=Number(process.env.CLOUD_SYNC_TIMEOUT_MS||12e3);function g(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function h(a){if("string"==typeof a||"number"==typeof a||a instanceof Date){let b=new Date(a).getTime();return Number.isFinite(b)?b:0}return 0}async function i(a,b={},c=f){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}async function j(a,b=null){let c;if(!e)return{error:"NEXT_PUBLIC_CLOUD_URL is not configured"};let f=await (0,d.getProviderConnections)(),g=await (0,d.OM)(),h=await (0,d.Uv)(),l=await (0,d.PX)();try{c=await i(`${e}/sync/${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providers:f,modelAliases:g,combos:h,apiKeys:l})})}catch(a){return{error:a?.name==="AbortError"?"Cloud sync timeout":"Cloud sync request failed"}}if(!c.ok){let a=await c.text(),b=a.length>200?a.slice(0,200)+"…":a;return console.log(`Cloud sync failed (${c.status}):`,b),{error:"Cloud sync failed"}}let m=await c.json();m.data&&m.data.providers&&await k(m.data.providers);let n={success:!0,message:"Synced successfully",changes:m.changes};return b&&(n.createdKey=b),n}async function k(a){let b=g(a);for(let a of(await (0,d.getProviderConnections)())){var c;let e=g(a),f="string"==typeof(c=e.id)&&c.trim().length>0?c:null;if(!f)continue;let i=g(b[f]);if(0!==Object.keys(i).length){if(h(i.updatedAt)>h(e.updatedAt)){let a={accessToken:i.accessToken,refreshToken:i.refreshToken,expiresAt:i.expiresAt,expiresIn:i.expiresIn,providerSpecificData:i.providerSpecificData||e.providerSpecificData,testStatus:i.status||"active",lastError:i.lastError,lastErrorAt:i.lastErrorAt,errorCode:i.errorCode,rateLimitedUntil:i.rateLimitedUntil,updatedAt:i.updatedAt};await (0,d.rj)(f,a)}}}}},76340:(a,b,c)=>{let d,e;c.d(b,{Wk:()=>t,jf:()=>q,qT:()=>s});var f=c(16698),g=c(79522);try{let a=c(22546);d="function"==typeof a.createSession?a.createSession:null}catch{d=null}class h{constructor(){this.session=null,this.available=!!d}async getSession(){if(!this.available)return null;if(this.session)return this.session;let a=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,b={browser:"chrome_124",os:"macos"};return a&&(b.proxy=a,console.log(`[TlsClient] Using proxy: ${a}`)),this.session=await d(b),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){let c=await this.getSession();if(!c)throw Error("wreq-js not available");let d={method:(b.method||"GET").toUpperCase(),headers:function(a){if(!a)return;if(a instanceof Headers)return Object.fromEntries(a.entries());if(Array.isArray(a))return Object.fromEntries(a.map(([a,b])=>[a,String(b)]));let b={};for(let[c,d]of Object.entries(a))"string"==typeof d&&(b[c]=d);return b}(b.headers),body:b.body,redirect:"manual"===b.redirect?"manual":"follow"};return b.signal&&(d.signal=b.signal),await c.fetch(a,d)}async exit(){this.session&&(await this.session.close(),this.session=null)}}let i=new h;function j(){return"true"===process.env.ENABLE_TLS_FINGERPRINT}let k=new f.AsyncLocalStorage,l="u">typeof caches&&"object"==typeof caches,m=Symbol.for("omniroute.proxyFetch.state"),n=((e=globalThis)[m]||(e[m]={originalFetch:globalThis.fetch,proxyContext:new f.AsyncLocalStorage,isPatched:!1}),e[m]),o=n.originalFetch,p=n.proxyContext;async function q(a,b){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let c=a?(0,g.HN)(a):null;return p.run(a||null,async()=>(c&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,g.OK)(c)}`),b()))}async function r(a,b={}){let c;if(b?.dispatcher)return o(a,b);let d="string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a);try{c=function(a){let b=p.getStore();if(b)return{source:"context",proxyUrl:(0,g.HN)(b)};let c=function(a){let b;if(function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(!c)return!1;try{b=new URL(a)}catch{return!1}let d=b.hostname.toLowerCase(),e=b.port||("https:"===b.protocol?"443":"80");return c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");return(!c||c===e)&&!!b&&(b.startsWith(".")?d.endsWith(b)||d===b.slice(1):d===b||d.endsWith(`.${b}`))})}(a))return null;try{b=new URL(a).protocol}catch{return null}let c="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;return c?(0,g.zP)(c,"environment proxy"):null}(a);return c?{source:"env",proxyUrl:c}:{source:"direct",proxyUrl:null}}(d)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:e,proxyUrl:f}=c;if(!f){if(j()&&i.available)try{let a=k.getStore();return a&&(a.used=!0),await i.fetch(d,{...b,headers:b.headers})}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=k.getStore();b&&(b.used=!1)}return o(a,b)}try{let c=(0,g.I_)(f);return await o(a,{...b,dispatcher:c})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${e}, fail-closed): ${a}`),b}}async function s(a){let b={used:!1};return{result:await k.run(b,a),tlsFingerprintUsed:b.used}}function t(){return j()&&i.available}l||n.isPatched||(globalThis.fetch=r,n.isPatched=!0)},79522:(a,b,c)=>{c.d(b,{HN:()=>p,I_:()=>q,L8:()=>i,OK:()=>n,QX:()=>m,zP:()=>o});var d=c(47774),e=c(20406);let f=Symbol.for("omniroute.proxyDispatcher.cache"),g=new Set(["http:","https:","socks5:"]);function h(){let a=globalThis;return a[f]||(a[f]=new Map),a[f]}function i(){h().clear()}function j(a){try{let b=a.match(/:\/\/(?:[^@]*@)?[^:/\s]+:(\d+)/);if(b){let a=Number(b[1]);if(Number.isInteger(a)&&a>=1&&a<=65535)return String(a)}}catch{}return null}function k(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function l(a,b){if(!a)return k(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function m(){return"true"===process.env.ENABLE_SOCKS5_PROXY}function n(a){let b=j(a),c=new URL(a),d=b||c.port||k(c.protocol);return`${c.protocol}//${c.hostname}:${d}`}function o(a,b="proxy",{allowSocks5:c=m()}={}){var d;let e,f,h=j(a);try{e=new URL(a)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!g.has(e.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${e.protocol.replace(":","")}`);if("socks5:"===e.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!e.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);let i=h||l(e.port,e.protocol);return f=(d=e).username?`${d.username}${d.password?`:${d.password}`:""}@`:"",`${d.protocol}//${f}${d.hostname}:${i}`}function p(a,{allowSocks5:b=m()}={}){if(!a)return null;if("string"==typeof a)return o(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");let c=String(a.type||"http").toLowerCase(),d=`${c}:`;if(!g.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (set ENABLE_SOCKS5_PROXY=true to enable)");if(!a.host)throw Error("[ProxyDispatcher] Context proxy host is required");let e=l(a.port,d),f=a.username?`${encodeURIComponent(a.username)}:${a.password?encodeURIComponent(a.password):""}@`:"";return o(`${c}://${f}${a.host}:${e}`,"context proxy",{allowSocks5:b})}function q(a){let b=o(a,"proxy dispatcher"),c=h(),f=c.get(b);if(f)return f;let g=new URL(b),i=j(b)||l(g.port,g.protocol);if("socks5:"===g.protocol){let a={type:5,host:g.hostname,port:Number(i)};g.username&&(a.userId=decodeURIComponent(g.username)),g.password&&(a.password=decodeURIComponent(g.password)),f=(0,e.vI)(a)}else f=new d.ProxyAgent(b);return c.set(b,f),f}},90357:(a,b,c)=>{c.d(b,{Xj:()=>e});var d=c(19713);async function e(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt";try{let a=(0,d.machineIdSync)();return(await Promise.resolve().then(c.t.bind(c,55511,23))).createHash("sha256").update(a+b).digest("hex").substring(0,16)}catch(a){return console.log("Error getting machine ID:",a),crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=7167,exports.ids=[7167],exports.modules={15102:(a,b,c)=>{c.d(b,{Uk:()=>f,bV:()=>e,lw:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"gpt-image-1",name:"GPT Image 1"},{id:"dall-e-3",name:"DALL-E 3"},{id:"dall-e-2",name:"DALL-E 2"}],supportedSizes:["1024x1024","1024x1792","1792x1024","256x256","512x512"]},xai:{id:"xai",baseUrl:"https://api.x.ai/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"grok-2-image-1212",name:"Grok 2 Image"}],supportedSizes:["1024x1024"]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/FLUX.1.1-pro",name:"FLUX 1.1 Pro"},{id:"black-forest-labs/FLUX.1-schnell-Free",name:"FLUX 1 Schnell (Free)"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["1024x1024","512x512"]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"accounts/fireworks/models/flux-1-dev-fp8",name:"FLUX 1 Dev FP8"},{id:"accounts/fireworks/models/stable-diffusion-xl-1024-v1-0",name:"SDXL 1024 v1.0"}],supportedSizes:["1024x1024","512x512"]},antigravity:{id:"antigravity",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"oauth",authHeader:"bearer",format:"gemini-image",models:[{id:"gemini-2.5-flash-preview-image-generation",name:"Nano Banana"}],supportedSizes:["1024x1024"]},nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/images/generations",fallbackUrl:"https://api.studio.nebius.com/v1/images/generations",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"black-forest-labs/flux-schnell",name:"FLUX.1 Schnell"},{id:"black-forest-labs/flux-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/image/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"SDXL1.0-base",name:"SDXL 1.0 Base"},{id:"SD2",name:"Stable Diffusion 2"},{id:"FLUX.1-dev",name:"FLUX.1 Dev"}],supportedSizes:["1024x1024","512x512"]},nanobanana:{id:"nanobanana",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",proUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate-pro",statusUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info",authType:"apikey",authHeader:"bearer",format:"nanobanana",models:[{id:"nanobanana-flash",name:"NanoBanana Flash (Gemini 2.5 Flash)"},{id:"nanobanana-pro",name:"NanoBanana Pro (Gemini 3 Pro)"}],supportedSizes:["1024x1024","1024x1280","1024x1536","1536x1024","1280x1024"]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860/sdapi/v1/txt2img",authType:"none",authHeader:"none",format:"sdwebui",models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0"}],supportedSizes:["512x512","768x768","1024x1024"]},comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"flux-dev",name:"FLUX Dev"},{id:"sdxl",name:"SDXL"}],supportedSizes:["512x512","768x768","1024x1024"]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};for(let[b,c]of Object.entries(d))if(c.models.some(b=>b.id===a))return{provider:b,model:a};return{provider:null,model:a}}function g(){let a=[];for(let[b,c]of Object.entries(d))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,supportedSizes:c.supportedSizes});return a}},39548:(a,b,c)=>{c.d(b,{k:()=>g});var d=c(15102),e=c(19704),f=c(92310);async function g({body:a,credentials:b,log:c,resolvedProvider:e=null}){let f,g;if(e){f=e;let b=a.model||"";g=b.startsWith(f+"/")?b.slice(f.length+1):b}else{let b=(0,d.Uk)(a.model);f=b.provider,g=b.model}if(!f)return{success:!1,status:400,error:`Invalid image model: ${a.model}. Use format: provider/model`};let j=(0,d.bV)(f);if(!j){if(!e)return{success:!1,status:400,error:`Unknown image provider: ${f}`};c&&c.info("IMAGE",`Custom model ${f}/${g} — using OpenAI-compatible handler`);let d={id:f,baseUrl:b?.baseUrl||"https://generativelanguage.googleapis.com/v1beta/openai/images/generations",authType:"apikey",authHeader:"bearer",format:"openai"};return i({model:g,provider:f,providerConfig:d,body:a,credentials:b,log:c})}return"gemini-image"===j.format?h({model:g,providerConfig:j,body:a,credentials:b,log:c}):"hyperbolic"===j.format?k({model:g,provider:f,providerConfig:j,body:a,credentials:b,log:c}):"nanobanana"===j.format?l({model:g,provider:f,providerConfig:j,body:a,credentials:b,log:c}):"sdwebui"===j.format?o({model:g,provider:f,providerConfig:j,body:a,log:c}):"comfyui"===j.format?p({model:g,provider:f,providerConfig:j,body:a,log:c}):i({model:g,provider:f,providerConfig:j,body:a,credentials:b,log:c})}async function h({model:a,providerConfig:b,body:c,credentials:d,log:f}){let g=Date.now(),h=`${b.baseUrl}/${a}:generateContent`,i="antigravity",j={model:c.model,prompt:"string"==typeof c.prompt?c.prompt.slice(0,200):String(c.prompt??"").slice(0,200),size:c.size||"default",n:c.n||1},k={contents:[{parts:[{text:c.prompt}]}],generationConfig:{responseModalities:["TEXT","IMAGE"]}},l=d.accessToken||d.apiKey,m={"Content-Type":"application/json",Authorization:`Bearer ${l}`};if(f){let b="string"==typeof c.prompt?c.prompt.slice(0,60):String(c.prompt??"").slice(0,60);f.info("IMAGE",`antigravity/${a} (gemini) | prompt: "${b}..." | format: gemini-image`)}try{let b=await fetch(h,{method:"POST",headers:m,body:JSON.stringify(k)});if(!b.ok){let c=await b.text();return f&&f.error("IMAGE",`antigravity error ${b.status}: ${c.slice(0,200)}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:b.status,model:`antigravity/${a}`,provider:i,duration:Date.now()-g,error:c.slice(0,500),requestBody:j}).catch(()=>{}),{success:!1,status:b.status,error:c}}let d=await b.json(),l=[];for(let a of d.candidates||[]){let b=a.content?.parts||[];for(let a of b)a.inlineData&&l.push({b64_json:a.inlineData.data,revised_prompt:b.find(a=>a.text)?.text||c.prompt})}return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:200,model:`antigravity/${a}`,provider:i,duration:Date.now()-g,tokens:{prompt_tokens:0,completion_tokens:0},requestBody:j,responseBody:{images_count:l.length}}).catch(()=>{}),{success:!0,data:{created:Math.floor(Date.now()/1e3),data:l}}}catch(b){return f&&f.error("IMAGE",`antigravity fetch error: ${b.message}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`antigravity/${a}`,provider:i,duration:Date.now()-g,error:b.message,requestBody:j}).catch(()=>{}),{success:!1,status:502,error:`Image provider error: ${b.message}`}}}async function i({model:a,provider:b,providerConfig:c,body:d,credentials:f,log:g}){let h=Date.now(),i={model:d.model,prompt:"string"==typeof d.prompt?d.prompt.slice(0,200):String(d.prompt??"").slice(0,200),size:d.size||"default",n:d.n||1,quality:d.quality||void 0},k={model:a,prompt:d.prompt};void 0!==d.n&&(k.n=d.n),void 0!==d.size&&(k.size=d.size),void 0!==d.quality&&(k.quality=d.quality),void 0!==d.response_format&&(k.response_format=d.response_format),void 0!==d.style&&(k.style=d.style);let l={"Content-Type":"application/json"},m=f.apiKey||f.accessToken;if("bearer"===c.authHeader?l.Authorization=`Bearer ${m}`:"x-api-key"===c.authHeader&&(l["x-api-key"]=m),g){let c="string"==typeof d.prompt?d.prompt.slice(0,60):String(d.prompt??"").slice(0,60);g.info("IMAGE",`${b}/${a} | prompt: "${c}..." | size: ${d.size||"default"}`)}let n=JSON.stringify(k),o=await j(c.baseUrl,l,n,b,g);return!o.success&&c.fallbackUrl&&[404,410,502,503].includes(o.status)&&(g&&g.info("IMAGE",`${b}: primary URL failed (${o.status}), trying fallback...`),o=await j(c.fallbackUrl,l,n,b,g)),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:o.status||(o.success?200:502),model:`${b}/${a}`,provider:b,duration:Date.now()-h,tokens:{prompt_tokens:0,completion_tokens:0},error:o.success?null:"string"==typeof o.error?o.error.slice(0,500):null,requestBody:i,responseBody:o.success?{images_count:o.data?.data?.length||0}:null}).catch(()=>{}),o}async function j(a,b,c,d,e){try{let f=await fetch(a,{method:"POST",headers:b,body:c});if(!f.ok){let a=await f.text();return e&&e.error("IMAGE",`${d} error ${f.status}: ${a.slice(0,200)}`),{success:!1,status:f.status,error:a}}let g=await f.json();return{success:!0,data:{created:g.created||Math.floor(Date.now()/1e3),data:g.data||[]}}}catch(a){return e&&e.error("IMAGE",`${d} fetch error: ${a.message}`),{success:!1,status:502,error:`Image provider error: ${a.message}`}}}async function k({model:a,provider:b,providerConfig:c,body:d,credentials:f,log:g}){let h=Date.now(),i=f.apiKey||f.accessToken,[j,k]=(d.size||"1024x1024").split("x").map(Number),l={model_name:a,prompt:d.prompt,height:k||1024,width:j||1024,backend:"auto"};if(g){let c=String(d.prompt??"").slice(0,60);g.info("IMAGE",`${b}/${a} (hyperbolic) | prompt: "${c}..."`)}try{let f=await fetch(c.baseUrl,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(l)});if(!f.ok){let c=await f.text();return g&&g.error("IMAGE",`${b} error ${f.status}: ${c.slice(0,200)}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:f.status,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c.slice(0,500)}).catch(()=>{}),{success:!1,status:f.status,error:c}}let j=((await f.json()).images||[]).map(a=>({b64_json:a.image,revised_prompt:d.prompt}));return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:200,model:`${b}/${a}`,provider:b,duration:Date.now()-h,responseBody:{images_count:j.length}}).catch(()=>{}),{success:!0,data:{created:Math.floor(Date.now()/1e3),data:j}}}catch(c){return g&&g.error("IMAGE",`${b} fetch error: ${c.message}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c.message}).catch(()=>{}),{success:!1,status:502,error:`Image provider error: ${c.message}`}}}async function l({model:a,provider:b,providerConfig:c,body:d,credentials:f,log:g}){let h=Date.now(),i=f.apiKey||f.accessToken,j="nanobanana-pro"===a,k=j&&c.proUrl?c.proUrl:c.baseUrl,l=c.statusUrl,o="string"==typeof d.aspectRatio?d.aspectRatio:"string"==typeof d.aspect_ratio?d.aspect_ratio:function(a){if("string"!=typeof a)return null;let[b,c]=a.split("x"),d=Number(b),e=Number(c);if(!Number.isFinite(d)||!Number.isFinite(e)||d<=0||e<=0)return null;let f=(a,b)=>0===b?a:f(b,a%b),g=f(Math.round(d),Math.round(e));return`${Math.round(d/g)}:${Math.round(e/g)}`}(d.size)||"1:1",p="string"==typeof d.resolution?d.resolution:function(a){if("string"!=typeof a)return null;let[b,c]=a.split("x"),d=Number(b),e=Number(c);if(!Number.isFinite(d)||!Number.isFinite(e)||d<=0||e<=0)return null;let f=Math.max(d,e);return f<=1024?"1K":f<=2048?"2K":"4K"}(d.size)||"1K";"hd"===d.quality&&"1K"===p&&(p="2K");let q=j?{prompt:d.prompt,resolution:p,aspectRatio:o,...Array.isArray(d.imageUrls)?{imageUrls:d.imageUrls}:{}}:{prompt:d.prompt,type:Array.isArray(d.imageUrls)&&d.imageUrls.length>0?"IMAGETOIAMGE":"TEXTTOIAMGE",numImages:Number.isFinite(d.n)?Math.max(1,Number(d.n)):1,image_size:o,...Array.isArray(d.imageUrls)?{imageUrls:d.imageUrls}:{}};if(g){let c=String(d.prompt??"").slice(0,60);g.info("IMAGE",`${b}/${a} (nanobanana ${j?"pro":"flash"}) | prompt: "${c}..."`)}try{let c=await fetch(k,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(q)});if(!c.ok){let d=await c.text();return g&&g.error("IMAGE",`${b} submit error ${c.status}: ${d.slice(0,200)}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:c.status,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:d.slice(0,500)}).catch(()=>{}),{success:!1,status:c.status,error:d}}let f=await c.json();if(f?.image||Array.isArray(f?.images)||Array.isArray(f?.data)||f?.data?.[0]?.url||f?.data?.[0]?.b64_json){let c=function(a,b){let c=[];if(a.image)c.push({b64_json:a.image,revised_prompt:b});else if(Array.isArray(a.images))for(let d of a.images)c.push({b64_json:"string"==typeof d?d:d?.image||d?.data,revised_prompt:b});else if(Array.isArray(a.data))for(let b of a.data)b&&c.push(b);return{data:c.filter(Boolean)}}(f,d.prompt);return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:200,model:`${b}/${a}`,provider:b,duration:Date.now()-h,responseBody:{images_count:c.data?.length||0,mode:"sync"}}).catch(()=>{}),{success:!0,data:{created:Math.floor(Date.now()/1e3),data:c.data}}}let j=f?.data?.taskId||f?.taskId;if(!j){let c=`NanoBanana submit did not return taskId: ${JSON.stringify(f).slice(0,400)}`;return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c}).catch(()=>{}),{success:!1,status:502,error:c}}if(!l){let c="NanoBanana statusUrl is not configured";return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:500,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c}).catch(()=>{}),{success:!1,status:500,error:c}}let o=n(d.timeout_ms,n(process.env.NANOBANANA_POLL_TIMEOUT_MS,12e4)),p=n(d.poll_interval_ms,n(process.env.NANOBANANA_POLL_INTERVAL_MS,2500)),r=null,s=Date.now()+o;for(;Date.now()<s;){let c=await fetch(`${l}?taskId=${encodeURIComponent(j)}`,{method:"GET",headers:{Authorization:`Bearer ${i}`}});if(!c.ok){let a=await c.text();return g&&g.error("IMAGE",`${b} poll error ${c.status}: ${a.slice(0,200)}`),{success:!1,status:c.status,error:a}}let f=await c.json(),k=f?.data||f;r=k;let n=Number(k?.successFlag);if(1===n){let c=await m(k,d,g);return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:200,model:`${b}/${a}`,provider:b,duration:Date.now()-h,responseBody:{images_count:c.length,mode:"async",taskId:j}}).catch(()=>{}),{success:!0,data:{created:Math.floor(Date.now()/1e3),data:c}}}if(2===n||3===n){let c=k?.errorMessage||`NanoBanana task failed (successFlag=${String(n)})`;return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c.slice(0,500),responseBody:{taskId:j,successFlag:n,errorCode:k?.errorCode??null}}).catch(()=>{}),{success:!1,status:502,error:c}}await function(a){return new Promise(b=>setTimeout(b,a))}(p)}let t=`NanoBanana task timeout after ${o}ms (taskId=${j}, successFlag=${String(r?.successFlag??"unknown")})`;return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:504,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:t,responseBody:{taskId:j,lastSuccessFlag:r?.successFlag??null}}).catch(()=>{}),{success:!1,status:504,error:t}}catch(c){return g&&g.error("IMAGE",`${b} fetch error: ${c.message}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c.message}).catch(()=>{}),{success:!1,status:502,error:`Image provider error: ${c.message}`}}}async function m(a,b,c){let d=a?.response||{},e=[d?.resultImageUrl,d?.originImageUrl,a?.resultImageUrl,a?.originImageUrl].filter(a=>"string"==typeof a&&a.length>0);if(Array.isArray(d?.resultImageUrls))for(let a of d.resultImageUrls)"string"==typeof a&&a.length>0&&e.push(a);let f=[d?.resultImageBase64,d?.resultImage,a?.resultImageBase64,a?.resultImage].filter(a=>"string"==typeof a&&a.length>0);if(Array.isArray(d?.resultImageBase64List))for(let a of d.resultImageBase64List)"string"==typeof a&&a.length>0&&f.push(a);if("b64_json"===b.response_format){if(f.length>0)return f.map(a=>({b64_json:a,revised_prompt:b.prompt}));if(e.length>0){let a=e[0],c=await fetch(a);if(!c.ok)throw Error(`Failed to fetch NanoBanana result image URL (${c.status})`);let d=await c.arrayBuffer();return[{b64_json:Buffer.from(d).toString("base64"),revised_prompt:b.prompt}]}}return e.length>0?e.map(a=>({url:a,revised_prompt:b.prompt})):f.length>0?f.map(a=>({b64_json:a,revised_prompt:b.prompt})):(c&&c.warn("IMAGE",`NanoBanana task completed without image payload: ${JSON.stringify(a).slice(0,240)}`),[])}function n(a,b){let c=Number(a);return!Number.isFinite(c)||c<=0?b:Math.floor(c)}async function o({model:a,provider:b,providerConfig:c,body:d,log:f}){let g=Date.now(),[h,i]=(d.size||"512x512").split("x").map(Number),j={prompt:d.prompt,negative_prompt:d.negative_prompt||"",width:h||512,height:i||512,steps:d.steps||20,cfg_scale:d.cfg_scale||7,sampler_name:d.sampler||"Euler a",batch_size:d.n||1,override_settings:{sd_model_checkpoint:a}};if(f){let c=String(d.prompt??"").slice(0,60);f.info("IMAGE",`${b}/${a} (sdwebui) | prompt: "${c}..."`)}try{let h=await fetch(c.baseUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)});if(!h.ok){let c=await h.text();return f&&f.error("IMAGE",`${b} error ${h.status}: ${c.slice(0,200)}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:h.status,model:`${b}/${a}`,provider:b,duration:Date.now()-g,error:c.slice(0,500)}).catch(()=>{}),{success:!1,status:h.status,error:c}}let i=((await h.json()).images||[]).map(a=>({b64_json:a,revised_prompt:d.prompt}));return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:200,model:`${b}/${a}`,provider:b,duration:Date.now()-g,responseBody:{images_count:i.length}}).catch(()=>{}),{success:!0,data:{created:Math.floor(Date.now()/1e3),data:i}}}catch(c){return f&&f.error("IMAGE",`${b} sdwebui error: ${c.message}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`${b}/${a}`,provider:b,duration:Date.now()-g,error:c.message}).catch(()=>{}),{success:!1,status:502,error:`Image provider error: ${c.message}`}}}async function p({model:a,provider:b,providerConfig:c,body:d,log:g}){let h=Date.now(),[i,j]=(d.size||"1024x1024").split("x").map(Number),k={3:{class_type:"KSampler",inputs:{seed:Math.floor(0x100000000*Math.random()),steps:d.steps||20,cfg:d.cfg_scale||7,sampler_name:"euler",scheduler:"normal",denoise:1,model:["4",0],positive:["6",0],negative:["7",0],latent_image:["5",0]}},4:{class_type:"CheckpointLoaderSimple",inputs:{ckpt_name:a}},5:{class_type:"EmptyLatentImage",inputs:{width:i||1024,height:j||1024,batch_size:d.n||1}},6:{class_type:"CLIPTextEncode",inputs:{text:d.prompt,clip:["4",1]}},7:{class_type:"CLIPTextEncode",inputs:{text:d.negative_prompt||"",clip:["4",1]}},8:{class_type:"VAEDecode",inputs:{samples:["3",0],vae:["4",2]}},9:{class_type:"SaveImage",inputs:{filename_prefix:"omniroute",images:["8",0]}}};if(g){let c=String(d.prompt??"").slice(0,60);g.info("IMAGE",`${b}/${a} (comfyui) | prompt: "${c}..."`)}try{let g=await (0,f.ep)(c.baseUrl,k),i=await (0,f.VA)(c.baseUrl,g),j=(0,f.AC)(i),l=[];for(let a of j){let b=await (0,f.Uh)(c.baseUrl,a.filename,a.subfolder,a.type),e=Buffer.from(b).toString("base64");l.push({b64_json:e,revised_prompt:d.prompt})}return(0,e.gK)({method:"POST",path:"/v1/images/generations",status:200,model:`${b}/${a}`,provider:b,duration:Date.now()-h,responseBody:{images_count:l.length}}).catch(()=>{}),{success:!0,data:{created:Math.floor(Date.now()/1e3),data:l}}}catch(c){return g&&g.error("IMAGE",`${b} comfyui error: ${c.message}`),(0,e.gK)({method:"POST",path:"/v1/images/generations",status:502,model:`${b}/${a}`,provider:b,duration:Date.now()-h,error:c.message}).catch(()=>{}),{success:!1,status:502,error:`Image provider error: ${c.message}`}}}}};
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
`))}}k>=1e3&&console.warn("[Kiro] Max iterations reached in event parsing")},flush(a){if(!g.finishEmitted){g.finishEmitted=!0;let c={id:e,object:"chat.completion.chunk",created:f,model:b,choices:[{index:0,delta:{},finish_reason:g.hasToolCalls?"tool_calls":"stop"}]};a.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
|
|
14
14
|
|
|
15
|
-
`))}a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}});return new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b)}catch(c){let a=c instanceof Error?c:Error(String(c));return b?.error?.("TOKEN",`Kiro refresh error: ${a.message}`),null}}}},37544:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>n});var e=c(14938),f=c(24978),g=c(39033),h=c(71751),i=c(36589),j=c(93831),k=c(93792),l=c(18221);c(39859);var m=a([k]);k=(m.then?(await m)():m)[0];let o={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,kiro:new i.B,codex:new j.T,cursor:new k.o,cu:new k.o},p=new Map;function n(a){return o[a]?o[a]:(p.has(a)||p.set(a,new l.L(a)),p.get(a))}d()}catch(a){d(a)}})},39033:(a,b,c)=>{c.d(b,{x:()=>g});var d=c(39859),e=c(60293),f=c(23969);class g extends d.H{constructor(){super("github",e.xq.github)}buildUrl(a,b,c=0){return"openai-responses"===(0,f.ux)("gh",a)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-request-id":crypto.randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:b?"text/event-stream":"application/json"}}async refreshCopilotToken(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":"GithubCopilot/1.0","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot/1.300.0",Accept:"application/json"}});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b){try{let c=await fetch(e.NA.github.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:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b){let c=await this.refreshCopilotToken(a.accessToken,b);if(!c&&a.refreshToken){let d=await this.refreshGitHubToken(a.refreshToken,b);if(d?.accessToken)return(c=await this.refreshCopilotToken(d.accessToken,b))?{...d,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:d}return c?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},39859:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(60293),e=c(78103);class f{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=("string"==typeof d?.providerSpecificData?.baseUrl?d.providerSpecificData.baseUrl:"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=this.config?.id||this.provider;if(d){let a=`${d.toUpperCase().replace(/[^A-Z0-9]/g,"_")}_USER_AGENT`,b=process.env[a]?.trim();b&&(c["User-Agent"]=b,c["user-agent"]&&(c["user-agent"]=b))}return a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h}){let i=this.getFallbackCount(),j=null,k=0;for(let l=0;l<i;l++){let m=this.buildUrl(a,c,l,f),n=this.buildHeaders(f,c),o=this.transformRequest(a,b,c,f);try{let a=c?null:AbortSignal.timeout(d.MT),b=g&&a?function(a,b){let c=new AbortController,d=()=>{c.signal.aborted||c.abort()};return a.aborted||b.aborted?d():(a.addEventListener("abort",d,{once:!0}),b.addEventListener("abort",d,{once:!0})),c.signal}(g,a):g||a,f=n,i=JSON.stringify(o);if((0,e.IL)(this.provider)){let a=(0,e.BI)(this.provider,n,o);f=a.headers,i=a.bodyString}let j={method:"POST",headers:f,body:i};b&&(j.signal=b);let p=await fetch(m,j);if(this.shouldRetry(p.status,l)){h?.debug?.("RETRY",`${p.status} on ${m}, trying fallback ${l+1}`),k=p.status;continue}return{response:p,url:m,headers:n,transformedBody:o}}catch(b){let a=b instanceof Error?b:Error(String(b));if("TimeoutError"===a.name&&h?.warn?.("TIMEOUT",`Fetch timeout after ${d.MT}ms on ${m}`),j=a,l+1<i){h?.debug?.("RETRY",`Error on ${m}, trying fallback ${l+1}`);continue}throw a}}throw j||Error(`All ${i} URLs failed with status ${k}`)}}},50101:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>n,O9:()=>g,OF:()=>m,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(19704),e=c(55120);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}return a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens?i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}):a.usageMetadata&&"object"==typeof a.usageMetadata?i({prompt_tokens:a.usageMetadata?.promptTokenCount||0,completion_tokens:a.usageMetadata?.candidatesTokenCount||0,total_tokens:a.usageMetadata?.totalTokenCount,cached_tokens:a.usageMetadata?.cachedContentTokenCount,reasoning_tokens:a.usageMetadata?.thoughtsTokenCount}):null}function l(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function m(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=l(JSON.stringify(f))}else c=l(JSON.stringify(a));return c+b}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.ceil(b/3.5)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function n(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens;m&&(l+=` | cache_read=${m}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={input:i,output:j,cacheRead:m||0,cacheCreation:o||0,reasoning:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,apiKeyId:g?.id||void 0,apiKeyName:g?.name||void 0,tokens:q}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},51082:(a,b,c)=>{c.d(b,{CP:()=>p,yI:()=>m});var d=c(94755),e=c(74075),f=c.n(e);let g=(a,...b)=>console.log(`[PROTOBUF:${a}]`,...b),h="1.1.3",i=new Set([1,2,3,9,10,11,27,1,25]);function j(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function k(a,b,c){let d=j(a<<3|b);if(0===b)return l(d,j(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return l(d,j(a.length),a)}return new Uint8Array(0)}function l(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function m(a,b,c=[],e=null){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}`);let h=function(a,b,c=[],e=null){return k(1,2,function(a,b,c=[],e=null){let f,g=c?.length>0,h=[],i=[];for(let b=0;b<a.length;b++){let c=a[b],e="user"===c.role?1:2,f=(0,d.A)(),j=b===a.length-1;h.push({content:c.content,role:e,messageId:f,isLast:j,hasTools:g,toolResults:c.tool_results||[]}),i.push({messageId:f,role:e})}let m=0;return"medium"===e?m=1:"high"===e&&(m=2),l(...h.map(a=>k(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[]){return l(k(1,2,a),k(2,0,b),k(13,2,c),...g.length>0?g.map(a=>{let b,c,d,e;return k(18,2,(b=a.tool_call_id||"",c=a.name||"",d=a.index||0,e=a.raw_args||"{}",l(k(1,2,b),k(2,2,c),k(3,0,d),k(5,2,e))))}):[],k(29,0,+!!f),k(47,0,f?2:1),...e&&f?[k(51,2,j(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),k(2,0,1),k(3,2,new Uint8Array(0)),k(4,0,1),k(5,2,l(k(1,2,b),k(4,2,new Uint8Array(0)))),k(8,2,""),k(13,0,1),k(15,2,(f=l(k(1,2,new Uint8Array(0)),k(2,2,new Uint8Array(0))),l(k(1,2,"cursor\\aisettings"),k(3,2,new Uint8Array(0)),k(6,2,f),k(8,0,1),k(9,0,1)))),k(19,0,1),k(23,2,(0,d.A)()),k(26,2,l(k(1,2,process.platform||"linux"),k(2,2,process.arch||"x64"),k(3,2,process.version||"v20.0.0"),k(4,2,process.cwd?.()||"/"),k(5,2,new Date().toISOString()))),k(27,0,+!!g),...g?[k(29,2,j(1))]:[],...i.map(a=>k(30,2,function(a,b,c=null){return l(k(1,2,a),...c?[k(2,2,c)]:[],k(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return k(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},l(...b?[k(1,2,b)]:[],...c?[k(2,2,c)]:[],...Object.keys(d).length>0?[k(3,2,JSON.stringify(d))]:[],k(4,2,"custom"))))}):[],k(35,0,0),k(38,0,0),k(46,0,g?2:1),k(47,2,""),k(48,0,+!g),k(49,0,m),k(51,0,0),k(53,0,1),k(54,2,g?"Agent":"Ask"))}(a,b,c,e))}(a,b,c,e),i=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(h,!1);return g("BODY",`Protobuf=${h.length}B, Framed=${i.length}B`),i}function n(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function o(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=n(a,b),f=7&d,g=e;if(0===f)[c,g]=n(a,g);else if(2===f){let[b,d]=n(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function p(a){try{let b=o(a);for(let a of b.keys())i.has(a)||g("SCHEMA",`Unknown response field #${a} detected. Schema v${h} may be outdated.`);if(b.has(1)){let a=function(a){let b=o(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=o(b.get(27)[0].value);if(a.has(1)){let b=o(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){g("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return g("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=o(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=o(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return g("EXTRACT",`Decode failed (schema v${h}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71751:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(39859),g=c(60293);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${e().randomUUID()}`,d=Date.now(),f=this.config.headers?.["User-Agent"]||"iFlow-Cli",g=a.apiKey||a.accessToken||"",h=this.createIFlowSignature(f,c,d,g),i={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":h};return a.apiKey?i.Authorization=`Bearer ${a.apiKey}`:a.accessToken&&(i.Authorization=`Bearer ${a.accessToken}`),b&&(i.Accept="text/event-stream"),i}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return b}}},78103:(a,b,c)=>{c.d(b,{BI:()=>e,IL:()=>h,fT:()=>g});let d={codex:{headerOrder:["Host","Content-Type","Authorization","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","messages","temperature","top_p","max_tokens","stream","tools","tool_choice","response_format","n","stop"],userAgent:"codex-cli"},claude:{headerOrder:["Host","Content-Type","x-api-key","anthropic-version","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","max_tokens","messages","system","temperature","top_p","top_k","stream","tools","tool_choice","metadata"],userAgent:"claude-code"},github:{headerOrder:["Host","Authorization","X-Request-Id","Vscode-Sessionid","Vscode-Machineid","Editor-Version","Editor-Plugin-Version","Copilot-Integration-Id","Openai-Organization","Openai-Intent","Content-Type","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["messages","model","temperature","top_p","max_tokens","n","stream","intent","intent_threshold","intent_content"],userAgent:"GitHubCopilotChat"},antigravity:{headerOrder:["Host","Content-Type","Authorization","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["project","model","userAgent","requestType","requestId","request"],userAgent:"antigravity"}};function e(a,b,c){let e=d[a?.toLowerCase()];return e?(e.userAgent&&(b["User-Agent"]=e.userAgent),e.extraHeaders&&Object.assign(b,e.extraHeaders),{headers:function(a,b){if(!b?.length||!a)return a;let c={},d=new Map;for(let[b,c]of Object.entries(a))d.set(b.toLowerCase(),[b,c]);for(let a of b){let b=d.get(a.toLowerCase());b&&(c[b[0]]=b[1],d.delete(a.toLowerCase()))}for(let[,[a,b]]of d)c[a]=b;return c}(b,e.headerOrder),bodyString:JSON.stringify(c&&"object"==typeof c&&!Array.isArray(c)?function(a,b){if(!b?.length||!a||"object"!=typeof a)return a;let c={},d=new Set(Object.keys(a));for(let e of b)e in a&&(c[e]=a[e],d.delete(e));for(let b of d)c[b]=a[b];return c}(c,e.bodyFieldOrder):c)}):{headers:b,bodyString:JSON.stringify(c)}}let f=new Set;function g(a){f=new Set((a||[]).map(a=>a.toLowerCase()))}function h(a){let b=a?.toLowerCase().replace(/[^a-z0-9]/g,"_");if(f.has(a?.toLowerCase()))return!0;let c=`CLI_COMPAT_${b?.toUpperCase()}`;return"1"===process.env[c]||"true"===process.env[c]||"1"===process.env.CLI_COMPAT_ALL||"true"===process.env.CLI_COMPAT_ALL}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){i=i||0;for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},93792:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>r});var e=c(39859),f=c(60293),g=c(51082),h=c(50101),i=c(55120),j=c(92773),k=c(55511),l=c.n(k),m=c(85081),n=c(74075),o=c.n(n);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}function p(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return console.log("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return o().gunzipSync(a)}catch(c){console.log(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, error=${c.message}`),console.log("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex")),console.log("[DECOMPRESS ERROR] First 50 bytes (utf8):",a.slice(0,50).toString("utf8").replace(/[^\x20-\x7E]/g,"."))}return a}function q(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?f.gx.RATE_LIMITED:f.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class r extends e.H{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath||""}`}generateChecksum(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");let e=b.includes("::")?b.split("::")[1]:b;return{authorization:`Bearer ${e}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${l().randomUUID()}`,"x-client-key":l().createHash("sha256").update(e).digest("hex"),"x-cursor-checksum":this.generateChecksum(c),"x-cursor-client-version":"2.3.41","x-cursor-client-type":"ide","x-cursor-client-os":"win32"===process.platform?"windows":"darwin"===process.platform?"macos":"linux","x-cursor-client-arch":"arm64"===process.arch?"aarch64":"x64","x-cursor-client-device-type":"desktop","x-cursor-config-version":l().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":d?"true":"false","x-request-id":l().randomUUID(),"x-session-id":(0,m.Ay)(e,m.Ay.DNS)}}transformRequest(a,b,c,d){let e=(0,j.k)(a,b,c,d),f=e.messages||[],h=e.tools||b.tools||[],i=b.reasoning_effort||null;return(0,g.yI)(f,a,h,i)}async makeFetchRequest(a,b,c,d){let e=await fetch(a,{method:"POST",headers:b,body:c,signal:d});return{status:e.status,headers:Object.fromEntries(e.headers.entries()),body:Buffer.from(await e.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((g,h)=>{let i=new URL(b),j=a.connect(`https://${i.host}`),k=[],l={};j.on("error",h);let m=j.request({":method":"POST",":path":i.pathname,":authority":i.host,":scheme":"https",...c});m.on("response",a=>{l=a}),m.on("data",a=>{k.push(a)}),m.on("end",()=>{j.close(),g({status:"number"==typeof l[":status"]?l[":status"]:Number(l[":status"]||f.gx.SERVER_ERROR),headers:l,body:Buffer.concat(k)})}),m.on("error",a=>{j.close(),h(a)}),e&&e.addEventListener("abort",()=>{m.close(),j.close(),h(Error("Request aborted"))}),m.write(d),m.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:g,log:h}){let i=this.buildUrl(),j=this.buildHeaders(e),k=this.transformRequest(b,c,d,e);try{let e=a?await this.makeHttp2Request(i,j,k,g):await this.makeFetchRequest(i,j,k,g);if(200!==e.status){let a=e.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${e.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:e.status,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(e.body,b,c):this.transformProtobufToJSON(e.body,b,c),url:i,headers:j,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:f.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=0,k="",l=[],m=new Map,n=0;for(console.log(`[CURSOR BUFFER] Total length: ${a.length} bytes`);j<a.length;){if(j+5>a.length){console.log(`[CURSOR BUFFER] Reached end, offset=${j}, remaining=${a.length-j}`);break}let b=a[j],c=a.readUInt32BE(j+1);if(console.log(`[CURSOR BUFFER] Frame ${n+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),j+5+c>a.length){console.log(`[CURSOR BUFFER] Incomplete frame, offset=${j}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(j+5,j+5+c);if(j+=5+c,n++,!(d=p(d,b))){console.log(`[CURSOR BUFFER] Frame ${n}: decompression failed, skipping`);continue}try{let a=d.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let e=(0,g.CP)(new Uint8Array(d));if(console.log(`[CURSOR DECODED] Frame ${n}:`,e),e.error)return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(e.toolCall){let a=e.toolCall;if(m.has(a.id)){let b=m.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else m.set(a.id,{...a});if(a.isLast){let b=m.get(a.id);l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(k+=e.text)}for(let[a,b]of(console.log(`[CURSOR BUFFER] Parsed ${n} frames, toolCallsMap size: ${m.size}, finalized toolCalls: ${l.length}`),m.entries()))l.find(b=>b.id===a)||(console.log(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));console.log(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let o={role:"assistant",content:k||null};l.length>0&&(o.tool_calls=l);let r=(0,h.OF)(c,k.length,i.h.OPENAI),s={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:o,finish_reason:l.length>0?"tool_calls":"stop"}],usage:r};return new Response(JSON.stringify(s),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=[],k=0,l="",m=[],n=new Map,o=0;for(console.log(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);k<a.length;){if(k+5>a.length){console.log(`[CURSOR BUFFER SSE] Reached end, offset=${k}, remaining=${a.length-k}`);break}let c=a[k],h=a.readUInt32BE(k+1);if(console.log(`[CURSOR BUFFER SSE] Frame ${o+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${h}`),k+5+h>a.length){console.log(`[CURSOR BUFFER SSE] Incomplete frame, offset=${k}, length=${h}, buffer.length=${a.length}`);break}let i=a.slice(k+5,k+5+h);if(k+=5+h,o++,!(i=p(i,c))){console.log(`[CURSOR BUFFER SSE] Frame ${o}: decompression failed, skipping`);continue}try{let a=i.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let r=(0,g.CP)(new Uint8Array(i));if(console.log(`[CURSOR DECODED SSE] Frame ${o}:`,r),r.error)return new Response(JSON.stringify({error:{message:r.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(r.toolCall){let a=r.toolCall;if(0===j.length&&j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
|
|
15
|
+
`))}a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}});return new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{return await (0,g.Ql)(a.refreshToken,a.providerSpecificData,b)}catch(c){let a=c instanceof Error?c:Error(String(c));return b?.error?.("TOKEN",`Kiro refresh error: ${a.message}`),null}}}},37544:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>n});var e=c(14938),f=c(24978),g=c(39033),h=c(71751),i=c(36589),j=c(93831),k=c(93792),l=c(18221);c(39859);var m=a([k]);k=(m.then?(await m)():m)[0];let o={antigravity:new e.c,"gemini-cli":new f.V,github:new g.x,iflow:new h.r,kiro:new i.B,codex:new j.T,cursor:new k.o,cu:new k.o},p=new Map;function n(a){return o[a]?o[a]:(p.has(a)||p.set(a,new l.L(a)),p.get(a))}d()}catch(a){d(a)}})},39033:(a,b,c)=>{c.d(b,{x:()=>g});var d=c(39859),e=c(60293),f=c(23969);class g extends d.H{constructor(){super("github",e.xq.github)}buildUrl(a,b,c=0){return"openai-responses"===(0,f.ux)("gh",a)?this.config.responsesBaseUrl||this.config.baseUrl?.replace(/\/chat\/completions\/?$/,"/responses")||"https://api.githubcopilot.com/responses":this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":"vscode/1.107.1","editor-plugin-version":"copilot-chat/0.26.7","user-agent":"GitHubCopilotChat/0.26.7","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-request-id":crypto.randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:b?"text/event-stream":"application/json"}}async refreshCopilotToken(a,b){try{let c=await fetch("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":"GithubCopilot/1.0","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot/1.300.0",Accept:"application/json"}});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b){try{let c=await fetch(e.NA.github.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:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return null;let d=await c.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b){let c=await this.refreshCopilotToken(a.accessToken,b);if(!c&&a.refreshToken){let d=await this.refreshGitHubToken(a.refreshToken,b);if(d?.accessToken)return(c=await this.refreshCopilotToken(d.accessToken,b))?{...d,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:d}return c?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:c.token,copilotTokenExpiresAt:c.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},39859:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(60293),e=c(78103);class f{constructor(a,b){this.provider=a,this.config=b}getProvider(){return this.provider}getBaseUrls(){return this.config.baseUrls||(this.config.baseUrl?[this.config.baseUrl]:[])}getFallbackCount(){return this.getBaseUrls().length||1}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=("string"==typeof d?.providerSpecificData?.baseUrl?d.providerSpecificData.baseUrl:"https://api.openai.com/v1").replace(/\/$/,""),b=this.provider.includes("responses")?"/responses":"/chat/completions";return`${a}${b}`}let e=this.getBaseUrls();return e[c]||e[0]||this.config.baseUrl}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=this.config?.id||this.provider;if(d){let a=`${d.toUpperCase().replace(/[^A-Z0-9]/g,"_")}_USER_AGENT`,b=process.env[a]?.trim();b&&(c["User-Agent"]=b,c["user-agent"]&&(c["user-agent"]=b))}return a.accessToken?c.Authorization=`Bearer ${a.accessToken}`:a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}shouldRetry(a,b){return a===d.gx.RATE_LIMITED&&b+1<this.getFallbackCount()}async refreshCredentials(a,b){return null}needsRefresh(a){return!!a.expiresAt&&new Date(a.expiresAt).getTime()-Date.now()<3e5}parseError(a,b){return{status:a.status,message:b||`HTTP ${a.status}`}}async execute({model:a,body:b,stream:c,credentials:f,signal:g,log:h}){let i=this.getFallbackCount(),j=null,k=0;for(let l=0;l<i;l++){let m=this.buildUrl(a,c,l,f),n=this.buildHeaders(f,c),o=this.transformRequest(a,b,c,f);try{let a=c?null:AbortSignal.timeout(d.MT),b=g&&a?function(a,b){let c=new AbortController,d=()=>{c.signal.aborted||c.abort()};return a.aborted||b.aborted?d():(a.addEventListener("abort",d,{once:!0}),b.addEventListener("abort",d,{once:!0})),c.signal}(g,a):g||a,f=n,i=JSON.stringify(o);if((0,e.IL)(this.provider)){let a=(0,e.BI)(this.provider,n,o);f=a.headers,i=a.bodyString}let j={method:"POST",headers:f,body:i};b&&(j.signal=b);let p=await fetch(m,j);if(this.shouldRetry(p.status,l)){h?.debug?.("RETRY",`${p.status} on ${m}, trying fallback ${l+1}`),k=p.status;continue}return{response:p,url:m,headers:n,transformedBody:o}}catch(b){let a=b instanceof Error?b:Error(String(b));if("TimeoutError"===a.name&&h?.warn?.("TIMEOUT",`Fetch timeout after ${d.MT}ms on ${m}`),j=a,l+1<i){h?.debug?.("RETRY",`Error on ${m}, trying fallback ${l+1}`);continue}throw a}}throw j||Error(`All ${i} URLs failed with status ${k}`)}}},50101:(a,b,c)=>{c.d(b,{Gh:()=>j,IF:()=>n,O9:()=>g,OF:()=>m,WL:()=>h,f5:()=>k,lm:()=>f});var d=c(19704),e=c(55120);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"};function g(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function h(a,b){if(!a||"object"!=typeof a)return a;let c={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},d=c[b];b===e.h.GEMINI_CLI||b===e.h.ANTIGRAVITY?d=c[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?d=c[e.h.OPENAI_RESPONSES]:d||(d=c.default);let f={};for(let b of d)void 0!==a[b]&&(f[b]=a[b]);return f}function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function j(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function k(a){if(!a||"object"!=typeof a)return null;if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage)return i({prompt_tokens:a.usage.input_tokens||0,completion_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens});if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return i({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens})}return a.usage&&"object"==typeof a.usage&&void 0!==a.usage.prompt_tokens?i({prompt_tokens:a.usage.prompt_tokens,completion_tokens:a.usage.completion_tokens||0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens}):a.usageMetadata&&"object"==typeof a.usageMetadata?i({prompt_tokens:a.usageMetadata?.promptTokenCount||0,completion_tokens:a.usageMetadata?.candidatesTokenCount||0,total_tokens:a.usageMetadata?.totalTokenCount,cached_tokens:a.usageMetadata?.cachedContentTokenCount,reasoning_tokens:a.usageMetadata?.thoughtsTokenCount}):null}function l(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function m(a,b,c=e.h.OPENAI){var d,f;return d=function(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=l(JSON.stringify(f))}else c=l(JSON.stringify(a));return c+b}catch(a){return 0}}(a),f=b&&!(b<=0)?Math.max(1,Math.ceil(b/3.5)):0,c===e.h.CLAUDE?g({input_tokens:d,output_tokens:f,estimated:!0}):g({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function n(a,b,c=null,e=null,g=null){if(!b||"object"!=typeof b)return;let h=a?.toUpperCase()||"UNKNOWN",i=b?.prompt_tokens||b?.input_tokens||0,j=b?.completion_tokens||b?.output_tokens||0,k=e?e.slice(0,8)+"...":"unknown",l=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 ${f.green}[USAGE] ${h} | in=${i} | out=${j} | account=${k}${f.reset}`;b.estimated&&(l+=` ${f.yellow}(estimated)${f.reset}`);let m=b.cache_read_input_tokens||b.cached_tokens;m&&(l+=` | cache_read=${m}`);let o=b.cache_creation_input_tokens;o&&(l+=` | cache_create=${o}`);let p=b.reasoning_tokens;p&&(l+=` | reasoning=${p}`),console.log(l);let q={input:i,output:j,cacheRead:m||0,cacheCreation:o||0,reasoning:p||0};(0,d.sZ)({model:c,provider:a,connectionId:e,apiKeyId:g?.id||void 0,apiKeyName:g?.name||void 0,tokens:q}).catch(()=>{}),(0,d.E5)({model:c,provider:a,connectionId:e,tokens:q,status:"200 OK"}).catch(()=>{})}},51082:(a,b,c)=>{c.d(b,{CP:()=>p,yI:()=>m});var d=c(94755),e=c(74075),f=c.n(e);let g=(a,...b)=>console.log(`[PROTOBUF:${a}]`,...b),h="1.1.3",i=new Set([1,2,3,9,10,11,27,1,25]);function j(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function k(a,b,c){let d=j(a<<3|b);if(0===b)return l(d,j(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return l(d,j(a.length),a)}return new Uint8Array(0)}function l(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function m(a,b,c=[],e=null){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${e||"none"}`);let h=function(a,b,c=[],e=null){return k(1,2,function(a,b,c=[],e=null){let f,g=c?.length>0,h=[],i=[];for(let b=0;b<a.length;b++){let c=a[b],e="user"===c.role?1:2,f=(0,d.A)(),j=b===a.length-1;h.push({content:c.content,role:e,messageId:f,isLast:j,hasTools:g,toolResults:c.tool_results||[]}),i.push({messageId:f,role:e})}let m=0;return"medium"===e?m=1:"high"===e&&(m=2),l(...h.map(a=>k(1,2,function(a,b,c,d=null,e=!1,f=!1,g=[]){return l(k(1,2,a),k(2,0,b),k(13,2,c),...g.length>0?g.map(a=>{let b,c,d,e;return k(18,2,(b=a.tool_call_id||"",c=a.name||"",d=a.index||0,e=a.raw_args||"{}",l(k(1,2,b),k(2,2,c),k(3,0,d),k(5,2,e))))}):[],k(29,0,+!!f),k(47,0,f?2:1),...e&&f?[k(51,2,j(1))]:[])}(a.content,a.role,a.messageId,null,a.isLast,a.hasTools,a.toolResults))),k(2,0,1),k(3,2,new Uint8Array(0)),k(4,0,1),k(5,2,l(k(1,2,b),k(4,2,new Uint8Array(0)))),k(8,2,""),k(13,0,1),k(15,2,(f=l(k(1,2,new Uint8Array(0)),k(2,2,new Uint8Array(0))),l(k(1,2,"cursor\\aisettings"),k(3,2,new Uint8Array(0)),k(6,2,f),k(8,0,1),k(9,0,1)))),k(19,0,1),k(23,2,(0,d.A)()),k(26,2,l(k(1,2,process.platform||"linux"),k(2,2,process.arch||"x64"),k(3,2,process.version||"v20.0.0"),k(4,2,process.cwd?.()||"/"),k(5,2,new Date().toISOString()))),k(27,0,+!!g),...g?[k(29,2,j(1))]:[],...i.map(a=>k(30,2,function(a,b,c=null){return l(k(1,2,a),...c?[k(2,2,c)]:[],k(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return k(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},l(...b?[k(1,2,b)]:[],...c?[k(2,2,c)]:[],...Object.keys(d).length>0?[k(3,2,JSON.stringify(d))]:[],k(4,2,"custom"))))}):[],k(35,0,0),k(38,0,0),k(46,0,g?2:1),k(47,2,""),k(48,0,+!g),k(49,0,m),k(51,0,0),k(53,0,1),k(54,2,g?"Agent":"Ask"))}(a,b,c,e))}(a,b,c,e),i=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(f().gzipSync(Buffer.from(a))),d=1);let e=new Uint8Array(5+c.length);return e[0]=d,e[1]=c.length>>24&255,e[2]=c.length>>16&255,e[3]=c.length>>8&255,e[4]=255&c.length,e.set(c,5),e}(h,!1);return g("BODY",`Protobuf=${h.length}B, Framed=${i.length}B`),i}function n(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function o(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=n(a,b),f=7&d,g=e;if(0===f)[c,g]=n(a,g);else if(2===f){let[b,d]=n(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function p(a){try{let b=o(a);for(let a of b.keys())i.has(a)||g("SCHEMA",`Unknown response field #${a} detected. Schema v${h} may be outdated.`);if(b.has(1)){let a=function(a){let b=o(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=o(b.get(27)[0].value);if(a.has(1)){let b=o(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){g("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return g("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=o(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=o(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return g("EXTRACT",`Decode failed (schema v${h}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71751:(a,b,c)=>{c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(39859),g=c(60293);class h extends f.H{constructor(){super("iflow",g.xq.iflow)}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${e().randomUUID()}`,d=Date.now(),f=this.config.headers?.["User-Agent"]||"iFlow-Cli",g=a.apiKey||a.accessToken||"",h=this.createIFlowSignature(f,c,d,g),i={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":h};return a.apiKey?i.Authorization=`Bearer ${a.apiKey}`:a.accessToken&&(i.Authorization=`Bearer ${a.accessToken}`),b&&(i.Accept="text/event-stream"),i}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return b}}},78103:(a,b,c)=>{c.d(b,{BI:()=>e,IL:()=>h,fT:()=>g});let d={codex:{headerOrder:["Host","Content-Type","Authorization","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","messages","temperature","top_p","max_tokens","stream","tools","tool_choice","response_format","n","stop"],userAgent:"codex-cli"},claude:{headerOrder:["Host","Content-Type","x-api-key","anthropic-version","Accept","User-Agent","Accept-Encoding"],bodyFieldOrder:["model","max_tokens","messages","system","temperature","top_p","top_k","stream","tools","tool_choice","metadata"],userAgent:"claude-code"},github:{headerOrder:["Host","Authorization","X-Request-Id","Vscode-Sessionid","Vscode-Machineid","Editor-Version","Editor-Plugin-Version","Copilot-Integration-Id","Openai-Organization","Openai-Intent","Content-Type","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["messages","model","temperature","top_p","max_tokens","n","stream","intent","intent_threshold","intent_content"],userAgent:"GitHubCopilotChat"},antigravity:{headerOrder:["Host","Content-Type","Authorization","User-Agent","Accept","Accept-Encoding"],bodyFieldOrder:["project","model","userAgent","requestType","requestId","request"],userAgent:"antigravity"}};function e(a,b,c){let e=d[a?.toLowerCase()];return e?(e.userAgent&&(b["User-Agent"]=e.userAgent),e.extraHeaders&&Object.assign(b,e.extraHeaders),{headers:function(a,b){if(!b?.length||!a)return a;let c={},d=new Map;for(let[b,c]of Object.entries(a))d.set(b.toLowerCase(),[b,c]);for(let a of b){let b=d.get(a.toLowerCase());b&&(c[b[0]]=b[1],d.delete(a.toLowerCase()))}for(let[,[a,b]]of d)c[a]=b;return c}(b,e.headerOrder),bodyString:JSON.stringify(c&&"object"==typeof c&&!Array.isArray(c)?function(a,b){if(!b?.length||!a||"object"!=typeof a)return a;let c={},d=new Set(Object.keys(a));for(let e of b)e in a&&(c[e]=a[e],d.delete(e));for(let b of d)c[b]=a[b];return c}(c,e.bodyFieldOrder):c)}):{headers:b,bodyString:JSON.stringify(c)}}let f=new Set;function g(a){f=new Set((a||[]).map(a=>a.toLowerCase()))}function h(a){let b=a?.toLowerCase().replace(/[^a-z0-9]/g,"_");if(f.has(a?.toLowerCase()))return!0;let c=`CLI_COMPAT_${b?.toUpperCase()}`;return"1"===process.env[c]||"true"===process.env[c]||"1"===process.env.CLI_COMPAT_ALL||"true"===process.env.CLI_COMPAT_ALL}},85081:(a,b,c)=>{c.d(b,{Ay:()=>j});var d=c(77598);let e=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,d.createHash)("sha1").update(a).digest()},f=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,g=function(a){let b;if(!("string"==typeof a&&f.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var h=c(50122);function i(a,b,c,d){var f=b,i=d;let j="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof f?g(f):f;if("string"==typeof f&&(f=g(f)),f?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+j.length);if(l.set(k),l.set(j,k.length),(l=e(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){i=i||0;for(let a=0;a<16;++a)c[i+a]=l[a];return c}return(0,h.k)(l)}i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let j=i},93792:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>r});var e=c(39859),f=c(60293),g=c(51082),h=c(50101),i=c(55120),j=c(92773),k=c(55511),l=c.n(k),m=c(85081),n=c(74075),o=c.n(n);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}function p(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return console.log("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return o().gunzipSync(a)}catch(c){try{return o().inflateSync(a)}catch(d){try{return o().inflateRawSync(a)}catch(e){console.log(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),console.log("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex")),console.log("[DECOMPRESS ERROR] First 50 bytes (utf8):",a.slice(0,50).toString("utf8").replace(/[^\x20-\x7E]/g,"."))}}}return a}function q(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?f.gx.RATE_LIMITED:f.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class r extends e.H{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath||""}`}generateChecksum(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");let e=b.includes("::")?b.split("::")[1]:b;return{authorization:`Bearer ${e}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${l().randomUUID()}`,"x-client-key":l().createHash("sha256").update(e).digest("hex"),"x-cursor-checksum":this.generateChecksum(c),"x-cursor-client-version":"2.3.41","x-cursor-client-type":"ide","x-cursor-client-os":"win32"===process.platform?"windows":"darwin"===process.platform?"macos":"linux","x-cursor-client-arch":"arm64"===process.arch?"aarch64":"x64","x-cursor-client-device-type":"desktop","x-cursor-config-version":l().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":d?"true":"false","x-request-id":l().randomUUID(),"x-session-id":(0,m.Ay)(e,m.Ay.DNS)}}transformRequest(a,b,c,d){let e=(0,j.k)(a,b,c,d),f=e.messages||[],h=e.tools||b.tools||[],i=b.reasoning_effort||null;return(0,g.yI)(f,a,h,i)}async makeFetchRequest(a,b,c,d){let e=await fetch(a,{method:"POST",headers:b,body:c,signal:d});return{status:e.status,headers:Object.fromEntries(e.headers.entries()),body:Buffer.from(await e.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((g,h)=>{let i=new URL(b),j=a.connect(`https://${i.host}`),k=[],l={};j.on("error",h);let m=j.request({":method":"POST",":path":i.pathname,":authority":i.host,":scheme":"https",...c});m.on("response",a=>{l=a}),m.on("data",a=>{k.push(a)}),m.on("end",()=>{j.close(),g({status:"number"==typeof l[":status"]?l[":status"]:Number(l[":status"]||f.gx.SERVER_ERROR),headers:l,body:Buffer.concat(k)})}),m.on("error",a=>{j.close(),h(a)}),e&&e.addEventListener("abort",()=>{m.close(),j.close(),h(Error("Request aborted"))}),m.write(d),m.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:g,log:h}){let i=this.buildUrl(),j=this.buildHeaders(e),k=this.transformRequest(b,c,d,e);try{let e=a?await this.makeHttp2Request(i,j,k,g):await this.makeFetchRequest(i,j,k,g);if(200!==e.status){let a=e.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${e.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:e.status,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(e.body,b,c):this.transformProtobufToJSON(e.body,b,c),url:i,headers:j,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:f.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:i,headers:j,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=0,k="",l=[],m=new Map,n=0;for(console.log(`[CURSOR BUFFER] Total length: ${a.length} bytes`);j<a.length;){if(j+5>a.length){console.log(`[CURSOR BUFFER] Reached end, offset=${j}, remaining=${a.length-j}`);break}let b=a[j],c=a.readUInt32BE(j+1);if(console.log(`[CURSOR BUFFER] Frame ${n+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),j+5+c>a.length){console.log(`[CURSOR BUFFER] Incomplete frame, offset=${j}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(j+5,j+5+c);if(j+=5+c,n++,!(d=p(d,b))){console.log(`[CURSOR BUFFER] Frame ${n}: decompression failed, skipping`);continue}try{let a=d.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let e=(0,g.CP)(new Uint8Array(d));if(console.log(`[CURSOR DECODED] Frame ${n}:`,e),e.error)return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(e.toolCall){let a=e.toolCall;if(m.has(a.id)){let b=m.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else m.set(a.id,{...a});if(a.isLast){let b=m.get(a.id);l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(k+=e.text)}for(let[a,b]of(console.log(`[CURSOR BUFFER] Parsed ${n} frames, toolCallsMap size: ${m.size}, finalized toolCalls: ${l.length}`),m.entries()))l.find(b=>b.id===a)||(console.log(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),l.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));console.log(`[CURSOR BUFFER] Final toolCalls count: ${l.length}`);let o={role:"assistant",content:k||null};l.length>0&&(o.tool_calls=l);let r=(0,h.OF)(c,k.length,i.h.OPENAI),s={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:o,finish_reason:l.length>0?"tool_calls":"stop"}],usage:r};return new Response(JSON.stringify(s),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),j=[],k=0,l="",m=[],n=new Map,o=0;for(console.log(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);k<a.length;){if(k+5>a.length){console.log(`[CURSOR BUFFER SSE] Reached end, offset=${k}, remaining=${a.length-k}`);break}let c=a[k],h=a.readUInt32BE(k+1);if(console.log(`[CURSOR BUFFER SSE] Frame ${o+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${h}`),k+5+h>a.length){console.log(`[CURSOR BUFFER SSE] Incomplete frame, offset=${k}, length=${h}, buffer.length=${a.length}`);break}let i=a.slice(k+5,k+5+h);if(k+=5+h,o++,!(i=p(i,c))){console.log(`[CURSOR BUFFER SSE] Frame ${o}: decompression failed, skipping`);continue}try{let a=i.toString("utf-8");if(a.startsWith("{")&&a.includes('"error"'))return q(JSON.parse(a))}catch{}let r=(0,g.CP)(new Uint8Array(i));if(console.log(`[CURSOR DECODED SSE] Frame ${o}:`,r),r.error)return new Response(JSON.stringify({error:{message:r.error,type:"rate_limit_error",code:"rate_limited"}}),{status:f.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}});if(r.toolCall){let a=r.toolCall;if(0===j.length&&j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
|
|
16
16
|
|
|
17
17
|
`),n.has(a.id)){let c=n.get(a.id);c.function.arguments.length,c.function.arguments+=a.function.arguments,c.isLast=a.isLast,a.function.arguments&&j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{tool_calls:[{index:c.index,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]},finish_reason:null}]})}
|
|
18
18
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
`);let r=(0,h.OF)(c,l.length,i.h.OPENAI);return j.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{},finish_reason:m.length>0?"tool_calls":"stop"}],usage:r})}
|
|
26
26
|
|
|
27
|
-
`),j.push("data: [DONE]\n\n"),new Response(j.join(""),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},93831:(a,b,c)=>{c.d(b,{T:()=>
|
|
27
|
+
`),j.push("data: [DONE]\n\n"),new Response(j.join(""),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}async refreshCredentials(){return null}}d()}catch(a){d(a)}},1)},93831:(a,b,c)=>{c.d(b,{T:()=>k});var d=c(39859);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
|
|
28
28
|
|
|
29
29
|
## General
|
|
30
30
|
|
|
@@ -140,4 +140,4 @@ You are producing plain text that will later be styled by the CLI. Follow these
|
|
|
140
140
|
* Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
|
|
141
141
|
* Do not use URIs like file://, vscode://, or https://.
|
|
142
142
|
* Do not provide range of lines
|
|
143
|
-
* Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(60293);let
|
|
143
|
+
* Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(60293),g=c(87068);let h=["none","low","medium","high","xhigh"],i={"gpt-5.3-codex":"xhigh","gpt-5.2-codex":"xhigh","gpt-5.1-codex-max":"xhigh","gpt-5-mini":"high","gpt-5.1-mini":"high","gpt-4.1-mini":"high"};function j(a,b){let c=i[a]??"xhigh";return h.indexOf(b)>h.indexOf(c)?(console.debug(`[Codex] clampEffort: "${b}" → "${c}" (model: ${a})`),c):b}class k extends d.H{constructor(){super("codex",f.xq.codex)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,!0),d=a?.providerSpecificData?.workspaceId;return d&&(c["chatgpt-account-id"]=d),c}async refreshCredentials(a,b){if(!a?.refreshToken)return b?.warn?.("TOKEN_REFRESH","Codex: no refresh token available, re-authentication required"),null;let c=await (0,g.Wm)(a.refreshToken,b);return!c||c.error?(b?.warn?.("TOKEN_REFRESH",`Codex: token refresh failed${c?.error?` (${c.error})`:""} — re-authentication required`),null):c}transformRequest(a,b,c,d){b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1;let f=null,g=a;for(let c of["none","low","medium","high","xhigh"])if(a.endsWith(`-${c}`)){f=c,b.model=b.model.replace(`-${c}`,""),g=b.model;break}if(b.reasoning)b.reasoning.effort&&(b.reasoning.effort=j(g,b.reasoning.effort));else{let a=j(g,b.reasoning_effort||f||"medium");b.reasoning={effort:a}}return delete b.reasoning_effort,delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,b}}}};
|