"""
LLM Provider Abstraction Layer.
This module provides a unified interface for interacting with different LLM providers
(OpenAI, Claude, Gemini, etc.) without coupling your application to any specific vendor.
Key Benefits:
- Switch providers by changing a single environment variable
- Test with different models without code changes
- Graceful fallback if primary provider fails
- Consistent error handling across providers
"""
from .factory import get_llm_provider
from .base import BaseLLMProvider, LLMResponse, ToolCall
__all__ = ["get_llm_provider", "BaseLLMProvider", "LLMResponse", "ToolCall"]
from .base import ToolCallStatus