v0.2.11 : ligne de statut et banniere — compteurs distincts agents externes (PATH) et agents geres (am install) pour lever l ambiguite du 0 installed
This commit is contained in:
Generated
+1
-1
@@ -21,7 +21,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "agent-manager"
|
name = "agent-manager"
|
||||||
version = "0.2.10"
|
version = "0.2.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "agent-manager"
|
name = "agent-manager"
|
||||||
version = "0.2.10"
|
version = "0.2.11"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Manage local AI coding agents: list, install, start, stop, update — with automatic dependency handling and a YAML-driven catalog."
|
description = "Manage local AI coding agents: list, install, start, stop, update — with automatic dependency handling and a YAML-driven catalog."
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
+27
-2
@@ -354,6 +354,7 @@ pub fn banner_box(
|
|||||||
version: &str,
|
version: &str,
|
||||||
agents: usize,
|
agents: usize,
|
||||||
installed: usize,
|
installed: usize,
|
||||||
|
external: usize,
|
||||||
session: &ShellSession,
|
session: &ShellSession,
|
||||||
session_id: &str,
|
session_id: &str,
|
||||||
cwd: &str,
|
cwd: &str,
|
||||||
@@ -425,7 +426,7 @@ pub fn banner_box(
|
|||||||
rows.push(blank());
|
rows.push(blank());
|
||||||
rows.push(inner(dim(
|
rows.push(inner(dim(
|
||||||
&format!(
|
&format!(
|
||||||
"am v{version} · {agents} agents · {installed} installed · shell {} · /help for commands",
|
"am v{version} · {agents} agents · {external} external · {installed} managed · shell {} · /help for commands",
|
||||||
session.current.name
|
session.current.name
|
||||||
),
|
),
|
||||||
color,
|
color,
|
||||||
@@ -449,6 +450,7 @@ pub fn banner(app: &App, session: &ShellSession, session_id: &str) -> String {
|
|||||||
env!("CARGO_PKG_VERSION"),
|
env!("CARGO_PKG_VERSION"),
|
||||||
agent_count(app),
|
agent_count(app),
|
||||||
installed_count(app),
|
installed_count(app),
|
||||||
|
external_count(app),
|
||||||
session,
|
session,
|
||||||
session_id,
|
session_id,
|
||||||
¤t_dir_string(),
|
¤t_dir_string(),
|
||||||
@@ -484,8 +486,9 @@ fn print_status(app: &App, session: &ShellSession, started: Instant) {
|
|||||||
);
|
);
|
||||||
let counts = dim(
|
let counts = dim(
|
||||||
&format!(
|
&format!(
|
||||||
"{} agents · {} installed",
|
"{} agents · {} external · {} managed",
|
||||||
agent_count(app),
|
agent_count(app),
|
||||||
|
external_count(app),
|
||||||
installed_count(app)
|
installed_count(app)
|
||||||
),
|
),
|
||||||
color,
|
color,
|
||||||
@@ -609,6 +612,25 @@ fn installed_count(app: &App) -> usize {
|
|||||||
.unwrap_or(0)
|
.unwrap_or(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Number of external agents (installed outside agent-manager) detected on
|
||||||
|
/// the PATH — the same definition used by the "external" status in am list.
|
||||||
|
fn external_count(app: &App) -> usize {
|
||||||
|
let probe = crate::probe::detect_externals(app);
|
||||||
|
let managed: std::collections::BTreeSet<String> = app
|
||||||
|
.state
|
||||||
|
.load()
|
||||||
|
.ok()
|
||||||
|
.map(|s| s.installed.keys().cloned().collect())
|
||||||
|
.unwrap_or_default();
|
||||||
|
app.catalog
|
||||||
|
.agents()
|
||||||
|
.iter()
|
||||||
|
.filter(|a| !a.hidden && a.installable)
|
||||||
|
.filter(|a| !managed.contains(&a.name))
|
||||||
|
.filter(|a| probe.path_of(&a.name).is_some())
|
||||||
|
.count()
|
||||||
|
}
|
||||||
|
|
||||||
fn current_dir_string() -> String {
|
fn current_dir_string() -> String {
|
||||||
std::env::current_dir()
|
std::env::current_dir()
|
||||||
.map(|p| p.display().to_string())
|
.map(|p| p.display().to_string())
|
||||||
@@ -1245,6 +1267,7 @@ mod tests {
|
|||||||
"9.9.9",
|
"9.9.9",
|
||||||
65,
|
65,
|
||||||
3,
|
3,
|
||||||
|
12,
|
||||||
&session,
|
&session,
|
||||||
"20260815_123456_abcdef",
|
"20260815_123456_abcdef",
|
||||||
"/home/alice/dev/agent-manager",
|
"/home/alice/dev/agent-manager",
|
||||||
@@ -1258,6 +1281,8 @@ mod tests {
|
|||||||
assert!(text.contains("(default)"));
|
assert!(text.contains("(default)"));
|
||||||
assert!(text.contains("bash"));
|
assert!(text.contains("bash"));
|
||||||
assert!(text.contains("/help for commands"));
|
assert!(text.contains("/help for commands"));
|
||||||
|
assert!(text.contains("12 external"));
|
||||||
|
assert!(text.contains("3 managed"));
|
||||||
assert!(text.contains("agent-manager"));
|
assert!(text.contains("agent-manager"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user