from typing import Optional

from sqlmodel import Field, SQLModel

from app.models.base import _utcnow


class Persona(SQLModel, table=True):
    __tablename__ = "personas"

    persona_id: str = Field(primary_key=True)
    name: str
    header: Optional[str] = None
    image: Optional[str] = None
    system_prompt: str
    tools: str = Field(default="[]")
    tts_voice: str = Field(default="aura-2-helena-en")
    active: int = Field(default=1)
    sort_order: int = Field(default=0)
    created_at: str = Field(default_factory=_utcnow)
