Files
social-app/backend/src/schemas/messages/chat_message.py
T

41 lines
1.1 KiB
Python
Raw Normal View History

from __future__ import annotations
from datetime import datetime
from decimal import Decimal
from typing import ClassVar
from uuid import UUID
from pydantic import BaseModel, ConfigDict, Field
from ..agent import AgentType, ToolAgentOutput, WorkerAgentOutput
class UserMessageAttachments(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(extra="allow")
bucket: str
path: str
mime_type: str
class AgentChatMessageMetadata(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(extra="allow")
agent_type: AgentType | None = None
user_message_attachments: UserMessageAttachments | None = None
tool_agent_output: ToolAgentOutput | None = None
worker_agent_output: WorkerAgentOutput | None = None
class AgentChatMessage(BaseModel):
"""Canonical schema aligned with `messages` table columns."""
model_config: ClassVar[ConfigDict] = ConfigDict(extra="forbid")
id: UUID
seq: int
role: str
content: str
metadata: AgentChatMessageMetadata | dict[str, object] | None = None
timestamp: datetime