from pydantic import BaseModel from typing import Optional, Dict, Any, List from datetime import datetime class MessageCreate(BaseModel): """Schema for creating a message.""" content: str session_id: Optional[str] = None class MessageResponse(BaseModel): """Schema for message response.""" id: str session_id: str role: str content: str meta: Optional[Dict[str, Any]] = None created_at: datetime class Config: from_attributes = True class ChatRequest(BaseModel): """Schema for chat request.""" message: str session_id: Optional[str] = None policy_ids: Optional[List[str]] = None class ChatResponse(BaseModel): """Schema for chat response.""" message: MessageResponse session_id: str agent: Optional[str] = None