agm_core/agent/
session_loader.rs1use std::path::Path;
2
3use rootcause::prelude::ResultExt as _;
4
5pub mod claude;
6pub mod codex;
7pub mod cursor;
8
9fn file_updated_at(path: &Path) -> rootcause::Result<Option<chrono::DateTime<chrono::Utc>>> {
10 let modified = std::fs::metadata(path)
11 .context("failed to read session metadata")
12 .attach_with(|| format!("path={}", path.display()))?
13 .modified()
14 .context("failed to read session modified time")
15 .attach_with(|| format!("path={}", path.display()))?;
16 Ok(Some(chrono::DateTime::<chrono::Utc>::from(modified)))
17}