pub struct Store {
pub keys: Vec<(String, i64)>,
pub files: Vec<PathBuf>,
pub had_error: bool,
}Expand description
One supported agent tool. An adapter knows where the tool keeps its
session files on disk and how to parse one file into a Session.
Adding support for a new tool means implementing this trait in a new
module and registering it in all(). PRs for new adapters are the main
way this project grows.
A store that holds many sessions in one place (e.g. a SQLite database)
rather than one file per session. Returned by Adapter::store when the
file-per-session model does not fit; the indexer then enumerates sessions
from keys (re-parsing only changed ones) instead of discover/parse.
Fields§
§keys: Vec<(String, i64)>(stable key, change-token) for every session, cheap to compute without
a full parse. The change-token (e.g. the session’s updated-time in ms)
drives incremental re-indexing; the key identifies the session for
Adapter::parse_key. The key doubles as the session’s stored path.
files: Vec<PathBuf>The backing files (the database), for scan size accounting.
had_error: boolTrue if a backing store existed but could not be read this run (locked, half-written, permissions). The indexer then skips deletion reconciliation, so a transient read failure cannot archive the whole corpus off an incomplete key set.