pub mod commands;
use clap::{Args, Subcommand};
#[derive(Args)]
pub struct BiosynthesisArgs {
#[command(subcommand)]
cmd: BiosynthesisSubcommand,
}
#[derive(Subcommand)]
enum BiosynthesisSubcommand {
Validate(commands::validate::ValidateArgs),
Audit(commands::audit::AuditArgs),
Verify(commands::verify::VerifyArgs),
AuditGaps(commands::audit_gaps::AuditGapsArgs),
Inspect(commands::inspect::InspectArgs),
Keygen(commands::keygen::KeygenArgs),
Intent(commands::intent::IntentArgs),
Differential(commands::differential::DifferentialArgs),
VerifySelf,
Adversarial(commands::adversarial::AdversarialArgs),
Campaign(commands::campaign::CampaignArgs),
Eval(commands::eval::EvalArgs),
}
pub fn run(args: BiosynthesisArgs) -> i32 {
match args.cmd {
BiosynthesisSubcommand::Validate(a) => commands::validate::run(&a),
BiosynthesisSubcommand::Audit(a) => commands::audit::run(&a),
BiosynthesisSubcommand::Verify(a) => commands::verify::run(&a),
BiosynthesisSubcommand::AuditGaps(a) => commands::audit_gaps::run(&a),
BiosynthesisSubcommand::Inspect(a) => commands::inspect::run(&a),
BiosynthesisSubcommand::Keygen(a) => commands::keygen::run(&a),
BiosynthesisSubcommand::Intent(a) => commands::intent::run(&a),
BiosynthesisSubcommand::Differential(a) => commands::differential::run(&a),
BiosynthesisSubcommand::VerifySelf => commands::verify_self::run(),
BiosynthesisSubcommand::Adversarial(a) => commands::adversarial::run(&a),
BiosynthesisSubcommand::Campaign(a) => commands::campaign::run(&a),
BiosynthesisSubcommand::Eval(a) => commands::eval::run(&a),
}
}