Skip to main content

kaizen/collect/tail/
mod.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2pub 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
13/// Earliest mtime (ms) of `.jsonl` files in `dir`. Returns 0 on failure.
14pub 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}