use std::path::PathBuf;
use clap::{Parser, ValueEnum};
#[derive(Debug, Clone, Copy, PartialEq, Eq, ValueEnum)]
pub enum Transport {
Http,
Stdio,
}
#[derive(Debug, Parser)]
#[command(name = "bugwarden", version, about)]
pub struct Cli {
#[arg(long, env = "BUGZILLA_SERVER")]
pub bugzilla_server: String,
#[arg(long, env = "MCP_TRANSPORT", value_enum, default_value = "http")]
pub transport: Transport,
#[arg(long, env = "MCP_HOST", default_value = "127.0.0.1")]
pub host: String,
#[arg(long, env = "MCP_PORT", default_value_t = 8000)]
pub port: u16,
#[arg(long, env = "MCP_API_KEY_HEADER", default_value = "ApiKey")]
pub api_key_header: String,
#[arg(long, env = "BUGZILLA_API_KEY", hide_env_values = true)]
pub api_key: Option<String>,
#[arg(long)]
pub use_auth_header: bool,
#[arg(long, env = "MCP_READ_ONLY")]
pub read_only: bool,
#[arg(long, env = "BUGWARDEN_POLICY")]
pub policy: Option<PathBuf>,
#[arg(long, env = "BUGWARDEN_AUDIT_CONFIG")]
pub audit_config: Option<PathBuf>,
}