Client adapters

A client adapter wires a provider SDK into Supercompat. Every adapter follows the same shape: it takes the provider's own SDK instance and returns an opaque handle that supercompat() plugs into the generated OpenAI client.
Switching providers is a one-line change.

Catalog

AdapterProviderPage
openaiClientAdapterOpenAIOpenAI
anthropicClientAdapterAnthropicAnthropic
googleClientAdapterGoogle (Gemini)Google
mistralClientAdapterMistralMistral
groqClientAdapterGroqGroq
togetherClientAdapterTogetherTogether
openRouterClientAdapterOpenRouterOpenRouter
perplexityClientAdapterPerplexityPerplexity
ollamaClientAdapterOllamaOllama
azureOpenaiClientAdapterAzure OpenAIAzure OpenAI
azureAiProjectClientAdapterAzure AI ProjectsAzure AI Project

Shape

Every client adapter has the same call signature — pass in the provider's own SDK client instance:
supercompat({ clientAdapter: someClientAdapter({ someProviderClient }), storageAdapter, runAdapter, })
The parameter name mirrors the provider — openai, anthropic, google, mistral, groq, together, openRouter, perplexity, ollama, azureOpenai, azureAiProject.