"""Initialize the app.services.llm package."""

from .base_client import BaseLLMClient, LLMConfig, LLMProvider, LLMResponse
from .deepseek_client import DeepSeekClient
from .llm_factory import LLMFactory, get_llm_client
from .qwen_client import QwenClient, QwenVLClient
# Keep package boundaries explicit so backend imports stay predictable.


__all__ = [
    "LLMFactory",
    "get_llm_client",
    "BaseLLMClient",
    "LLMResponse",
    "LLMConfig",
    "LLMProvider",
    "DeepSeekClient",
    "QwenClient",
    "QwenVLClient",
    "DocumentSummarizer",
    "summarize_document",
    "DocumentSummary",
]


def __getattr__(name: str):
    """Handle getattr for this module."""
    if name in {"DocumentSummarizer", "summarize_document", "DocumentSummary"}:
        from .document_summarizer import DocumentSummarizer, DocumentSummary, summarize_document

        return {
            "DocumentSummarizer": DocumentSummarizer,
            "summarize_document": summarize_document,
            "DocumentSummary": DocumentSummary,
        }[name]
    raise AttributeError(name)
