from pydantic import BaseModel, Field from typing import Any class TextRequest(BaseModel): text: str class AnalysisResult(BaseModel): risk_score: float = Field(..., ge=0.0, le=1.0, description="0.0 = safe, 1.0 = critical threat") risk_level: str = Field(..., description="LOW | MEDIUM | HIGH | CRITICAL") verdict: str = Field(default="", description="REAL | FAKE | UNVERIFIABLE | PHISHING") content_type: str = Field(default="", description="phishing | fake_news | real_news | unknown") threat_types: list[str] = Field(default_factory=list) explanation: str simplified_explanation: str = Field(default="", description="Plain-language verdict summary") tool_outputs: dict[str, Any] = Field(default_factory=dict)