use clap::Subcommand;
#[derive(Debug, Subcommand)]
pub(crate) enum WatchCmd {
Poll {
#[command(flatten)]
args: WatchArgs,
},
Listen {
#[command(flatten)]
args: WatchArgs,
},
}
#[derive(Debug, clap::Args)]
pub(crate) struct WatchArgs {
pub(crate) project: String,
#[arg(long)]
pub(crate) label: Option<String>,
#[arg(
long = "interval-secs",
help = "Poll interval in seconds (listen mode only; ignored by poll)"
)]
pub(crate) interval_secs: Option<u64>,
#[arg(long, value_enum)]
pub(crate) state: Option<crate::commands::watch::github::IssueState>,
#[arg(long)]
pub(crate) dry_run: bool,
#[arg(long)]
pub(crate) execute: bool,
#[arg(long, default_value = "claude-code", value_enum)]
pub(crate) runtime: trusty_mpm::runtime::RuntimeKind,
}