use clap::{Args, ValueEnum};
#[derive(Args, Debug)]
pub struct LocalArgs {
#[arg(long)]
pub local: bool,
}
#[derive(Args, Debug)]
pub struct ActorArgs {
#[arg(long = "as", value_parser = parse_nonempty)]
pub agent_name: Option<String>,
}
#[derive(Clone, Copy, Debug, ValueEnum)]
pub enum ReviewOutcome {
Comment,
Reject,
Approve,
Request,
}
#[derive(Clone, Copy, Debug, ValueEnum)]
pub enum ReviewGroupBy {
File,
Session,
}
pub fn parse_nonempty(value: &str) -> Result<String, String> {
let value = value.trim();
if value.is_empty() {
Err("Expected nonempty text".into())
} else {
Ok(value.into())
}
}