aboutsummaryrefslogtreecommitdiff
path: root/src/terminal
diff options
context:
space:
mode:
Diffstat (limited to 'src/terminal')
-rw-r--r--src/terminal/state.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/terminal/state.rs b/src/terminal/state.rs
index f061e318..c1d17db5 100644
--- a/src/terminal/state.rs
+++ b/src/terminal/state.rs
@@ -641,6 +641,22 @@ impl TerminalState {
self.agent_name = None;
}
+ pub fn clear_agent_runtime_identity_after_respawn(&mut self) {
+ self.detected_agent = None;
+ self.fallback_state = AgentState::Unknown;
+ self.fallback_visible_blocker = false;
+ self.fallback_visible_idle = false;
+ self.fallback_visible_working = false;
+ self.fallback_observed_at = None;
+ self.stale_hook_idle_since = None;
+ self.hook_authority = None;
+ self.persisted_agent_session = None;
+ self.agent_metadata.clear();
+ self.launch_argv = None;
+ self.respawn_shell_on_exit = false;
+ self.clear_agent_name();
+ }
+
pub fn is_agent_terminal(&self) -> bool {
self.agent_name.is_some()
|| self.effective_agent_label().is_some()