"""
=========================================
CV6 AI Trading OS
AI Router
=========================================
"""

from app.ai.ai_manager import AIManager
from app.ai.ai_models import AIRequest, AIResponse


class AIRouter:
    """
    Routes AI requests to the selected provider.
    """

    def __init__(self):
        self.manager = AIManager()

    def analyze(self, request: AIRequest) -> AIResponse:
        """
        Route request to the selected AI Provider.
        """

        provider = self.manager.get_provider(request.provider)

        if provider is None:
            raise ValueError(
                f"Unsupported AI Provider: {request.provider}"
            )

        return provider.analyze(request)