//! Concrete provider adapters for model vendors.
//!
//! Each adapter is gated behind a Cargo feature flag and implements
//! [`ChatProvider`](crate::provider::ChatProvider) and/or
//! [`EmbeddingProvider`](crate::provider::EmbeddingProvider).
//!
//! # Available adapters
//!
//! | Feature | Adapter | Chat | Stream | Embedding | Tools |
//! |---------|---------|------|--------|-----------|-------|
//! | `openai` | [`openai::OpenAiChatAdapter`] | ✅ | ✅ | ✅ | ✅ |
//! | `anthropic` | [`anthropic::AnthropicChatAdapter`] | ✅ | ✅ | ❌ | ✅ |
//!
//! Shared HTTP and SSE infrastructure lives in the private `http` and `sse`
//! submodules and is compiled whenever at least one adapter feature is enabled.
pub
pub