session.go

 1package proto
 2
 3// Session represents a session in the proto layer.
 4type Session struct {
 5	ID               string  `json:"id"`
 6	ParentSessionID  string  `json:"parent_session_id"`
 7	Title            string  `json:"title"`
 8	MessageCount     int64   `json:"message_count"`
 9	PromptTokens     int64   `json:"prompt_tokens"`
10	CompletionTokens int64   `json:"completion_tokens"`
11	SummaryMessageID string  `json:"summary_message_id"`
12	Cost             float64 `json:"cost"`
13	Todos            []Todo  `json:"todos,omitempty"`
14	CreatedAt        int64   `json:"created_at"`
15	UpdatedAt        int64   `json:"updated_at"`
16}
17
18// Todo represents a single todo entry on a session in the proto layer.
19type Todo struct {
20	Content    string `json:"content"`
21	Status     string `json:"status"`
22	ActiveForm string `json:"active_form"`
23}