codetether_agent/tui/app/state/
worker_bridge.rs1use crate::tui::worker_bridge::IncomingTask;
7
8impl super::AppState {
9 pub fn set_worker_bridge(&mut self, worker_id: String, worker_name: String) {
10 self.worker_id = Some(worker_id);
11 self.worker_name = Some(worker_name);
12 self.a2a_connected = true;
13 }
14
15 pub fn sync_worker_bridge_processing(&mut self, processing: bool) {
16 self.worker_bridge_processing_state = Some(processing);
17 }
18
19 pub fn register_worker_agent(&mut self, name: String) {
20 self.worker_bridge_registered_agents.insert(name);
21 }
22
23 pub fn push_recent_task(&mut self, task: String) {
24 self.recent_tasks.push(task);
25 if self.recent_tasks.len() > 20 {
26 let drain_len = self.recent_tasks.len() - 20;
27 self.recent_tasks.drain(0..drain_len);
28 }
29 }
30
31 pub fn enqueue_worker_task(&mut self, task: IncomingTask) {
32 self.worker_task_queue.push_back(task);
33 while self.worker_task_queue.len() > 20 {
34 self.worker_task_queue.pop_front();
35 }
36 }
37
38 pub fn dequeue_worker_task(&mut self) -> Option<IncomingTask> {
39 self.worker_task_queue.pop_front()
40 }
41}