pub async fn run_command_with_timeout(
program: &str,
args: &[String],
current_dir: &str,
timeout_secs: u64,
output: &OutpuStrategy,
env: Option<HashMap<String, String>>,
pipe_registry: Arc<Mutex<PipeRegistry>>,
) -> Result<CommandOutput>