mod command;
mod parallel;
mod projects;
mod statistics;
mod test_runner;
pub use command::{run_compare_command, run_eval_command, run_retest_command};
pub use parallel::{run_parallel_evals, TrialEvent, TrialEventKind, TrialResult};
pub use projects::{extract_project_files, get_project, get_test_data, is_builtin, list_projects};
pub use statistics::{StatSummary, TrialStatistics};
pub use test_runner::{load_test_cases, TestCase, TestResult, TestResults, TestRunner};
use crate::build::tokens::TokenUsage;
use crate::prompts::PromptMode;
use std::path::PathBuf;
#[derive(Debug, Clone)]
pub struct EvalResult {
pub project: String,
pub mode: PromptMode,
pub trial_num: u32,
pub elapsed_secs: f64,
pub total_tokens: TokenUsage,
pub iterations: u32,
pub workspace_path: Option<PathBuf>,
pub test_results: Option<TestResults>,
}
#[derive(Debug, Clone)]
pub struct MultiTrialResult {
pub project: String,
pub trial_count: u32,
pub trials: Vec<EvalResult>,
pub statistics: TrialStatistics,
}