3e4ad79137fadb8de9d8d64e3290cd88a572da04
Replace watch::Receiver<ServerState> on SupervisorHandle with watch::Receiver<Status>, a richer snapshot type that carries pid, port, uptime_secs, restart_count and last_exit. SupervisorTask maintains current_pid and publishes a fresh Status on every state transition; handlers.rs reads the full Status so list/status no longer return zeroed/None fields. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(supervisor): publish full status (pid, port, uptime, restart_count, last_exit) via watch channel
xy — HTTP MCP server supervisor
Daemon + CLI that launches and supervises HTTP-based MCP servers.
Build
cargo build --release
Run
target/release/xy daemon # foreground
Drop a server definition into $XDG_CONFIG_HOME/xy/servers/<name>.kdl
(see examples/insikt.kdl) and xy reload.
Commands:
xy list
xy status <name>
xy start <name|--all>
xy stop <name|--all>
xy restart <name|--all>
xy reload
xy logs <name> [--tail N] [--follow]
Exit codes: 0 success, 1 operational error, 2 daemon unreachable, 3 config invalid.
Description
Languages
Rust
100%