Skip to main content

atomr_agents_coding_cli_isolator/
lib.rs

1//! Process isolation backends for the coding-cli harness.
2//!
3//! - [`LocalIsolator`] spawns the CLI on the host (`tokio::process`
4//!   for headless, `portable-pty` for interactive).
5//! - [`DockerIsolator`] spawns it inside a Docker container using
6//!   `bollard`. Feature-gated behind `docker`.
7//!
8//! Both back ends produce a [`ProcessHandle`] with a uniform async
9//! interface for the harness to drive.
10
11#![forbid(unsafe_code)]
12
13mod error;
14mod handle;
15mod local;
16mod pty_bridge;
17mod traits;
18
19#[cfg(feature = "docker")]
20mod docker;
21
22pub use error::IsolatorError;
23pub use handle::{ExitStatus, IsolationOpts, ProcessHandle};
24pub use local::LocalIsolator;
25pub use traits::Isolator;
26
27#[cfg(feature = "docker")]
28pub use docker::DockerIsolator;