diff --git a/poc-memory/src/agents/daemon.rs b/poc-memory/src/agents/daemon.rs index bce2407..3d3c080 100644 --- a/poc-memory/src/agents/daemon.rs +++ b/poc-memory/src/agents/daemon.rs @@ -1277,6 +1277,17 @@ pub fn rpc_consolidate() -> Result<(), String> { } } +pub fn rpc_run_agent(agent: &str, count: usize) -> Result<(), String> { + let cmd = format!("run-agent {} {}", agent, count); + match send_rpc(&cmd) { + Some(resp) => { + println!("{}", resp.trim()); + Ok(()) + } + None => Err("Daemon not running.".into()), + } +} + fn read_status_socket() -> Option { use std::io::Read as _; use std::os::unix::net::UnixStream; diff --git a/poc-memory/src/main.rs b/poc-memory/src/main.rs index 986f21e..21dcde0 100644 --- a/poc-memory/src/main.rs +++ b/poc-memory/src/main.rs @@ -2423,6 +2423,11 @@ fn cmd_daemon(sub: Option<&str>, args: &[String]) -> Result<(), String> { } Some("install") => daemon::install_service(), Some("consolidate") => daemon::rpc_consolidate(), + Some("run-agent") | Some("run") => { + let agent = args.first().map(|s| s.as_str()).unwrap_or("replay"); + let count: usize = args.get(1).and_then(|s| s.parse().ok()).unwrap_or(1); + daemon::rpc_run_agent(agent, count) + } Some("tui") => tui::run_tui(), Some(other) => Err(format!("unknown daemon subcommand: {}", other)), }