use crate::cli::args_corpus_analysis::{
CorpusAnalysisDiagCommands, CorpusAnalysisGatesCommands, CorpusAnalysisPipelineCommands,
};
use crate::models::Result;
pub(super) fn handle_corpus_analysis_diag_ops(command: CorpusAnalysisDiagCommands) -> Result<()> {
match command {
CorpusAnalysisDiagCommands::Suspicious { limit } => {
super::corpus_metrics_commands::corpus_suspicious(limit)
}
CorpusAnalysisDiagCommands::Decisions => {
super::corpus_decision_commands::corpus_decisions()
}
CorpusAnalysisDiagCommands::Patterns => super::corpus_decision_commands::corpus_patterns(),
CorpusAnalysisDiagCommands::PatternQuery { signal } => {
super::corpus_decision_commands::corpus_pattern_query(&signal)
}
CorpusAnalysisDiagCommands::FixSuggest { id } => {
super::corpus_decision_commands::corpus_fix_suggest(&id)
}
CorpusAnalysisDiagCommands::Graph => super::corpus_advanced_commands::corpus_graph(),
CorpusAnalysisDiagCommands::Impact { limit } => {
super::corpus_advanced_commands::corpus_impact(limit)
}
CorpusAnalysisDiagCommands::BlastRadius { decision } => {
super::corpus_advanced_commands::corpus_blast_radius(&decision)
}
CorpusAnalysisDiagCommands::Dedup => super::corpus_advanced_commands::corpus_dedup(),
CorpusAnalysisDiagCommands::Triage => super::corpus_advanced_commands::corpus_triage(),
CorpusAnalysisDiagCommands::LabelRules => {
super::corpus_advanced_commands::corpus_label_rules()
}
CorpusAnalysisDiagCommands::OrgPatterns => {
super::corpus_convergence_commands::corpus_org_patterns()
}
CorpusAnalysisDiagCommands::ConvergeTable => {
super::corpus_convergence_commands::corpus_converge_table()
}
CorpusAnalysisDiagCommands::ConvergeDiff { from, to } => {
super::corpus_convergence_commands::corpus_converge_diff(from, to)
}
CorpusAnalysisDiagCommands::ConvergeStatus => {
super::corpus_convergence_commands::corpus_converge_status()
}
CorpusAnalysisDiagCommands::Mine { limit } => {
super::corpus_convergence_commands::corpus_mine(limit)
}
CorpusAnalysisDiagCommands::FixGaps { limit } => {
super::corpus_convergence_commands::corpus_fix_gaps(limit)
}
CorpusAnalysisDiagCommands::SchemaValidate => {
super::corpus_convergence_commands::corpus_schema_validate()
}
CorpusAnalysisDiagCommands::GrammarErrors => {
super::corpus_convergence_commands::corpus_grammar_errors()
}
CorpusAnalysisDiagCommands::FormatGrammar { format } => {
super::corpus_convergence_commands::corpus_format_grammar(format)
}
CorpusAnalysisDiagCommands::ExportDataset { format, output } => {
super::corpus_config_commands::corpus_export_dataset(format, output)
}
}
}
pub(super) fn handle_corpus_analysis_gates_ops(command: CorpusAnalysisGatesCommands) -> Result<()> {
match command {
CorpusAnalysisGatesCommands::ConvergenceCheck => {
super::corpus_pipeline_commands::corpus_convergence_check()
}
CorpusAnalysisGatesCommands::GateStatus => {
super::corpus_config_commands::corpus_gate_status_cmd()
}
CorpusAnalysisGatesCommands::QualityGates => {
super::corpus_config_commands::corpus_quality_gates()
}
CorpusAnalysisGatesCommands::MetricsCheck => {
super::corpus_config_commands::corpus_metrics_check()
}
CorpusAnalysisGatesCommands::RegressionCheck => {
super::corpus_pipeline_commands::corpus_regression_check()
}
CorpusAnalysisGatesCommands::LintPipeline => {
super::corpus_pipeline_commands::corpus_lint_pipeline()
}
CorpusAnalysisGatesCommands::PublishCheck => {
super::corpus_config_commands::corpus_publish_check()
}
CorpusAnalysisGatesCommands::DiagnoseB2 { filter, limit } => {
super::corpus_b2_commands::corpus_diagnose_b2(filter.as_ref(), limit)
}
CorpusAnalysisGatesCommands::FixB2 { apply } => {
super::corpus_b2_commands::corpus_fix_b2(apply)
}
CorpusAnalysisGatesCommands::DatasetInfo => {
super::corpus_config_commands::corpus_dataset_info()
}
CorpusAnalysisGatesCommands::GenerateConversations {
output,
seed,
limit,
entrenar,
} => super::corpus_config_commands::corpus_generate_conversations(
output, seed, limit, entrenar,
),
CorpusAnalysisGatesCommands::Baselines => super::corpus_config_commands::corpus_baselines(),
CorpusAnalysisGatesCommands::CweMapping { json } => {
super::corpus_config_commands::corpus_cwe_mapping(json)
}
CorpusAnalysisGatesCommands::ExportBenchmark { output, limit } => {
super::corpus_config_commands::corpus_export_benchmark(output, limit)
}
CorpusAnalysisGatesCommands::PipelineCheck { json } => {
super::corpus_ssb_commands::corpus_pipeline_check(json)
}
CorpusAnalysisGatesCommands::DomainCategories => {
super::corpus_config_commands::corpus_domain_categories()
}
CorpusAnalysisGatesCommands::DomainCoverage => {
super::corpus_config_commands::corpus_domain_coverage()
}
CorpusAnalysisGatesCommands::DomainMatrix => {
super::corpus_config_commands::corpus_domain_matrix()
}
CorpusAnalysisGatesCommands::TierWeights => {
super::corpus_config_commands::corpus_tier_weights()
}
CorpusAnalysisGatesCommands::TierAnalysis => {
super::corpus_config_commands::corpus_tier_analysis()
}
CorpusAnalysisGatesCommands::TierTargets => {
super::corpus_config_commands::corpus_tier_targets()
}
}
}
pub(super) fn handle_corpus_analysis_pipeline_ops(
command: CorpusAnalysisPipelineCommands,
) -> Result<()> {
match command {
CorpusAnalysisPipelineCommands::MergeData {
output,
input,
seed,
} => super::corpus_ssb_commands::corpus_merge_data(output, input, seed),
CorpusAnalysisPipelineCommands::ShellcheckValidate {
samples,
seed,
json,
} => super::corpus_ssb_commands::corpus_shellcheck_validate(samples, seed, json),
CorpusAnalysisPipelineCommands::EvalBenchmark { predictions, json } => {
super::corpus_ssb_commands::corpus_eval_benchmark(predictions, json)
}
CorpusAnalysisPipelineCommands::Label {
input,
output,
format: _,
} => super::corpus_config_commands::corpus_label(input, output),
CorpusAnalysisPipelineCommands::LabelAudit { limit } => {
super::corpus_config_commands::corpus_label_audit(limit)
}
CorpusAnalysisPipelineCommands::GeneralizationTests => {
super::corpus_config_commands::corpus_generalization_tests()
}
CorpusAnalysisPipelineCommands::TokenizerValidation => {
super::corpus_config_commands::corpus_tokenizer_validation()
}
CorpusAnalysisPipelineCommands::ValidateContracts => {
super::corpus_config_commands::corpus_validate_contracts()
}
CorpusAnalysisPipelineCommands::ExportSplits { output, input } => {
super::corpus_config_commands::corpus_export_splits(output, input)
}
CorpusAnalysisPipelineCommands::SscReport { json, gate } => {
super::corpus_config_commands::corpus_ssc_report(json, gate)
}
CorpusAnalysisPipelineCommands::ModelCard { output } => {
super::corpus_config_commands::corpus_model_card(output)
}
CorpusAnalysisPipelineCommands::TrainingConfig { output, json } => {
super::corpus_config_commands::corpus_training_config(output, json)
}
CorpusAnalysisPipelineCommands::PublishDataset { output } => {
super::corpus_config_commands::corpus_publish_dataset(output)
}
CorpusAnalysisPipelineCommands::PublishBenchmark {
input,
output,
version,
} => super::corpus_expansion_commands::corpus_publish_benchmark(input, output, version),
CorpusAnalysisPipelineCommands::GenerateExpansion {
format,
count,
output,
seed,
} => {
super::corpus_expansion_commands::corpus_generate_expansion(format, count, output, seed)
}
CorpusAnalysisPipelineCommands::PublishConversations { output, seed } => {
super::corpus_config_commands::corpus_publish_conversations(output, seed)
}
CorpusAnalysisPipelineCommands::ConvertSsb {
input,
output,
limit,
} => super::corpus_ssb_commands::corpus_convert_ssb(input, output, limit),
CorpusAnalysisPipelineCommands::ExtractEmbeddings {
model,
output,
limit,
input_jsonl,
} => {
super::corpus_ml_commands::corpus_extract_embeddings(model, output, limit, input_jsonl)
}
CorpusAnalysisPipelineCommands::TrainClassifier {
embeddings,
output,
epochs,
learning_rate,
seed,
max_entries,
augment,
mlp,
mlp_hidden,
} => super::corpus_ml_commands::corpus_train_classifier(
embeddings,
output,
epochs,
learning_rate,
seed,
max_entries,
augment,
mlp,
mlp_hidden,
),
CorpusAnalysisPipelineCommands::RunClassifier {
model,
output,
epochs,
learning_rate,
seed,
} => super::corpus_ml_commands::corpus_run_classifier(
model,
output,
epochs,
learning_rate,
seed,
),
CorpusAnalysisPipelineCommands::BatchEval {
model,
test_data,
output,
max_tokens,
} => super::corpus_ssb_commands::corpus_batch_eval(model, test_data, output, max_tokens),
}
}