use agent_sdk_core::AgentError;
use crate::{EvaluationReport, EvaluationRequest, EvidenceBundle};
pub trait Evaluator {
fn evaluate(
&self,
request: &EvaluationRequest,
evidence: &EvidenceBundle,
) -> Result<EvaluationReport, AgentError>;
}
impl<T> Evaluator for &T
where
T: Evaluator + ?Sized,
{
fn evaluate(
&self,
request: &EvaluationRequest,
evidence: &EvidenceBundle,
) -> Result<EvaluationReport, AgentError> {
(*self).evaluate(request, evidence)
}
}