timeline : vue chronologique unifiee journal + historique REPL (issue #31) - filtres agent/projet/date, limite, parse_since partage

This commit is contained in:
2026-08-17 08:45:03 -04:00
parent bbc2bb889d
commit ed795c522f
6 changed files with 231 additions and 2 deletions
+9 -1
View File
@@ -63,6 +63,7 @@ const COMMAND_DESCRIPTIONS: &[(&str, &str)] = &[
("sessions", "list agent sessions"),
("stats", "usage statistics"),
("projects", "project activity"),
("timeline", "unified activity view"),
("log", "read the event journal"),
("logs", "tail an agent log"),
("history", "search command history"),
@@ -145,7 +146,7 @@ impl AmCompleter {
Self {
theme: std::cell::Cell::new(crate::theme::default_theme()),
commands: vec![
"list", "status", "sessions", "stats", "projects", "log", "logs", "history", "init", "alias", "open", "search", "info", "install", "uninstall", "update",
"list", "status", "sessions", "stats", "projects", "timeline", "log", "logs", "history", "init", "alias", "open", "search", "info", "install", "uninstall", "update",
"start", "stop", "restart", "run", "doctor", "config", "completion",
"self-update", "self-uninstall", "export", "import", "shell", "theme",
"ls", "dir", "cd", "ps", "where", "get", "help", "version", "exit",
@@ -1259,6 +1260,12 @@ fn handle_line(
"projects" => Command::Projects {
name: rest.first().cloned(),
},
"timeline" => Command::Timeline {
agent: rest.first().cloned(),
project: opt_value("--project"),
since: opt_value("--since"),
limit: opt_value("--limit").and_then(|v| v.parse().ok()).unwrap_or(50),
},
"log" => Command::Log {
agent: rest.first().cloned(),
kind: opt_value("--kind"),
@@ -1383,6 +1390,7 @@ fn is_am_command(word: &str) -> bool {
| "sessions"
| "stats"
| "projects"
| "timeline"
| "log"
| "logs"
| "history"