pub mod claude;
pub mod fallback;
pub mod openai;
mod registry;
pub mod retry;
pub mod structured;
mod types;
pub const RUNTIME_SUPPORTED_PROVIDERS: &[&str] = &[
"anthropic",
"openai",
"openrouter",
"groq",
"zhipu",
"vllm",
"gemini",
"ollama",
];
pub use claude::ClaudeProvider;
pub use fallback::FallbackProvider;
pub use openai::OpenAIProvider;
pub use registry::{
configured_provider_names, configured_unsupported_provider_names, resolve_runtime_provider,
resolve_runtime_providers, ProviderSpec, RuntimeProviderSelection, PROVIDER_REGISTRY,
};
pub use retry::RetryProvider;
pub use structured::{validate_json_response, OutputFormat};
pub use types::{
ChatOptions, LLMProvider, LLMResponse, LLMToolCall, StreamEvent, ToolDefinition, Usage,
};