"""AI Router - Clean abstraction for AI providers.""" from .base import AIRouter as BaseAIRouter, RouterResponse from .factory import AIRouter, create_router from .config import RouterConfig, config from .exceptions import ( RouterError, AuthenticationError, RateLimitError, ModelNotFoundError, InvalidRequestError, TimeoutError, ContentFilterError, QuotaExceededError, ProviderError, ConfigurationError, ) from .gemini import Gemini from .openai_compatible import OpenAI, OpenAICompatible from .cohere import Cohere from .rerank import Rerank, CohereRerank, RerankDocument, RerankResult, RerankResponse from .embed import ( Embed, CohereEmbed, GeminiEmbed, OllamaEmbed, CohereEmbedding, GeminiEmbedding, OllamaEmbedding, EmbeddingResponse, create_embedding, ) __version__ = "0.1.0" __all__ = [ # Base classes "AIRouter", "BaseAIRouter", "RouterResponse", "RouterConfig", "config", "create_router", # Generation Providers "Gemini", "OpenAI", "OpenAICompatible", "Cohere", # Reranking "Rerank", "CohereRerank", "RerankDocument", "RerankResult", "RerankResponse", # Embeddings "Embed", "CohereEmbed", "GeminiEmbed", "OllamaEmbed", "CohereEmbedding", "GeminiEmbedding", "OllamaEmbedding", "EmbeddingResponse", "create_embedding", # Exceptions "RouterError", "AuthenticationError", "RateLimitError", "ModelNotFoundError", "InvalidRequestError", "TimeoutError", "ContentFilterError", "QuotaExceededError", "ProviderError", "ConfigurationError", ]