from pydantic import BaseModel, Field from typing import List, Literal class AgentReport(BaseModel): claim: Literal["PHISHING", "LEGITIMATE", "AMBIGUOUS"] confidence: float = Field(ge=0.0, le=1.0, description="Confidence score from 0.0 to 1.0") evidence: List[str] = Field(description="Bullet points of forensic evidence found") class JudgeVerdict(BaseModel): final_verdict: str = Field(..., description="Output 'CRITICAL_THREAT', 'SAFE', or 'MANUAL_REVIEW_REQUIRED'") risk_score: float = Field(ge=0.0, le=100.0) verdict_justification: str = Field(description="Detailed explanation of the final decision")