Files
tracker-cli/tracker/models/session.py
Daniel Arroyo 4547c492da Implement storage layer for MVP-1 Personal Tracker CLI
Add storage layer with FileStorage, MarkdownReader, and MarkdownWriter classes.
Add data models (Project, Session, Note, Change).
2026-03-23 08:54:00 -03:00

24 lines
837 B
Python

"""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": "..."}]