aboutsummaryrefslogtreecommitdiff
path: root/src/persist
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/persist
parent169a4fd90c20a00aec77d684ecec98b9f0f996cc (diff)
fix: make known-agent exit process-owned
refs #1792 refs #1648
Diffstat (limited to 'src/persist')
-rw-r--r--src/persist/snapshot.rs30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/persist/snapshot.rs b/src/persist/snapshot.rs
index e1e112a0..39f790dd 100644
--- a/src/persist/snapshot.rs
+++ b/src/persist/snapshot.rs
@@ -1108,18 +1108,24 @@ mod tests {
let terminal_id = state.workspaces[0].tabs[0].panes[&root]
.attached_terminal_id
.clone();
- state
- .terminals
- .get_mut(&terminal_id)
- .unwrap()
- .set_hook_authority_with_session_ref(
- "herdr:pi".into(),
- "pi".into(),
- crate::detect::AgentState::Working,
- None,
- crate::agent_resume::AgentSessionRef::path(session_path.clone()),
- Some(20),
- );
+ let terminal = state.terminals.get_mut(&terminal_id).unwrap();
+ terminal.set_detected_state(
+ Some(crate::detect::Agent::Pi),
+ crate::detect::AgentState::Idle,
+ );
+ terminal.set_persisted_agent_session(crate::agent_resume::PersistedAgentSession {
+ source: "herdr:pi".into(),
+ agent: "pi".into(),
+ session_ref: crate::agent_resume::AgentSessionRef::path(session_path.clone()).unwrap(),
+ });
+ terminal.set_hook_authority_with_session_ref(
+ "herdr:pi".into(),
+ "pi".into(),
+ crate::detect::AgentState::Working,
+ None,
+ crate::agent_resume::AgentSessionRef::path(session_path.clone()),
+ Some(20),
+ );
let snapshot = capture_from_state(&state);
let agent_session = snapshot.workspaces[0].tabs[0].panes[&root.raw()]