Skip to main content

agent_procs/cli/
run.rs

1use crate::protocol::{Request, Response};
2
3pub async fn execute(session: &str, command: &str, name: Option<String>) -> i32 {
4    let req = Request::Run {
5        command: command.into(),
6        name,
7        cwd: None,
8        env: None,
9    };
10    match crate::cli::request(session, &req, true).await {
11        Ok(Response::RunOk { name, id, pid }) => {
12            println!("{} (id: {}, pid: {})", name, id, pid);
13            0
14        }
15        Ok(Response::Error { code, message }) => {
16            eprintln!("error: {}", message);
17            code
18        }
19        Ok(_) => {
20            eprintln!("unexpected response");
21            1
22        }
23        Err(e) => {
24            eprintln!("error: {}", e);
25            1
26        }
27    }
28}