//! Clap-derived argument structs for every subcommand.
//!
//! One file per subcommand keeps each module within the AGENTS.md
//! 400-line ceiling and makes it obvious where to add a new flag.

pub mod ablation;
pub mod auth_overrides;
pub mod badge;
pub mod bakeoff;
pub mod baseline;
pub mod cache;
pub mod completions;
pub mod compliance;
pub mod concurrency;
pub mod conformance;
pub mod coverage;
pub mod diff;
pub mod discover;
pub mod distill;
pub mod doctor;
pub mod drift;
pub mod ecosystem;
pub mod eval;
pub mod evidence;
pub mod exec;
pub mod fault_coverage;
pub mod fuzz;
pub mod generate;
pub mod import;
pub mod init;
pub mod inspect;
pub mod interop;
pub mod introspect;
pub mod judge;
pub mod ledger;
pub mod lint;
pub mod login;
pub mod manifest;
pub mod matchers;
pub mod mcp_server;
pub mod migrate;
pub mod mock;
pub mod model_compat;
pub mod pipe;
pub mod policy;
pub mod posture;
pub mod prompt;
pub mod propose;
pub mod record;
pub mod redteam;
pub mod report;
pub mod run;
pub mod sbom;
pub mod scan;
pub mod scenario;
pub mod schema;
pub mod schema_lint;
pub mod security;
pub mod skill;
pub mod tool_bench;
pub mod validate;
pub mod web_bot_auth;
pub mod workbench;

pub use ablation::AblationArgs;
pub use auth_overrides::{any_auth_override, apply_auth_overrides, AuthOverrideError};
pub use badge::{BadgeArgs, BadgeFormat};
pub use bakeoff::{BakeoffArgs, BakeoffFormat};
pub use baseline::{BaselineArgs, BaselineCommand, BaselineUpdateArgs};
pub use cache::{CacheArgs, CacheCommand};
pub use completions::CompletionsArgs;
pub use compliance::{
    ComplianceArgs, ComplianceCommand, ComplianceFormat, ComplianceInvariantsArgs,
    ComplianceRunArgs, InvariantsFormat,
};
pub use concurrency::ConcurrencyArgs;
pub use conformance::{
    ConformanceArgs, ConformanceCheckIdsArgs, ConformanceCheckIdsFormat, ConformanceCommand,
    ConformanceFormat, ConformanceRefreshArgs, ConformanceRunArgs,
};
pub use coverage::{CoverageArgs, CoverageFormat};
pub use diff::{DiffArgs, DiffFormat};
pub use discover::DiscoverArgs;
pub use distill::DistillArgs;
pub use doctor::DoctorArgs;
pub use drift::{DriftArgs, DriftCaptureArgs, DriftCheckArgs, DriftCommand};
pub use ecosystem::{
    EcosystemArgs, EcosystemCommand, EcosystemImportArgs, EcosystemSelectArgs, RoleFilter,
    TransportFilter,
};
pub use eval::EvalArgs;
pub use evidence::{
    DiffOutFormat, EvidenceArgs, EvidenceCommand, EvidenceDiffArgs, EvidencePackArgs,
    EvidenceVerifyArgs, PackFormat,
};
pub use exec::ExecArgs;
pub use fault_coverage::{FaultCoverageArgs, FaultCoverageFormat};
pub use fuzz::FuzzArgs;
pub use generate::{GenerateArgs, GenerateCommand, GenerateStubsCliArgs, GenerateSuiteCliArgs};
pub use import::{ImportArgs, ImportKind};
pub use init::{InitArgs, InitAuthKind};
pub use inspect::InspectCliArgs;
pub use interop::{
    InteropArgs, InteropCommand, InteropDatasetArgs, InteropExportArgs, InteropImportArgs,
    InteropSource,
};
pub use introspect::{
    IntrospectCliArgs, IntrospectFormatCli, ToolsCallCliArgs, ToolsCliArgs, ToolsSubcommand,
};
pub use judge::{JudgeArgs, JudgeCertifyArgs, JudgeCommand};
pub use ledger::{LedgerArgs, LedgerCommand, LedgerDiffArgs, LedgerEmitArgs};
pub use lint::{LintArgs, LintFormat};
pub use login::LoginArgs;
pub use manifest::{ManifestArgs, ManifestCommand, ManifestDiffArgs, ManifestFormat};
pub use matchers::MatchersArgs;
pub use mcp_server::McpServerArgs;
pub use migrate::MigrateArgs;
pub use mock::MockArgs;
pub use model_compat::{
    ModelCompatArgs, ModelCompatCaptureArgs, ModelCompatCommand, ModelCompatDiffArgs,
    ModelCompatDiffFormatCli, ModelCompatRunArgs,
};
pub use pipe::{OnBudgetExceededCli, PipeArgs, PipeFormat};
pub use policy::{PolicyArgs, PolicyCommand, PolicyFormat, PolicySimulateArgs};
pub use posture::{PostureArgs, PostureFormat};
pub use prompt::PromptArgs;
pub use propose::ProposeArgs;
pub use record::RecordArgs;
pub use redteam::{RedteamArgs, RedteamFormat};
pub use report::{ReportArgs, ReportFormat, UploadArgs};
pub use run::{update_snapshots_mode_for, CacheFilter, RunArgs};
pub use sbom::{SbomArgs, SbomFormat};
pub use scan::{ScanArgs, ScanFormat};
pub use scenario::{ScenarioArgs, ScenarioCommand, ScenarioRunArgs};
pub use schema::SchemaArgs;
pub use schema_lint::{SchemaLintArgs, SchemaLintFormat};
pub use security::{
    SecurityArgs, SecurityCassetteArgs, SecurityCommand, SecurityFailOn, SecurityFormat,
    SecurityImportArgs, SecurityProofArgs, SecurityProofFormat, SecuritySkillArgs,
};
pub use skill::{SkillAgentArg, SkillArgs};
pub use tool_bench::{ToolBenchArgs, ToolBenchCommand, ToolBenchRunArgs};
pub use validate::ValidateArgs;
pub use web_bot_auth::{DirectoryArgs, WebBotAuthArgs, WebBotAuthCommand};
pub use workbench::WorkbenchArgs;
