mod mcp;
mod serve;
use clap::{Parser, Subcommand};
#[derive(Parser, Debug)]
#[command(name = "mse", about = "mlua-swarm CLI (serve / mcp).", version)]
struct Cli {
#[command(subcommand)]
cmd: Cmd,
}
#[derive(Subcommand, Debug)]
enum Cmd {
Serve(serve::Args),
Mcp,
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_env_filter(
tracing_subscriber::EnvFilter::try_from_default_env()
.unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")),
)
.with_writer(std::io::stderr)
.init();
let cli = Cli::parse();
match cli.cmd {
Cmd::Serve(args) => serve::run(args).await,
Cmd::Mcp => mcp::run().await,
}
}