"""
Model Adapters Module.

Provides model-specific context formatting adapters.
"""

from .base import DefaultAdapter, ModelAdapter
from .claude import ClaudeAdapter
from .openai import OpenAIAdapter


def get_adapter(model: str) -> ModelAdapter:
    """
    Get the appropriate adapter for a model.

    Args:
        model: Model name

    Returns:
        Adapter instance for the model
    """
    if ClaudeAdapter.matches_model(model):
        return ClaudeAdapter()
    elif OpenAIAdapter.matches_model(model):
        return OpenAIAdapter()
    return DefaultAdapter()


__all__ = [
    "ClaudeAdapter",
    "DefaultAdapter",
    "ModelAdapter",
    "OpenAIAdapter",
    "get_adapter",
]
