//! Arguments for `mcptest schema`.

use clap::Args;

/// Arguments for `mcptest schema`.
///
/// `disable_version_flag = true` suppresses clap's auto-generated
/// `--version`/`-V` on this subcommand so we can reuse the long name for
/// the schema-version selector below. The top-level `mcptest --version`
/// flag stays wired through `Cli`.
#[derive(Debug, Args)]
#[command(disable_version_flag = true)]
pub struct SchemaArgs {
    /// Schema version to emit. Currently only `v1` is shipped; a future
    /// `v2` lands as a separate arm without changing the calling
    /// convention.
    #[arg(long = "version", value_name = "VERSION", default_value = "v1")]
    pub schema_version: String,
}

impl Default for SchemaArgs {
    fn default() -> Self {
        Self {
            schema_version: "v1".to_owned(),
        }
    }
}
