use clap::Args;
#[derive(Args, Debug)]
pub struct ServerArgs {
#[arg(long, default_value = "127.0.0.1")]
pub host: String,
#[arg(long, short, default_value = "8080")]
pub port: u16,
#[arg(long, default_value = "developer")]
pub role: String,
}
pub async fn execute(args: &ServerArgs, config: &octomind::Config) -> Result<(), anyhow::Error> {
use octomind::websocket::WebSocketServer;
let server = WebSocketServer::new(&args.host, args.port, config.clone(), args.role.clone())?;
server.start().await?;
Ok(())
}