pub enum Expected {
Show 16 variants
MustContain {
must_contain: Vec<String>,
},
MustNotContain {
must_not_contain: Vec<String>,
},
RegexMatch {
pattern: String,
flags: Vec<String>,
},
RegexNotMatch {
pattern: String,
flags: Vec<String>,
},
JsonSchema {
json_schema: String,
schema_file: Option<String>,
},
SemanticSimilarityTo {
semantic_similarity_to: String,
min_score: f64,
thresholding: Option<ThresholdingConfig>,
},
JudgeCriteria {
judge_criteria: Value,
},
Faithfulness {
min_score: f64,
rubric_version: Option<String>,
thresholding: Option<ThresholdingConfig>,
},
Relevance {
min_score: f64,
rubric_version: Option<String>,
thresholding: Option<ThresholdingConfig>,
},
ArgsValid {
policy: Option<String>,
schema: Option<Value>,
},
SequenceValid {
policy: Option<String>,
sequence: Option<Vec<String>>,
rules: Option<Vec<SequenceRule>>,
},
ToolBlocklist {
blocked: Vec<String>,
},
ToolDescriptionIntegrity {
pinned_tools: Vec<PinnedTool>,
},
ToolOutputValid {
schemas: Option<Value>,
},
ToolCollisionDetect {
trusted_servers: Vec<String>,
},
Reference {
path: String,
},
}Variants§
MustContain
MustNotContain
RegexMatch
RegexNotMatch
JsonSchema
SemanticSimilarityTo
JudgeCriteria
Faithfulness
Relevance
ArgsValid
SequenceValid
ToolBlocklist
ToolDescriptionIntegrity
Detect rug-pull attacks: verify tool descriptions/schemas match pinned expectations or remain consistent across multiple tool-list snapshots in the same trace.
Fields
§
pinned_tools: Vec<PinnedTool>Pin specific tool definitions. If empty, snapshot-based mutation detection is used.
ToolOutputValid
Validate tool call outputs against per-tool JSON schemas.
Fields
ToolCollisionDetect
Detect tool shadowing: same tool name registered by multiple servers.
Fields
Reference
Implementations§
Source§impl Expected
impl Expected
pub fn get_policy_path(&self) -> Option<&str>
Sourcepub fn thresholding_for_metric(
&self,
metric_name: &str,
) -> Option<&ThresholdingConfig>
pub fn thresholding_for_metric( &self, metric_name: &str, ) -> Option<&ThresholdingConfig>
Per-test thresholding for baseline regression (mode/max_drop) when this Expected variant matches the metric.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Expected
impl<'de> Deserialize<'de> for Expected
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Expected
impl RefUnwindSafe for Expected
impl Send for Expected
impl Sync for Expected
impl Unpin for Expected
impl UnsafeUnpin for Expected
impl UnwindSafe for Expected
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more