#![forbid(unsafe_code)]
mod audit;
mod budget;
mod efficiency;
mod error;
mod evaluator;
mod gate;
mod match_;
mod response;
mod runner;
mod score;
mod store;
mod trajectory;
mod types;
#[cfg(feature = "yaml")]
mod yaml;
pub use audit::AuditedInvocation;
pub use budget::BudgetEvaluator;
pub use efficiency::EfficiencyEvaluator;
pub use error::EvalError;
pub use evaluator::{Evaluator, EvaluatorRegistry};
pub use gate::{GateConfig, GateResult, check_gate};
pub use match_::{MatchMode, TrajectoryMatcher};
pub use response::ResponseMatcher;
pub use runner::{AgentFactory, EvalRunner};
pub use score::{Score, Verdict};
pub use store::{EvalStore, FsEvalStore};
pub use trajectory::{BudgetGuard, TrajectoryCollector};
pub use types::{
BudgetConstraints, EvalCase, EvalCaseResult, EvalMetricResult, EvalSet, EvalSetResult,
EvalSummary, ExpectedToolCall, Invocation, RecordedToolCall, ResponseCriteria, TurnRecord,
};
#[cfg(feature = "yaml")]
pub use yaml::load_eval_set_yaml;