codetether_agent/tui/app/state/
pending_tool.rs1use std::time::Instant;
4
5impl super::AppState {
6 pub fn start_pending_tool(&mut self, name: String) {
8 self.pending_tool_name = Some(name);
9 self.pending_tool_started_at = Some(Instant::now());
10 }
11
12 pub fn note_tool_completed(&mut self, name: String, duration_ms: u64, success: bool) {
14 self.last_tool_name = Some(name);
15 self.last_tool_latency_ms = Some(duration_ms);
16 self.last_tool_success = Some(success);
17 self.pending_tool_name = None;
18 self.pending_tool_started_at = None;
19 }
20
21 pub fn pending_tool_snapshot(&self) -> Option<(&str, Instant)> {
23 self.pending_tool_name
24 .as_deref()
25 .zip(self.pending_tool_started_at)
26 }
27}