kaizen/collect/tail/
mod.rs1pub mod claude;
3pub mod codex;
4pub mod copilot_cli;
5pub mod copilot_vscode;
6pub mod cursor;
7pub mod goose;
8pub mod openclaw;
9pub mod opencode;
10
11use std::path::Path;
12
13pub fn dir_mtime_ms(dir: &Path) -> u64 {
15 std::fs::read_dir(dir)
16 .ok()
17 .into_iter()
18 .flatten()
19 .filter_map(|e| e.ok())
20 .filter(|e| e.path().extension().map(|x| x == "jsonl").unwrap_or(false))
21 .filter_map(|e| e.metadata().ok()?.modified().ok())
22 .map(|t| {
23 t.duration_since(std::time::UNIX_EPOCH)
24 .unwrap_or_default()
25 .as_millis() as u64
26 })
27 .min()
28 .unwrap_or(0)
29}