Skip to main content

Module session

Module session 

Source
Expand description

Session lifecycle — create, resume, list, delete. KodaSession — per-conversation state.

Holds mutable, per-turn state: database handle, session ID, provider instance, approval mode, and cancellation token. Instantiable N times for parallel sub-agents or cowork mode.

§Architecture

KodaAgent (shared, immutable)
  ├─ tools, system prompt, project root
  └─ shared via Arc across sessions

KodaSession (per-conversation, mutable)
  ├─ database handle (SQLite)
  ├─ session_id (UUID)
  ├─ provider instance
  ├─ trust mode (plan/safe/auto)
  └─ cancellation token

This split allows the same agent to power multiple concurrent sessions (e.g., main REPL + background sub-agents) without shared mutable state.

Structs§

KodaSession
A single conversation session with its own state.