pub mod compose;
pub mod permits;
pub mod sequence;
pub mod verify;
use anyhow::Result;
use clap::{Args, Subcommand};
#[derive(Debug, Args)]
pub struct CommandArgs {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Debug, Subcommand)]
pub enum Commands {
Compose(compose::CommandArgs),
Verify(verify::CommandArgs),
Permits(permits::CommandArgs),
Sequence(sequence::CommandArgs),
}
pub fn exec(args: CommandArgs) -> Result<()> {
match args.command {
Commands::Compose(args) => compose::exec(args),
Commands::Verify(args) => verify::exec(args),
Commands::Permits(args) => permits::exec(args),
Commands::Sequence(args) => sequence::exec(args),
}
}