from pydantic import BaseModel
from typing import Dict, Any, List, Optional


class DocumentAnalysisResult(BaseModel):
    document_id: str

    document_type_detected: str
    document_type_confidence: float

    legibilidade_score: float
    estrutura_score: float
    coerencia_score: float
    credibilidade_score: float

    # 👇 Agora aceita qualquer tipo válido (str, int, list, etc.)
    extracted_entities: Dict[str, Any]

    alerts: List[str]

    # 👇 Features podem ser floats, strings ou dicts
    features: Dict[str, Any]

    ai_opinion: Optional[str] = None
    ai_confidence: Optional[float] = None
