use clap::{Parser, Subcommand};
#[derive(Parser, Debug)]
#[command(
name = "rolter",
version,
about = "high-performance openai/anthropic-compatible llm gateway and load balancer"
)]
struct Cli {
#[command(subcommand)]
command: Command,
}
#[derive(Subcommand, Debug)]
enum Command {
Gateway(rolter_gateway::Args),
Control(rolter_control::Args),
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
rolter_core::telemetry::init();
match Cli::parse().command {
Command::Gateway(args) => rolter_gateway::run(args).await,
Command::Control(args) => rolter_control::run(args).await,
}
}