| 12345678910111213141516171819202122232425262728293031323334 |
- from datetime import datetime
- from typing import TYPE_CHECKING
- from pydantic import BaseModel, Field
- from core_shared import JSONValue
- if TYPE_CHECKING:
- from app.db.models import Message
- class MessageCreateRequest(BaseModel):
- tenant_id: str
- session_id: str
- turn_id: str | None = None
- role: str
- content_type: str = "text"
- content_text: str | None = None
- content_json: dict[str, JSONValue] = Field(default_factory=dict)
- class MessageResponse(BaseModel):
- id: str
- tenant_id: str
- session_id: str
- turn_id: str | None = None
- role: str
- content_type: str
- content_text: str | None = None
- content_json: dict[str, JSONValue] | None = None
- created_time: datetime
- @classmethod
- def from_entity(cls, entity: "Message") -> "MessageResponse":
- return cls.model_validate(entity, from_attributes=True)
|