rho-coding-agent 1.26.0

A lightweight agent harness inspired by Pi
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use std::{fs, io::Write as _, net::Shutdown, os::unix::net::UnixStream, path::Path};

fn main() {
    let mut arguments = std::env::args_os().skip(1);
    let socket = arguments.next().expect("ready socket path");
    let pid_file = arguments.next().expect("pid file path");
    assert!(arguments.next().is_none(), "unexpected argument");
    fs::write(Path::new(&pid_file), format!("{}\n", std::process::id())).unwrap();
    let mut stream = UnixStream::connect(socket).unwrap();
    stream.write_all(b"x").unwrap();
    stream.shutdown(Shutdown::Both).unwrap();
    loop {
        std::thread::park();
    }
}