Files
9router/open-sse/providers/registry/xai.js
T
decoluaandCursor 5a042840fd refactor(open-sse): P3 provider registry — split into providers/registry/{id}.js
- 100 registry files: transport + models co-located per provider (Mongoose-style)
- providers/shared.js: shared Claude headers + OS/arch helpers (deduped)
- providers/models/helpers.js: withCodexReviewModels (kept dynamic)
- providers/index.js builds PROVIDERS + PROVIDER_MODELS = old API (content byte-for-byte)
- config/providers.js + providerModels.js → barrel re-export, keep accessors + runtime helpers
- Verified: PROVIDERS/MODELS/OAuth/alias byte-for-byte, golden translator tests pass, 0 new regression

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-13 21:08:37 +07:00

39 lines
801 B
JavaScript

export default {
"id": "xai",
"alias": "xai",
"transport": {
"baseUrl": "https://api.x.ai/v1/chat/completions",
"responsesUrl": "https://api.x.ai/v1/responses",
"clientId": "b1a00492-073a-47ea-816f-4c329264a828",
"tokenUrl": "https://auth.x.ai/oauth2/token",
"refreshUrl": "https://auth.x.ai/oauth2/token"
},
"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"
},
{
"id": "grok-2-image-1212",
"name": "Grok 2 Image",
"type": "image",
"params": [
"n",
"response_format"
]
}
]
};