"""Session model definition.""" from pydantic import BaseModel, Field from datetime import datetime from typing import Optional class Session(BaseModel): """Represents a work session on a project.""" id: str project_slug: str started_at: datetime ended_at: Optional[datetime] = None duration_minutes: Optional[int] = None objective: str = "" summary: str = "" work_done: list[str] = Field(default_factory=list) changes: list[str] = Field(default_factory=list) decisions: list[str] = Field(default_factory=list) blockers: list[str] = Field(default_factory=list) next_steps: list[str] = Field(default_factory=list) references: list[str] = Field(default_factory=list) raw_notes: list[dict] = Field(default_factory=list) # [{"type": "work", "text": "...", "timestamp": "..."}]