from pydantic import BaseModel from typing import Optional, Union, List, Dict class APIResponse(BaseModel): success: bool data: Optional[Union[Dict, List[Dict], str]] = None # Allow str for raw JSON error: Optional[str] = None class ChatMessage(BaseModel): role: str # e.g., "user", "assistant" content: str class ChatMemoryRequest(BaseModel): model: str messages: List[ChatMessage]