Expand description
§luft-storage
SQLite-backed structured persistence for Luft.
Replaces the JSONL events.jsonl + checkpoint.json pair with a queryable,
relational store. Provides a UI-ready query API for listing runs, inspecting
agent turns, and searching event spans.
§Module Layout
| Module | Responsibility |
|---|---|
db | Connection pool (DbPool) + schema migration |
writer | AgentEvent → SQL write path (EventWriter) |
reader | UI-ready query API: get_run_overview, get_agent_turns, etc. |
error | Unified StorageError type |
§Usage
use luft_storage::{open_db, EventWriter};
use std::path::Path;
let pool = open_db(Path::new("./.luft/runs/latest/luft.db")).await?;
let writer = EventWriter::new(pool.clone());
// writer.write_event(&event).await?;Re-exports§
pub use db::open_db;pub use db::DbPool;pub use db::DEFAULT_DB_PATH;pub use error::StorageError;pub use reader::get_agent_overview;pub use reader::get_agent_turns;pub use reader::get_run_agents;pub use reader::get_run_overview;pub use reader::get_run_spans;pub use reader::get_run_tree;pub use reader::list_runs;pub use reader::search_turns;pub use reader::AgentOverview;pub use reader::RunOverview;pub use reader::RunSummary;pub use reader::SpanRow;pub use reader::TurnKindCount;pub use reader::TurnRow;pub use writer::EventWriter;