Provider adapters live under apps/api/src/lib/gateway/providers. Each adapter implements an execute method and maps gateway-normalized payloads to provider-native calls.
Folder layout
| Folder | Purpose | Key files |
|---|
providers/openai | Native OpenAI endpoints (chat, responses, images, audio). | index.ts, endpoints/*.ts |
providers/openai-compatible | Shared OpenAI-compatible transport for third parties. | config.ts, surface_*.ts |
providers/anthropic | Anthropic message endpoints. | index.ts, endpoints/*.ts |
providers/x-ai | xAI adapter wiring. | index.ts |
providers/xiaomi | Xiaomi adapter wiring. | index.ts |
Key shared files
providers/index.ts resolves adapters by provider id.
providers/types.ts defines adapter inputs, streaming results, and usage merging.
providers/keys.ts handles provider key resolution and BYOK logic.
Adding a provider
- Add a new folder under
providers/.
- Implement
index.ts with an adapter that supports the needed endpoints.
- Register the adapter in
providers/index.ts.
- Add routing metadata in the registry or context RPC.
Last modified on February 11, 2026