use clap::{Parser, Subcommand};
#[derive(Parser, Debug)]
#[command(name = "airy", version, about, long_about = None)]
pub struct Cli {
#[arg(long, env)]
pub openrouter_api_key: Option<String>,
#[arg(long, env, default_value = "https://openrouter.ai/api/v1")]
pub openrouter_base_url: String,
#[arg(long, env, default_value = "mistralai/devstral-small:free")]
pub model: String,
#[arg(long, default_value_t = 1024)]
pub max_tokens: i64,
#[arg(long, env)]
pub mysql_url: Option<String>,
#[arg(long, env)]
pub postgres_url: Option<String>,
#[command(subcommand)]
pub command: CliCommand,
}
#[derive(Subcommand, Debug)]
pub enum CliCommand {
Chat {
#[arg(long, default_missing_value = "", num_args = 0..=1)]
system_prompt: Option<String>,
},
Mcp {
#[arg(long)]
sse: bool,
#[arg(long, default_value_t = 8080)]
port: u16,
},
}