#![forbid(unsafe_code)]
pub mod config;
pub mod conversation;
pub mod error;
pub mod eval;
pub mod exit;
pub mod provider;
pub mod report;
pub mod runner;
pub mod skill;
pub mod testcase;
pub use config::{
ApiJudgeConfig, ApiVendor, CommandConfig, Config, JudgeConfig, OneharnessConfig, Overrides,
ProviderConfig,
};
pub use conversation::{Message, Role, Transcript};
pub use error::{Error, Result};
pub use eval::{Comparator, Eval, EvalDetail, EvalOutcome, JudgeValue};
pub use exit::ExitCode;
pub use provider::{
supports_resume, ApiJudgeProvider, AssistantTurn, CommandProvider, JudgeKind, JudgeQuery,
JudgeVerdict, OneharnessProvider, Provider, SkillRef, SplitProvider, Usage, UserTurn,
};
pub use report::{CaseRun, Report, Summary, ValidationFinding, ValidationReport};
pub use runner::Runner;
pub use skill::{load_skill, validate_path, validate_skill, Finding, SkillDefinition};
pub use testcase::{discover_cases, SimulatedUser, TestCase};