Skip to main content

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}