#[derive(Parser, Debug)]
#[command(
name = "thewayd",
version,
about = "theway headless daemon (gRPC/HTTP/MCP server)"
)]
struct Cli {
#[arg(long, conflicts_with_all = ["http", "mcp"])]
grpc: bool,
#[arg(long, conflicts_with_all = ["grpc", "mcp"])]
http: bool,
#[arg(long, conflicts_with_all = ["grpc", "http"])]
mcp: bool,
#[arg(long = "host", default_value = "127.0.0.1")]
host: String,
#[arg(long = "port", default_value = "44777")]
port: u16,
#[arg(long)]
cwd: Option<std::path::PathBuf>,
#[arg(long)]
home: Option<std::path::PathBuf>,
#[arg(long = "skills-dir")]
skills_dir: Vec<std::path::PathBuf>,
#[arg(long = "theway-dir")]
theway_dir: Option<std::path::PathBuf>,
#[arg(long)]
provider: Option<String>,
#[arg(long)]
model: Option<String>,
#[arg(long)]
base_url: Option<String>,
#[arg(long, default_value = "off")]
thinking: String,
#[arg(long)]
resume_id: Option<String>,
#[arg(long, short = 'c')]
continue_: bool,
#[arg(long)]
yes: bool,
#[arg(long)]
always_allow: bool,
#[arg(long)]
debug: bool,
#[arg(long)]
trigger_poll_secs: Option<u64>,
#[arg(long)]
builtin_skill: Vec<String>,
#[arg(long = "storage-service-addr")]
storage_service_addr: Option<String>,
}