aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-24 02:49:33 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-24 02:50:58 +0300
commite608a75159fc5cca70485d83ffb8ee681c9da385 (patch)
tree5ffdec62d0bee9a798418d6414ecbddae7ff8ae5 /src/server
parent169a4fd90c20a00aec77d684ecec98b9f0f996cc (diff)
fix: make known-agent exit process-owned
refs #1792 refs #1648
Diffstat (limited to 'src/server')
-rw-r--r--src/server/headless.rs32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/server/headless.rs b/src/server/headless.rs
index aaa3742a..942a17f1 100644
--- a/src/server/headless.rs
+++ b/src/server/headless.rs
@@ -5840,7 +5840,7 @@ next_tab = ""
assert!(
server.handle_internal_event_with_forwarding(AppEvent::HookStateReported {
pane_id,
- source: "herdr:pi".into(),
+ source: "custom:pi".into(),
agent_label: "pi".into(),
state: crate::detect::AgentState::Working,
message: None,
@@ -5853,7 +5853,7 @@ next_tab = ""
pane_id,
source: "user:pi-display".into(),
agent_label: Some("pi".into()),
- applies_to_source: Some("herdr:pi".into()),
+ applies_to_source: Some("custom:pi".into()),
title: Some("short lived".into()),
display_agent: None,
state_labels: HashMap::new(),
@@ -9528,6 +9528,34 @@ next_tab = ""
.terminals
.get_mut(&terminal_id)
.unwrap()
+ .set_detected_state(
+ Some(crate::detect::Agent::Pi),
+ crate::detect::AgentState::Idle,
+ );
+ server
+ .app
+ .state
+ .terminals
+ .get_mut(&terminal_id)
+ .unwrap()
+ .set_persisted_agent_session(crate::agent_resume::PersistedAgentSession {
+ source: "herdr:pi".into(),
+ agent: "pi".into(),
+ session_ref: crate::agent_resume::AgentSessionRef::path(
+ std::env::current_dir()
+ .unwrap()
+ .join("headless-pi-session.jsonl")
+ .display()
+ .to_string(),
+ )
+ .unwrap(),
+ });
+ server
+ .app
+ .state
+ .terminals
+ .get_mut(&terminal_id)
+ .unwrap()
.set_hook_authority(
"herdr:pi".into(),
"pi".into(),