From 63d7fa4a0357887017da99d229ea08e72ae42fcb Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 10 Mar 2026 19:06:30 -0400 Subject: [PATCH] cleanup --- .../support-tool/src/commands/mod.rs | 36 +------------------ .../support-tool/src/commands/run.rs | 36 +++++++++++++++++++ .../cli/production/support-tool/src/main.rs | 6 ++-- 3 files changed, 40 insertions(+), 38 deletions(-) create mode 100644 crates/cli/production/support-tool/src/commands/run.rs diff --git a/crates/cli/production/support-tool/src/commands/mod.rs b/crates/cli/production/support-tool/src/commands/mod.rs index b848e1f636..61eed3cb95 100644 --- a/crates/cli/production/support-tool/src/commands/mod.rs +++ b/crates/cli/production/support-tool/src/commands/mod.rs @@ -1,36 +1,2 @@ +pub mod run; pub mod seedance2pro; - -use clap::{Parser, Subcommand}; - -/// All canonical subcommand names across all modules. -/// Used by the underscore-insensitive arg normalizer. -pub fn all_canonical_names() -> Vec<&'static str> { - let mut names: Vec<&str> = vec!["seedance2pro"]; - names.extend_from_slice(seedance2pro::dispatch::SUBCOMMAND_NAMES); - names -} - -#[derive(Parser)] -#[command(name = "support-tool", about = "Production support CLI")] -pub struct Cli { - #[command(subcommand)] - pub command: TopLevelCommand, -} - -#[derive(Subcommand)] -#[command(rename_all = "snake_case")] -pub enum TopLevelCommand { - /// Seedance2 Pro support commands - Seedance2pro { - #[command(subcommand)] - command: seedance2pro::Seedance2proCommand, - }, -} - -pub async fn run(cli: Cli) -> anyhow::Result<()> { - match cli.command { - TopLevelCommand::Seedance2pro { command } => { - seedance2pro::run(command).await - } - } -} diff --git a/crates/cli/production/support-tool/src/commands/run.rs b/crates/cli/production/support-tool/src/commands/run.rs new file mode 100644 index 0000000000..3b9ccfc542 --- /dev/null +++ b/crates/cli/production/support-tool/src/commands/run.rs @@ -0,0 +1,36 @@ +use clap::{Parser, Subcommand}; + +use super::seedance2pro; + +/// All canonical subcommand names across all modules. +/// Used by the underscore-insensitive arg normalizer. +pub fn all_canonical_names() -> Vec<&'static str> { + let mut names: Vec<&str> = vec!["seedance2pro"]; + names.extend_from_slice(seedance2pro::dispatch::SUBCOMMAND_NAMES); + names +} + +#[derive(Parser)] +#[command(name = "support-tool", about = "Production support CLI")] +pub struct Cli { + #[command(subcommand)] + pub command: TopLevelCommand, +} + +#[derive(Subcommand)] +#[command(rename_all = "snake_case")] +pub enum TopLevelCommand { + /// Seedance2 Pro support commands + Seedance2pro { + #[command(subcommand)] + command: seedance2pro::Seedance2proCommand, + }, +} + +pub async fn run(cli: Cli) -> anyhow::Result<()> { + match cli.command { + TopLevelCommand::Seedance2pro { command } => { + seedance2pro::run(command).await + } + } +} diff --git a/crates/cli/production/support-tool/src/main.rs b/crates/cli/production/support-tool/src/main.rs index 80ff626373..393b0e99b3 100644 --- a/crates/cli/production/support-tool/src/main.rs +++ b/crates/cli/production/support-tool/src/main.rs @@ -2,13 +2,13 @@ mod commands; mod utils; use clap::Parser; -use commands::Cli; +use commands::run::{Cli, all_canonical_names}; use utils::normalize_subcommands::normalize_subcommand_args; #[tokio::main] async fn main() -> anyhow::Result<()> { // Normalize args so underscores in subcommand names are optional. - let canonical_names = commands::all_canonical_names(); + let canonical_names = all_canonical_names(); let args = normalize_subcommand_args(std::env::args(), &canonical_names); // Parse CLI args first so --help works without the env file. @@ -20,5 +20,5 @@ async fn main() -> anyhow::Result<()> { easyenv::init_env_logger(Some("info")); - commands::run(cli).await + commands::run::run(cli).await }