From db67e9d74ffafc9c63bdf78fcf712419359f634b Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Sat, 23 May 2026 21:27:26 +0300 Subject: feat: restore agent sessions refs #233 --- src/cli/pane.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/cli') diff --git a/src/cli/pane.rs b/src/cli/pane.rs index 58d65af6..23218a4a 100644 --- a/src/cli/pane.rs +++ b/src/cli/pane.rs @@ -299,7 +299,7 @@ fn pane_run(args: &[String]) -> std::io::Result { fn pane_report_agent(args: &[String]) -> std::io::Result { let Some(raw_pane_id) = args.first() else { - eprintln!("usage: herdr pane report-agent --source ID --agent LABEL --state idle|working|blocked|unknown [--message TEXT] [--custom-status TEXT] [--seq N]"); + eprintln!("usage: herdr pane report-agent --source ID --agent LABEL --state idle|working|blocked|unknown [--message TEXT] [--custom-status TEXT] [--seq N] [--agent-session-id ID] [--agent-session-path PATH]"); return Ok(2); }; @@ -310,6 +310,8 @@ fn pane_report_agent(args: &[String]) -> std::io::Result { let mut message = None; let mut custom_status = None; let mut seq = None; + let mut agent_session_id = None; + let mut agent_session_path = None; let mut index = 1; while index < args.len() { @@ -362,6 +364,22 @@ fn pane_report_agent(args: &[String]) -> std::io::Result { seq = Some(super::parse_u64_flag("--seq", value)?); index += 2; } + "--agent-session-id" => { + let Some(value) = args.get(index + 1) else { + eprintln!("missing value for --agent-session-id"); + return Ok(2); + }; + agent_session_id = Some(value.clone()); + index += 2; + } + "--agent-session-path" => { + let Some(value) = args.get(index + 1) else { + eprintln!("missing value for --agent-session-path"); + return Ok(2); + }; + agent_session_path = Some(value.clone()); + index += 2; + } other => { eprintln!("unknown option: {other}"); return Ok(2); @@ -390,6 +408,8 @@ fn pane_report_agent(args: &[String]) -> std::io::Result { message, custom_status, seq, + agent_session_id, + agent_session_path, })) } @@ -405,6 +425,6 @@ fn print_pane_help() { eprintln!(" herdr pane close "); eprintln!(" herdr pane send-text "); eprintln!(" herdr pane send-keys [key ...]"); - eprintln!(" herdr pane report-agent --source ID --agent LABEL --state idle|working|blocked|unknown [--message TEXT] [--custom-status TEXT] [--seq N]"); + eprintln!(" herdr pane report-agent --source ID --agent LABEL --state idle|working|blocked|unknown [--message TEXT] [--custom-status TEXT] [--seq N] [--agent-session-id ID] [--agent-session-path PATH]"); eprintln!(" herdr pane run "); } -- cgit v1.2.3