from pydantic import BaseModel, Field from typing import Any, Dict, List, Optional class QueryReq(BaseModel): user_id: Optional[str] = None text: str visual_ctx: Optional[Dict[str, Any]] = Field( default=None, json_schema_extra={"example": {}}, ) class QueryResp(BaseModel): answer_text: str citations: List[str] = Field(default_factory=list) metrics: Dict[str, Any] = Field(default_factory=dict) chart_refs: List[str] = Field(default_factory=list) # uncertainty: float = 0.0