2026-06-13 10:08:37 -04:00
export default {
2026-06-14 03:32:59 -04:00
id : "vercel-ai-gateway" ,
refactor(open-sse): translator DRY + schema enums, bug fixes, dead code cleanup
- Bug B1-B7: media UI m.kind||m.type, serviceKinds, gemini mediaPriority, schema kind, models/info lookup by kind
- Dead code D1-D6: safeParseJSON, drop PROVIDER_ENDPOINTS, orphan fetcher, GITHUB_CONFIG derive, getProviderConfig internal, legacy kiro file
- Translator concerns: toOpenAIUsage, toOpenAIFinish (gemini/kiro/ollama + fix kiro tool finish), thinking effort maps
- Reorg helpers/ → concerns/ (logic) + formats/ (per-format) + schema/ (pure enums: roles/blocks/finishReasons/defaults)
- Wire ~280 hardcoded role/block/finish/default literals to schema enums across 20+ files
- collapseTextParts + extractTextContent dedup
- Normalize translator fn names to openaiToXRequest / xToOpenAIResponse
- Golden tests lock behavior; 0 regression (byte-for-byte providers/alias, 26=26 known fails)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 07:49:38 -04:00
priority : 160 ,
2026-06-14 03:32:59 -04:00
alias : "vercel-ai-gateway" ,
aliases : [
"vercel" ,
] ,
uiAlias : "vercel" ,
2026-06-14 02:15:48 -04:00
display : {
2026-06-14 03:32:59 -04:00
name : "Vercel AI Gateway" ,
icon : "deployed_code" ,
color : "#111827" ,
textIcon : "VG" ,
website : "https://vercel.com/ai-gateway" ,
notice : {
text : "Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4." ,
apiKeyUrl : "https://vercel.com/dashboard/~/ai-gateway" ,
} ,
2026-06-14 02:15:48 -04:00
} ,
category : "apikey" ,
2026-06-14 03:32:59 -04:00
transport : {
baseUrl : "https://ai-gateway.vercel.sh/v1/chat/completions" ,
2026-06-15 07:18:04 -04:00
thinkingFormat : "openai" ,
2026-06-14 03:32:59 -04:00
retry : {
"429" : 2 ,
} ,
usage : {
url : "https://ai-gateway.vercel.sh/v1/credits" ,
2026-06-14 02:15:48 -04:00
} ,
} ,
2026-06-14 03:32:59 -04:00
serviceKinds : [ "llm" , "embedding" , "image" , "imageToText" , "webSearch" ] ,
embeddingConfig : { baseUrl : "https://ai-gateway.vercel.sh/v1/embeddings" } ,
imageConfig : { baseUrl : "https://ai-gateway.vercel.sh/v1/images/generations" } ,
searchViaChat : { defaultModel : "openai/gpt-4o-mini" , pricingUrl : "https://vercel.com/docs/ai-gateway/pricing" } ,
modelsFetcher : { url : "https://ai-gateway.vercel.sh/v1/models" , type : "openai" } ,
passthroughModels : true ,
features : {
usage : true ,
usageApikey : true ,
2026-06-14 02:15:48 -04:00
} ,
2026-06-13 10:08:37 -04:00
} ;