import uuid from datetime import datetime from pydantic import BaseModel, Field class CreateChatRequest(BaseModel): title: str | None = None class UpdateChatRequest(BaseModel): title: str | None = None is_archived: bool | None = None class SendMessageRequest(BaseModel): content: str = Field(min_length=1, max_length=50000) class ChatResponse(BaseModel): id: uuid.UUID user_id: uuid.UUID title: str skill_id: uuid.UUID | None is_archived: bool created_at: datetime updated_at: datetime model_config = {"from_attributes": True} class ChatListResponse(BaseModel): chats: list[ChatResponse] class MessageResponse(BaseModel): id: uuid.UUID chat_id: uuid.UUID role: str content: str metadata: dict | None = Field(None, alias="metadata_") created_at: datetime model_config = {"from_attributes": True, "populate_by_name": True} class MessageListResponse(BaseModel): messages: list[MessageResponse] class ContextFileResponse(BaseModel): id: uuid.UUID type: str content: str version: int updated_at: datetime model_config = {"from_attributes": True} class UpdateContextRequest(BaseModel): content: str