This commit is contained in:
Brandon Thomas committed 2026-03-10 19:06:30 -04:00
1 parent e1d93ccccd
commit 63d7fa4a03
3 files changed
+40 -38

No files matched your search

@@ -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
}
}
}
@@ -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
}
}
}
@@ -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
}