use std::time::Duration;
#[derive(Debug, Clone)]
pub struct SandboxRunRequest {
pub image: String,
pub network_mode: Option<String>,
pub binds: Vec<String>,
pub env: Vec<String>,
pub working_dir: String,
pub cmd: Vec<String>,
pub stdin_payload: Vec<u8>,
pub timeout: Duration,
pub user: Option<String>,
}
#[async_trait::async_trait]
pub trait SyncDefaultSandboxBackend: Send + Sync {
async fn run_isolated(&self, req: SandboxRunRequest) -> Result<Vec<u8>, String>;
}