use async_trait::async_trait;
use atomr_agents_coding_cli_core::CliCommand;
use crate::error::IsolatorError;
use crate::handle::{IsolationOpts, ProcessHandle};
#[async_trait]
pub trait Isolator: Send + Sync {
fn name(&self) -> &str;
async fn spawn(
&self,
cmd: CliCommand,
opts: IsolationOpts,
) -> Result<Box<dyn ProcessHandle>, IsolatorError>;
}