atomr_agents_coding_cli_harness_web/runner.rs
1//! Tracks the background tokio tasks driving in-flight headless runs.
2
3use std::collections::HashMap;
4
5use atomr_agents_coding_cli_core::CliRunId;
6use tokio::task::JoinHandle;
7
8#[derive(Default)]
9pub struct RunSupervisor {
10 pub active: HashMap<CliRunId, JoinHandle<()>>,
11}
12
13impl RunSupervisor {
14 pub fn register(&mut self, id: CliRunId, task: JoinHandle<()>) {
15 self.active.insert(id, task);
16 }
17
18 pub fn forget(&mut self, id: &CliRunId) {
19 self.active.remove(id);
20 }
21}