use std::path::PathBuf;
use clap::Args;
use crate::disagg::DisaggregationMode;
#[derive(Args, Clone, Debug)]
pub struct CommonArgs {
#[arg(long, default_value = "dynamo", env = "DYN_NAMESPACE")]
pub namespace: String,
#[arg(long, default_value = "backend", env = "DYN_COMPONENT")]
pub component: String,
#[arg(long, default_value = "generate", env = "DYN_ENDPOINT")]
pub endpoint: String,
#[arg(long, default_value = "chat,completions", env = "DYN_ENDPOINT_TYPES")]
pub endpoint_types: String,
#[arg(long, env = "DYN_CUSTOM_JINJA_TEMPLATE")]
pub custom_jinja_template: Option<PathBuf>,
#[arg(
long,
value_enum,
default_value_t = DisaggregationMode::Aggregated,
env = "DYN_DISAGGREGATION_MODE",
)]
pub disaggregation_mode: DisaggregationMode,
}