omniroute 2.0.17 → 2.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +1 -0
- package/README.bg.md +1 -0
- package/README.da.md +1 -0
- package/README.de.md +1 -0
- package/README.es.md +1 -0
- package/README.fi.md +1 -0
- package/README.fr.md +1 -0
- package/README.he.md +1 -0
- package/README.hu.md +1 -0
- package/README.id.md +1 -0
- package/README.in.md +1 -0
- package/README.it.md +1 -0
- package/README.ja.md +1 -0
- package/README.ko.md +1 -0
- package/README.md +1 -0
- package/README.ms.md +1 -0
- package/README.nl.md +1 -0
- package/README.no.md +1 -0
- package/README.phi.md +1 -0
- package/README.pl.md +1 -0
- package/README.pt-BR.md +1 -0
- package/README.pt.md +1 -0
- package/README.ro.md +1 -0
- package/README.ru.md +1 -0
- package/README.sk.md +1 -0
- package/README.sv.md +1 -0
- package/README.th.md +1 -0
- package/README.uk-UA.md +1 -0
- package/README.vi.md +1 -0
- package/README.zh-CN.md +1 -0
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +64 -64
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- 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 +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/a2a/route_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_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.js.nft.json +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_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.js.nft.json +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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.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_client-reference-manifest.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_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_client-reference-manifest.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 +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +1 -1
- 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.js.nft.json +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_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.js.nft.json +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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route_client-reference-manifest.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_client-reference-manifest.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_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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +64 -64
- package/app/.next/server/chunks/1909.js +1 -1
- package/app/.next/server/chunks/2050.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/3596.js +1 -1
- package/app/.next/server/chunks/7544.js +3 -3
- package/app/.next/server/chunks/8252.js +1 -1
- package/app/.next/server/middleware.js +2 -2
- 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-b1c617f6f02b4a57.js → 5846-b74510e0eaf40a3e.js} +2 -2
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next/server/chunks/1033.js +0 -2
- /package/app/.next/static/{qsTBENTqLIvbRFZuxtqz5 → tg7PGzX9YDpkptS5SiYA8}/_buildManifest.js +0 -0
- /package/app/.next/static/{qsTBENTqLIvbRFZuxtqz5 → tg7PGzX9YDpkptS5SiYA8}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=2050,exports.ids=[293,2050],exports.modules={60293:(a,b,c)=>{c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,DEFAULT_API_LIMITS:()=>y,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,PROVIDER_PROFILES:()=>x,QS:()=>v,C8:()=>z,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(83596);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x={oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4}},y={requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},z=["Please write a 5-10 word title for the following conversation:"]},81249:(a,b,c)=>{c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}},87068:(a,b,c)=>{c.d(b,{Ny:()=>t,Ql:()=>o,iD:()=>v,jR:()=>r,jT:()=>u,oD:()=>f,qZ:()=>y});var d=c(60293),e=c(77598);let f=3e5,g=new Map;async function h(a,b,c,e){let f=d.xq[a],g=f?.refreshUrl||f?.tokenUrl;if(!f||!g)return e?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});f.clientId&&c.set("client_id",f.clientId),f.clientSecret&&c.set("client_secret",f.clientSecret);let d=await fetch(g,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c});if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:b}),null}let h=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||b,expiresIn:h.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function i(a,b){let c=d.xq.cline?.refreshUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let d=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:d.status,error:a}),null}let e=await d.json(),f=e?.data||e,g=f?.expiresAt,h=g?Math.max(1,Math.floor((new Date(g).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!f?.accessToken,hasNewRefreshToken:!!f?.refreshToken,expiresIn:h}),{accessToken:f?.accessToken,refreshToken:f?.refreshToken||a,expiresIn:h}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function j(a,b){let c=d.xq["kimi-coding"]?.refreshUrl||d.xq["kimi-coding"]?.tokenUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;try{let e=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq["kimi-coding"]?.clientId||""}),f=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a.message}`),null}}async function k(a,b){try{let c=await fetch(d.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function l(a,b,c,e){let f=await fetch(d.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return e?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return e?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async function m(a,b){let c=d.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in}}{let a=await e.text().catch(()=>""),c=null;try{let b=JSON.parse(a);c=b?.error}catch{}if("invalid_request"===c)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:e.status}),{error:"invalid_request"};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function n(a,b){try{let c=await fetch(d.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code}catch{}if("refresh_token_reused"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used (rotating token consumed). Re-authentication required.",{status:c.status}),{error:"refresh_token_reused"};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function o(a,b,c){try{let e=b?.authMethod,f=b?.clientId,g=b?.clientSecret,h=b?.region;if(f&&g){let b="idc"===e&&h?`https://oidc.${h}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:f,clientSecret:g,refreshToken:a,grantType:"refresh_token"})});if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let i=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let i=await fetch(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})});if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:i.status,error:a}),null}let j=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!j.accessToken,expiresIn:j.expiresIn}),{accessToken:j.accessToken,refreshToken:j.refreshToken||a,expiresIn:j.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function p(a,b){let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),e=await fetch(d.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:e.status,error:a}),null}let f=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function q(a,b){let c=await fetch(d.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:d.xq.github.clientId,client_secret:d.xq.github.clientSecret})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async function r(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){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}}async function s(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await l(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return await k(b.refreshToken,c);case"codex":return await n(b.refreshToken,c);case"qwen":return await m(b.refreshToken,c);case"iflow":return await p(b.refreshToken,c);case"github":return await q(b.refreshToken,c);case"kiro":return await o(b.refreshToken,b.providerSpecificData,c);case"cline":return await i(b.refreshToken,c);case"kimi-coding":return await j(b.refreshToken,c);default:return h(a,b.refreshToken,b,c)}}function t(a){if(new Set(["gemini","gemini-cli","antigravity","claude","codex","qwen","iflow","github","kiro","cline","kimi-coding"]).has(a))return!0;let b=d.xq[a];return!!(b?.refreshUrl||b?.tokenUrl)}function u(a){return a&&"object"==typeof a&&("refresh_token_reused"===a.error||"invalid_request"===a.error)}async function v(a,b,c){var d;let f;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let h=(d=b.refreshToken,f=(0,e.createHash)("sha256").update(d).digest("hex"),`${a}:${f}`);if(g.has(h))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),g.get(h);let i=s(a,b,c).finally(()=>{g.delete(h)});return g.set(h,i),i}let w={};async function x(a,b){return Promise.race([a(),new Promise(a=>setTimeout(()=>a(null),b))])}async function y(a,b=3,c=null,d="unknown"){let e;if((e=w[d])&&(e.blockedUntil>Date.now()||(delete w[d],0)))return c?.warn?.("TOKEN_REFRESH",`⚡ Circuit breaker active for ${d}, skipping refresh`),null;for(let e=0;e<b;e++){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await x(a,3e4);if(b)return w[d]&&delete w[d],b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}}return!function(a,b=null){w[a]||(w[a]={failures:0,blockedUntil:0}),w[a].failures++,w[a].failures>=5&&(w[a].blockedUntil=Date.now()+18e5,b?.error?.("TOKEN_REFRESH",`🔴 Circuit breaker tripped for ${a}: 5 consecutive failures. Blocked for 30min. Provider needs re-authentication.`))}(d,c),c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed for ${d}`),null}}};
|
|
1
|
+
"use strict";exports.id=2050,exports.ids=[293,2050],exports.modules={60293:(a,b,c)=>{c.d(b,{$V:()=>n,EQ:()=>u,Co:()=>m,Bm:()=>w,DEFAULT_API_LIMITS:()=>y,O:()=>t,Uc:()=>p,eo:()=>q,LY:()=>s,MT:()=>j,gx:()=>r,NA:()=>o,xq:()=>l,PROVIDER_PROFILES:()=>x,QS:()=>v,C8:()=>z,TH:()=>k});var d=c(29021),e=c(33873);let f=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],g=0,h=null;var i=c(83596);let j=parseInt(process.env.FETCH_TIMEOUT_MS||"120000",10),k=parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"60000",10),l=(0,i.Z0)();!function(a){let b;if(h&&Date.now()-g<6e4)return;let c=(b=process.env.DATA_DIR||(0,e.join)(process.cwd(),"data"),(0,e.join)(b,"provider-credentials.json"));if(!(0,d.existsSync)(c))return h||console.log("[CREDENTIALS] No external credentials file found, using defaults."),h=a,g=Date.now();try{let b=(0,d.readFileSync)(c,"utf-8"),e=JSON.parse(b),g=0;for(let[b,c]of Object.entries(e)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of f)void 0!==c[d]&&(a[b][d]=c[d],g++)}let i=null!==h;console.log(`[CREDENTIALS] ${i?"Reloaded":"Loaded"} external credentials: ${g} field(s) from ${c}`)}catch(a){console.log(`[CREDENTIALS] Error reading credentials file: ${a.message}. Using defaults.`)}h=a,g=Date.now()}(l);let m="You are Claude Code, Anthropic's official CLI for Claude.",n="Please ignore the following [ignore]You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**[/ignore]",o={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://console.anthropic.com/v1/oauth/token",auth:"https://console.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://chat.qwen.ai/api/v1/oauth2/token",auth:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}},p=64e3,q=32e3,r={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},s={[r.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[r.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[r.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[r.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[r.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[r.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[r.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[r.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[r.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},t={[r.BAD_REQUEST]:"Bad request",[r.UNAUTHORIZED]:"Invalid API key provided",[r.FORBIDDEN]:"You exceeded your current quota",[r.NOT_FOUND]:"Model not found",[r.RATE_LIMITED]:"Rate limit exceeded",[r.SERVER_ERROR]:"Internal server error",[r.BAD_GATEWAY]:"Bad gateway - upstream provider error",[r.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[r.GATEWAY_TIMEOUT]:"Gateway timeout"},u={base:1e3,max:12e4,maxLevel:15},v={QUOTA_EXHAUSTED:"quota_exhausted",RATE_LIMIT_EXCEEDED:"rate_limit_exceeded",MODEL_CAPACITY:"model_capacity",SERVER_ERROR:"server_error",AUTH_ERROR:"auth_error",UNKNOWN:"unknown"},w={unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transientInitial:5e3,transientMax:6e4,transient:5e3,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},x={oauth:{transientCooldown:5e3,rateLimitCooldown:6e4,maxBackoffLevel:8,circuitBreakerThreshold:3,circuitBreakerReset:6e4},apikey:{transientCooldown:3e3,rateLimitCooldown:0,maxBackoffLevel:5,circuitBreakerThreshold:5,circuitBreakerReset:3e4}},y={requestsPerMinute:100,minTimeBetweenRequests:200,concurrentRequests:10},z=["Please write a 5-10 word title for the following conversation:"]},81249:(a,b,c)=>{c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}},87068:(a,b,c)=>{c.d(b,{Ny:()=>t,Ql:()=>o,Wm:()=>n,iD:()=>v,jR:()=>r,jT:()=>u,oD:()=>f,qZ:()=>y});var d=c(60293),e=c(77598);let f=3e5,g=new Map;async function h(a,b,c,e){let f=d.xq[a],g=f?.refreshUrl||f?.tokenUrl;if(!f||!g)return e?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});f.clientId&&c.set("client_id",f.clientId),f.clientSecret&&c.set("client_secret",f.clientSecret);let d=await fetch(g,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c});if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:b}),null}let h=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||b,expiresIn:h.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function i(a,b){let c=d.xq.cline?.refreshUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let d=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:d.status,error:a}),null}let e=await d.json(),f=e?.data||e,g=f?.expiresAt,h=g?Math.max(1,Math.floor((new Date(g).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!f?.accessToken,hasNewRefreshToken:!!f?.refreshToken,expiresIn:h}),{accessToken:f?.accessToken,refreshToken:f?.refreshToken||a,expiresIn:h}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function j(a,b){let c=d.xq["kimi-coding"]?.refreshUrl||d.xq["kimi-coding"]?.tokenUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;try{let e=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq["kimi-coding"]?.clientId||""}),f=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:e});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a.message}`),null}}async function k(a,b){try{let c=await fetch(d.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function l(a,b,c,e){let f=await fetch(d.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return e?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return e?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async function m(a,b){let c=d.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in}}{let a=await e.text().catch(()=>""),c=null;try{let b=JSON.parse(a);c=b?.error}catch{}if("invalid_request"===c)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:e.status}),{error:"invalid_request"};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function n(a,b){try{let c=await fetch(d.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code}catch{}if("refresh_token_reused"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used (rotating token consumed). Re-authentication required.",{status:c.status}),{error:"refresh_token_reused"};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function o(a,b,c){try{let e=b?.authMethod,f=b?.clientId,g=b?.clientSecret,h=b?.region;if(f&&g){let b="idc"===e&&h?`https://oidc.${h}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:f,clientSecret:g,refreshToken:a,grantType:"refresh_token"})});if(!d.ok){let a=await d.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:d.status,error:a}),null}let i=await d.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let i=await fetch(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})});if(!i.ok){let a=await i.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:i.status,error:a}),null}let j=await i.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!j.accessToken,expiresIn:j.expiresIn}),{accessToken:j.accessToken,refreshToken:j.refreshToken||a,expiresIn:j.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function p(a,b){let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),e=await fetch(d.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:e.status,error:a}),null}let f=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function q(a,b){let c=await fetch(d.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:d.xq.github.clientId,client_secret:d.xq.github.clientSecret})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:c.status,error:a}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async function r(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){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!d.token,expiresAt:d.expires_at}),{token:d.token,expiresAt:d.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}}async function s(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await l(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return await k(b.refreshToken,c);case"codex":return await n(b.refreshToken,c);case"qwen":return await m(b.refreshToken,c);case"iflow":return await p(b.refreshToken,c);case"github":return await q(b.refreshToken,c);case"kiro":return await o(b.refreshToken,b.providerSpecificData,c);case"cline":return await i(b.refreshToken,c);case"kimi-coding":return await j(b.refreshToken,c);default:return h(a,b.refreshToken,b,c)}}function t(a){if(new Set(["gemini","gemini-cli","antigravity","claude","codex","qwen","iflow","github","kiro","cline","kimi-coding"]).has(a))return!0;let b=d.xq[a];return!!(b?.refreshUrl||b?.tokenUrl)}function u(a){return a&&"object"==typeof a&&("refresh_token_reused"===a.error||"invalid_request"===a.error)}async function v(a,b,c){var d;let f;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let h=(d=b.refreshToken,f=(0,e.createHash)("sha256").update(d).digest("hex"),`${a}:${f}`);if(g.has(h))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),g.get(h);let i=s(a,b,c).finally(()=>{g.delete(h)});return g.set(h,i),i}let w={};async function x(a,b){return Promise.race([a(),new Promise(a=>setTimeout(()=>a(null),b))])}async function y(a,b=3,c=null,d="unknown"){let e;if((e=w[d])&&(e.blockedUntil>Date.now()||(delete w[d],0)))return c?.warn?.("TOKEN_REFRESH",`⚡ Circuit breaker active for ${d}, skipping refresh`),null;for(let e=0;e<b;e++){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await x(a,3e4);if(b)return w[d]&&delete w[d],b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}}return!function(a,b=null){w[a]||(w[a]={failures:0,blockedUntil:0}),w[a].failures++,w[a].failures>=5&&(w[a].blockedUntil=Date.now()+18e5,b?.error?.("TOKEN_REFRESH",`🔴 Circuit breaker tripped for ${a}: 5 consecutive failures. Blocked for 30min. Provider needs re-authentication.`))}(d,c),c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed for ${d}`),null}}};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
exports.id=3061,exports.ids=[3061,4755],exports.modules={8959:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DI:()=>m,IS:()=>i,JH:()=>l,Q2:()=>n,fg:()=>k,gb:()=>h,js:()=>o,mq:()=>g,zN:()=>j});var e=c(43701),f=a([e]);e=(f.then?(await f)():f)[0];let i={iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4"},kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"}},j={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B"},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6"},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},"kimi-coding":{id:"kimi-coding",alias:"kmc",name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},k={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",passthroughModels:!0,website:"https://openrouter.ai"},glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com"},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com"},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev"},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"view_in_ar",color:"#1A1A2E",textIcon:"BB",website:"https://blackbox.ai"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com"},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com"},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai"}},l="openai-compatible-",m="anthropic-compatible-";function g(a){return"string"==typeof a&&a.startsWith(l)}function h(a){return"string"==typeof a&&a.startsWith(m)}let n={...i,...j,...k},o=Object.values(n).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(n).reduce((a,b)=>(a[b.id]=b.alias,a),{}),(0,e.LA)(i,"FREE_PROVIDERS"),(0,e.LA)(j,"OAUTH_PROVIDERS"),(0,e.LA)(k,"APIKEY_PROVIDERS"),d()}catch(a){d(a)}})},15102:(a,b,c)=>{"use strict";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}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},30255:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Xg:()=>e.PROVIDER_ID_TO_ALIAS,eh:()=>h,vq:()=>e.vq});var e=c(23969),f=c(8959),g=a([f]);f=(g.then?(await g)():g)[0],Object.entries(f.Q2).filter(([,a])=>a.passthroughModels).map(([a])=>a);let h=Object.entries(e.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})));d()}catch(a){d(a)}})},33136:(a,b,c)=>{"use strict";c.d(b,{$q:()=>f,lR:()=>h,m:()=>g});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"stable-audio-open",name:"Stable Audio Open"},{id:"musicgen-medium",name:"MusicGen Medium"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},43701:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LA:()=>g});var e=c(42971),f=a([e]);let h=(e=(f.then?(await f)():f)[0]).z.object({id:e.z.string().min(1),alias:e.z.string().min(1),name:e.z.string().min(1),icon:e.z.string().min(1),color:e.z.string().regex(/^#[0-9A-Fa-f]{6}$/,"Must be a valid hex color (#RRGGBB)"),textIcon:e.z.string().optional(),website:e.z.string().url().optional(),passthroughModels:e.z.boolean().optional()}),i=e.z.record(e.z.string(),h);function g(a,b){let c=i.safeParse(a);if(!c.success){let a=c.error.issues.map(a=>` ${a.path.join(".")}: ${a.message}`).join("\n");throw console.error(`[PROVIDER VALIDATION] ${b} has invalid entries:
|
|
2
|
+
${a}`),Error(`Provider validation failed for ${b}`)}}d()}catch(a){d(a)}})},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},66436:(a,b,c)=>{"use strict";function d(a,b){if(!a)return{provider:null,model:null};for(let[c]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function e(a,b){let c=[];for(let[d,e]of Object.entries(a)){let a=b?b(d,e):{};for(let b of e.models)c.push({id:`${d}/${b.id}`,name:b.name,provider:d,...a})}return c}function f(a,b){if("none"===a.authType||"none"===a.authHeader||!b)return{};switch(a.authHeader){case"token":return{Authorization:`Token ${b}`};case"xi-api-key":return{"xi-api-key":b};case"x-api-key":return{"x-api-key":b};default:return{Authorization:`Bearer ${b}`}}}c.d(b,{AA:()=>d,fn:()=>f,tv:()=>e})},78335:()=>{},81565:(a,b,c)=>{"use strict";c.d(b,{FW:()=>i,Yj:()=>f,ah:()=>k,pD:()=>j,uM:()=>g});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcription",name:"GPT-4o Transcription"}]},groq:{id:"groq",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]},assemblyai:{id:"assemblyai",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",async:!0,format:"assemblyai",models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"nvidia-asr",models:[{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/transcriptions",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-asr",name:"Qwen3 ASR"}]}},e={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",models:[{id:"tts-1",name:"TTS 1"},{id:"tts-1-hd",name:"TTS 1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},hyperbolic:{id:"hyperbolic",baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]},deepgram:{id:"deepgram",baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"aura-asteria-en",name:"Aura Asteria (EN)"},{id:"aura-luna-en",name:"Aura Luna (EN)"},{id:"aura-stella-en",name:"Aura Stella (EN)"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"nvidia/fastpitch",name:"FastPitch"},{id:"nvidia/tacotron2",name:"Tacotron2"}]},elevenlabs:{id:"elevenlabs",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},huggingface:{id:"huggingface",baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},coqui:{id:"coqui",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},tortoise:{id:"tortoise",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},qwen:{id:"qwen",baseUrl:"http://localhost:8000/v1/audio/speech",authType:"none",authHeader:"none",format:"openai",models:[{id:"qwen3-tts",name:"Qwen3 TTS"}]}};function f(a){return d[a]||null}function g(a){return e[a]||null}function h(a,b){if(!a)return{provider:null,model:null};for(let[c,d]of Object.entries(b))if(a.startsWith(c+"/"))return{provider:c,model:a.slice(c.length+1)};for(let[c,d]of Object.entries(b))if(d.models.some(b=>b.id===a))return{provider:c,model:a};return{provider:null,model:a}}function i(a){return h(a,d)}function j(a){return h(a,e)}function k(){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,subtype:"transcription"});for(let[b,c]of Object.entries(e))for(let d of c.models)a.push({id:`${b}/${d.id}`,name:d.name,provider:b,subtype:"speech"});return a}},83262:(a,b,c)=>{"use strict";c.d(b,{Lb:()=>e,QG:()=>f,zD:()=>g});let d={nebius:{id:"nebius",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]},openai:{id:"openai",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]},mistral:{id:"mistral",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}};function e(a){return d[a]||null}function f(a){if(!a)return{provider:null,model:null};let b=a.indexOf("/");if(b>0){for(let[b,c]of Object.entries(d))if(a.startsWith(b+"/"))return{provider:b,model:a.slice(b.length+1)};return{provider:a.slice(0,b),model:a.slice(b+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,dimensions:d.dimensions});return a}},88258:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>r});var e=c(92556),f=c(30255),g=c(8959),h=c(22901),i=c(9415),j=c(83262),k=c(15102),l=c(94954),m=c(81565),n=c(96721),o=c(90416),p=c(33136),q=a([f,g]);[f,g]=q.then?(await q)():q;let s={ag:"antigravity",cc:"claude",cl:"cline",cu:"cursor",cx:"codex",gc:"gemini-cli",gh:"github",if:"iflow",kc:"kilocode",kmc:"kimi-coding",kr:"kiro",qw:"qwen"};async function r(a,b={"Access-Control-Allow-Origin":e.J5}){try{let c={};try{c=await (0,h.V7)()}catch{}if(!0===c.requireAuthForModels&&!await (0,i.wR)(a))return Response.json({error:{message:"Authentication required",type:"invalid_request_error",code:"invalid_api_key"}},{status:401});let{aliasToProviderId:d,providerIdToAlias:e}=function(){let a={},b={};for(let c of Object.values(g.Q2)){let d=c?.id,e=c?.alias||d;d&&(a[d]=d,a[e]=d,b[d]||(b[d]=e))}for(let[b,c]of Object.entries(f.Xg)){if(f.vq[b]){a[b]=a[b]||c;continue}if(f.vq[c]){a[c]=a[c]||b;continue}a[c]=a[c]||b}for(let b of Object.keys(f.vq))a[b]||(a[b]=b);for(let[c,d]of Object.entries(a))b[d]||(b[d]=c);for(let[c,d]of Object.entries(s))a[c]||(a[c]=d),a[d]||(a[d]=d),b[d]||(b[d]=c);return{aliasToProviderId:a,providerIdToAlias:b}}(),q=new Set(Array.isArray(c.blockedProviders)?c.blockedProviders:[]),r=[];try{(r=await (0,h.getProviderConnections)()).length,r=r.filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, showing only combos/custom models")}let t=[];try{t=await (0,h.Fh)()}catch(a){console.log("Could not fetch provider nodes")}let u={},v={};for(let a of t)a.prefix&&(u[a.id]=a.prefix),a.type&&(v[a.id]=a.type);let w=[];try{w=await (0,h.Uv)()}catch(a){console.log("Could not fetch combos")}let x=new Set;for(let a of r){let b=e[a.provider]||a.provider;x.add(b),x.add(a.provider)}let y=[],z=Math.floor(Date.now()/1e3);for(let a of w)!1!==a.isActive&&y.push({id:a.name,object:"model",created:z,owned_by:"combo",permission:[],root:a.name,parent:null});for(let[a,b]of Object.entries(f.vq)){let c=d[a]||a,e=s[a]||c;if(!(q.has(a)||q.has(e))&&(x.has(a)||x.has(e)))for(let c of b){let b=`${a}/${c.id}`;y.push({id:b,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:null}),e!==a&&y.push({id:`${e}/${c.id}`,object:"model",created:z,owned_by:e,permission:[],root:c.id,parent:b})}}let A=a=>{if(0===x.size)return!1;let b=e[a]||a;return x.has(b)||x.has(a)};for(let a of(0,j.zD)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"embedding",dimensions:a.dimensions});for(let a of(0,k.lw)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"image",supported_sizes:a.supportedSizes});for(let a of(0,l.xt)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"rerank"});for(let a of(0,m.ah)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"audio",subtype:a.subtype});for(let a of(0,n.iI)())A(a.provider)&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"moderation"});for(let a of(0,o.nC)()){let b=(0,o.L4)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"video"})}for(let a of(0,p.lR)()){let b=(0,p.$q)(a.provider);(b?.authType==="none"||A(a.provider))&&y.push({id:a.id,object:"model",created:z,owned_by:a.provider,type:"music"})}try{let a=await (0,h.NL)();for(let[b,c]of Object.entries(a)){let a=Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[],d=u[b],f=d||e[b]||b,g=s[f]||b,h=v[b];if(x.has(f)||x.has(g)||x.has(b)||h&&x.has(h))for(let b of a){let a,c="string"==typeof b.id?b.id:null;if(!c)continue;let e=`${f}/${c}`;if(y.some(a=>a.id===e))continue;let h=Array.isArray(b.supportedEndpoints)?b.supportedEndpoints:["chat"],i="string"==typeof b.apiFormat?b.apiFormat:"chat-completions";if(h.includes("embeddings")?a="embedding":h.includes("images")?a="image":h.includes("audio")&&(a="audio"),y.push({id:e,object:"model",created:z,owned_by:g,permission:[],root:c,parent:null,custom:!0,...a?{type:a}:{},..."chat-completions"!==i?{api_format:i}:{},...h.length>1||!h.includes("chat")?{supported_endpoints:h}:{}}),g!==f&&!d){let b=`${g}/${c}`;if(y.some(a=>a.id===b))continue;y.push({id:b,object:"model",created:z,owned_by:g,permission:[],root:c,parent:e,custom:!0,...a?{type:a}:{}})}}}}catch(a){console.log("Could not fetch custom models")}return Response.json({object:"list",data:y},{headers:b})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}d()}catch(a){d(a)}})},90416:(a,b,c)=>{"use strict";c.d(b,{L4:()=>f,Y3:()=>g,nC:()=>h});var d=c(66436);let e={comfyui:{id:"comfyui",baseUrl:"http://localhost:8188",authType:"none",authHeader:"none",format:"comfyui",models:[{id:"animatediff",name:"AnimateDiff"},{id:"svd-xt",name:"Stable Video Diffusion XT"}]},sdwebui:{id:"sdwebui",baseUrl:"http://localhost:7860",authType:"none",authHeader:"none",format:"sdwebui-video",models:[{id:"animatediff-webui",name:"AnimateDiff (WebUI)"}]}};function f(a){return e[a]||null}function g(a){return(0,d.AA)(a,e)}function h(){return(0,d.tv)(e)}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},92305:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15693),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},92556:(a,b,c)=>{"use strict";c.d(b,{$N:()=>e,J5:()=>d});let d=process.env.CORS_ORIGIN||"*",e={"Access-Control-Allow-Origin":d,"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-api-key, anthropic-version"}},94755:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}},94954:(a,b,c)=>{"use strict";c.d(b,{AN:()=>f,Bo:()=>e,xt:()=>g});let d={cohere:{id:"cohere",baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v3.5",name:"Rerank v3.5"},{id:"rerank-english-v3.0",name:"Rerank English v3.0"},{id:"rerank-multilingual-v3.0",name:"Rerank Multilingual v3.0"}]},together:{id:"together",baseUrl:"https://api.together.xyz/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"Salesforce/Llama-Rank-V2",name:"Llama Rank V2"}]},nvidia:{id:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1/ranking",authType:"apikey",authHeader:"bearer",format:"nvidia",models:[{id:"nvidia/nv-rerankqa-mistral-4b-v3",name:"NV RerankQA Mistral 4B v3"}]},fireworks:{id:"fireworks",baseUrl:"https://api.fireworks.ai/inference/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/nomic-rerank-v1",name:"Nomic Rerank v1"}]}};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});return a}},96487:()=>{},96721:(a,b,c)=>{"use strict";c.d(b,{iI:()=>g,mX:()=>e,vb:()=>f});let d={openai:{id:"openai",baseUrl:"https://api.openai.com/v1/moderations",authType:"apikey",authHeader:"bearer",models:[{id:"omni-moderation-latest",name:"Omni Moderation Latest"},{id:"text-moderation-latest",name:"Text Moderation Latest"}]}};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});return a}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=359,exports.ids=[359],exports.modules={9415:(a,b,c)=>{c.d(b,{ux:()=>h,wR:()=>g});var d=c(55649),e=c(65573),f=c(22901);async function g(a){let b=a.headers.get("authorization");if(b?.startsWith("Bearer ")){let a=b.slice(7);try{let{validateApiKey:b}=await Promise.resolve().then(c.bind(c,80500));if(await b(a))return!0}catch{}}if(process.env.JWT_SECRET)try{let a=await (0,e.UL)(),b=a.get("auth_token")?.value;if(b){let a=new TextEncoder().encode(process.env.JWT_SECRET);return await (0,d.V)(b,a),!0}}catch{}return!1}async function h(){try{let a=await (0,f.V7)();if(!1===a.requireLogin||!a.password&&!process.env.INITIAL_PASSWORD)return!1;return!0}catch{return!0}}},55649:(a,b,c)=>{c.d(b,{V:()=>s});var d=c(56642),e=c(30121),f=c(48682),g=c(63952);async function h(a,b,c,d){let h=await (0,g.j)(a,b,"verify");(0,f.O)(a,h);let i=(0,e.B)(a,h.algorithm);try{return await crypto.subtle.verify(i,h,c,d)}catch{return!1}}var i=c(99129),j=c(73575),k=c(41842),l=c(36281),m=c(24762),n=c(80308),o=c(55956);async function p(a,b,c){let e,f;if(!(0,l.G)(a))throw new i.Ye("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new i.Ye('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new i.Ye("JWS Protected Header incorrect type");if(void 0===a.payload)throw new i.Ye("JWS Payload missing");if("string"!=typeof a.signature)throw new i.Ye("JWS Signature missing or incorrect type");if(void 0!==a.header&&!(0,l.G)(a.header))throw new i.Ye("JWS Unprotected Header incorrect type");let g={};if(a.protected)try{let b=(0,d.D)(a.protected);g=JSON.parse(j.D0.decode(b))}catch{throw new i.Ye("JWS Protected Header is invalid")}if(!(0,k.f)(g,a.header))throw new i.Ye("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let p={...g,...a.header},q=(0,n.n)(i.Ye,new Map([["b64",!0]]),c?.crit,g,p),r=!0;if(q.has("b64")&&"boolean"!=typeof(r=g.b64))throw new i.Ye('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:s}=p;if("string"!=typeof s||!s)throw new i.Ye('JWS "alg" (Algorithm) Header Parameter missing or invalid');let t=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(t&&!t.has(s))throw new i.Rb('"alg" (Algorithm) Header Parameter value not allowed');if(r){if("string"!=typeof a.payload)throw new i.Ye("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new i.Ye("JWS Payload must be a string or an Uint8Array instance");let u=!1;"function"==typeof b&&(b=await b(g,a),u=!0),(0,m.y)(s,b,"verify");let v=(0,j.xW)(void 0!==a.protected?(0,j.lF)(a.protected):new Uint8Array,(0,j.lF)("."),"string"==typeof a.payload?r?(0,j.lF)(a.payload):j.Rd.encode(a.payload):a.payload);try{e=(0,d.D)(a.signature)}catch{throw new i.Ye("Failed to base64url decode the signature")}let w=await (0,o.l)(b,s);if(!await h(s,w,e,v))throw new i.h2;if(r)try{f=(0,d.D)(a.payload)}catch{throw new i.Ye("Failed to base64url decode the payload")}else f="string"==typeof a.payload?j.Rd.encode(a.payload):a.payload;let x={payload:f};return(void 0!==a.protected&&(x.protectedHeader=g),void 0!==a.header&&(x.unprotectedHeader=a.header),u)?{...x,key:w}:x}async function q(a,b,c){if(a instanceof Uint8Array&&(a=j.D0.decode(a)),"string"!=typeof a)throw new i.Ye("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new i.Ye("Invalid Compact JWS");let h=await p({payload:e,protected:d,signature:f},b,c),k={payload:h.payload,protectedHeader:h.protectedHeader};return"function"==typeof b?{...k,key:h.key}:k}var r=c(17347);async function s(a,b,c){let d=await q(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new i.Dp("JWTs MUST NOT use unencoded payload");let e={payload:(0,r.k6)(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}},81249:(a,b,c)=>{c.d(b,{Ct:()=>k,i2:()=>f,kP:()=>l});var d=c(42910);function e(){try{return(0,d.sm)()}catch{return null}}function f(a={}){let b=e();if(!b)return[];let c=[],d=[];a.action&&(c.push("action = ?"),d.push(a.action)),a.actor&&(c.push("actor = ?"),d.push(a.actor));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=a.limit||100,i=a.offset||0;return b.prepare(`SELECT * FROM audit_log ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...d,h,i).map(a=>({...a,details:a.details?JSON.parse(String(a.details)):null}))}parseInt(process.env.LOG_RETENTION_DAYS||"90",10);let g=new Set,h=new Map,i=!1,j=!1;for(let a of(process.env.NO_LOG_API_KEY_IDS||"").split(",").map(a=>a.trim()).filter(Boolean))g.add(a);function k(a,b){b?g.add(a):g.delete(a),h.set(a,{value:b,timestamp:Date.now()})}function l(a){if(!a)return!1;if(g.has(a))return!0;let b=function(a){let b=e();if(!b||!a||!function(a){if(i)return j;try{j=a.prepare("PRAGMA table_info(api_keys)").all().some(a=>"no_log"===a.name)}catch{j=!1}return i=!0,j}(b))return!1;let c=h.get(a);if(c&&Date.now()-c.timestamp<3e4)return c.value;try{let c=b.prepare("SELECT no_log FROM api_keys WHERE id = ?").get(a),d=!!(c&&1===Number(c.no_log));return h.set(a,{value:d,timestamp:Date.now()}),d}catch{return!1}}(a);return b&&g.add(a),b}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3596,exports.ids=[3596],exports.modules={83596:(a,b,c)=>{c.d(b,{Mo:()=>d,Qv:()=>g,Z0:()=>e,oD:()=>f,oQ:()=>j,qs:()=>i});let d={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3.2-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-v3.2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"minimax-m2.1",name:"MiniMax M2.1"},{id:"glm-4.7",name:"GLM 4.7"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash",name:"Gemini 3.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"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-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]}};function e(){let a={};for(let[b,c]of Object.entries(d)){let d={format:c.format};c.baseUrls?d.baseUrls=c.baseUrls:c.baseUrl&&(d.baseUrl=c.baseUrl),c.responsesBaseUrl&&(d.responsesBaseUrl=c.responsesBaseUrl);let e={...c.headers||{},...c.extraHeaders||{}};Object.keys(e).length>0&&(d.headers=e),c.oauth&&(c.oauth.clientIdEnv&&(d.clientId=process.env[c.oauth.clientIdEnv]||c.oauth.clientIdDefault),c.oauth.clientSecretEnv&&(d.clientSecret=process.env[c.oauth.clientSecretEnv]||c.oauth.clientSecretDefault),c.oauth.tokenUrl&&(d.tokenUrl=c.oauth.tokenUrl),c.oauth.refreshUrl&&(d.refreshUrl=c.oauth.refreshUrl),c.oauth.authUrl&&(d.authUrl=c.oauth.authUrl)),c.chatPath&&(d.chatPath=c.chatPath),c.clientVersion&&(d.clientVersion=c.clientVersion),a[b]=d}return a}function f(){let a={};for(let b of Object.values(d))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}function g(){let a={};for(let b of Object.values(d))a[b.id]=b.alias||b.id;return a}let h=new Map;for(let a of Object.values(d))a.alias&&a.alias!==a.id&&h.set(a.alias,a);function i(a){return d[a]||h.get(a)||null}function j(a){let b=i(a);return b?"apikey"===b.authType?"apikey":"oauth":"apikey"}}};
|
|
1
|
+
"use strict";exports.id=3596,exports.ids=[3596],exports.modules={83596:(a,b,c)=>{c.d(b,{Mo:()=>d,Qv:()=>g,Z0:()=>e,oD:()=>f,oQ:()=>j,qs:()=>i});let d={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/1.0.83 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.55.1","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"60"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3.0 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3.0 Pro Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3.2-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-v3.2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"minimax-m2.1",name:"MiniMax M2.1"},{id:"glm-4.7",name:"GLM 4.7"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"antigravity/1.104.0 darwin/arm64"},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-flash",name:"Gemini 3.1 Flash"},{id:"gemini-3-flash",name:"Gemini 3.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}]},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",headers:{"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-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]}};function e(){let a={};for(let[b,c]of Object.entries(d)){let d={format:c.format};c.baseUrls?d.baseUrls=c.baseUrls:c.baseUrl&&(d.baseUrl=c.baseUrl),c.responsesBaseUrl&&(d.responsesBaseUrl=c.responsesBaseUrl);let e={...c.headers||{},...c.extraHeaders||{}};Object.keys(e).length>0&&(d.headers=e),c.oauth&&(c.oauth.clientIdEnv&&(d.clientId=process.env[c.oauth.clientIdEnv]||c.oauth.clientIdDefault),c.oauth.clientSecretEnv&&(d.clientSecret=process.env[c.oauth.clientSecretEnv]||c.oauth.clientSecretDefault),c.oauth.tokenUrl&&(d.tokenUrl=c.oauth.tokenUrl),c.oauth.refreshUrl&&(d.refreshUrl=c.oauth.refreshUrl),c.oauth.authUrl&&(d.authUrl=c.oauth.authUrl)),c.chatPath&&(d.chatPath=c.chatPath),c.clientVersion&&(d.clientVersion=c.clientVersion),a[b]=d}return a}function f(){let a={};for(let b of Object.values(d))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}function g(){let a={};for(let b of Object.values(d))a[b.id]=b.alias||b.id;return a}let h=new Map;for(let a of Object.values(d))a.alias&&a.alias!==a.id&&h.set(a.alias,a);function i(a){return d[a]||h.get(a)||null}function j(a){let b=i(a);return b?"apikey"===b.authType?"apikey":"oauth":"apikey"}}};
|
|
@@ -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}}}};
|