Skip to main content

agm_core/agent/
session_loader.rs

1use 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}