From f8151c8f89c13fcf2e9bb0809fd3ea7f660fac52 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Fri, 20 Mar 2026 17:56:58 -0400 Subject: [PATCH] Show tool details for remaining agent tools in `fabro logs` and `fabro attach` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add detail text for wait, send_input, close_agent (agent_id), apply_patch (ellipsis), and read_many_files (file count) — these were falling through to the `_ => None` catch-all in both `tool_detail()` and `tool_display_name()`. Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/crates/fabro-cli/src/commands/logs.rs | 6 ++++++ lib/crates/fabro-cli/src/commands/run_progress.rs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/lib/crates/fabro-cli/src/commands/logs.rs b/lib/crates/fabro-cli/src/commands/logs.rs index 96214d8f3..c9f44ae62 100644 --- a/lib/crates/fabro-cli/src/commands/logs.rs +++ b/lib/crates/fabro-cli/src/commands/logs.rs @@ -630,7 +630,13 @@ fn tool_detail(envelope: &serde_json::Value) -> Option { "web_search" => arg("query").map(|q| truncate(q, 60)), "web_fetch" => arg("url").map(|u| truncate(u, 60)), "spawn_agent" => arg("task").map(|t| truncate(t, 60)), + "wait" | "send_input" | "close_agent" => arg("agent_id").map(String::from), "use_skill" => arg("skill_name").map(String::from), + "apply_patch" => Some("…".into()), + "read_many_files" => arguments + .get("paths") + .and_then(|v| v.as_array()) + .map(|a| format!("{} files", a.len())), _ => None, } } diff --git a/lib/crates/fabro-cli/src/commands/run_progress.rs b/lib/crates/fabro-cli/src/commands/run_progress.rs index 8e8214277..8b7a5857a 100644 --- a/lib/crates/fabro-cli/src/commands/run_progress.rs +++ b/lib/crates/fabro-cli/src/commands/run_progress.rs @@ -247,7 +247,13 @@ impl ProgressUI { "web_search" => arg("query").map(|q| truncate(q, 60)), "web_fetch" => arg("url").map(|u| truncate(u, 60)), "spawn_agent" => arg("task").map(|t| truncate(t, 60)), + "wait" | "send_input" | "close_agent" => arg("agent_id").map(String::from), "use_skill" => arg("skill_name").map(String::from), + "apply_patch" => Some("…".into()), + "read_many_files" => arguments + .get("paths") + .and_then(|v| v.as_array()) + .map(|a| format!("{} files", a.len())), _ => None, };