from datetime import datetime
from pydantic import BaseModel, Field

class ConversationBase(BaseModel):
    sessionId: str = Field(..., description="Associated visitor session ID")
    siteId: str = Field(..., description="Tenant site ID")
    status: str = Field(default="open", description="Conversation status (open, closed)")
    assignedAgentId: str | None = Field(default=None, description="Assigned agent ID")
    assignedAt: datetime | None = Field(default=None, description="Assignment timestamp")

class ConversationResponse(ConversationBase):
    conversationId: str
    createdAt: datetime
    updatedAt: datetime
