pub struct MemoryWriteValidator { /* private fields */ }Expand description
Validates content before it is written to the memory store or graph extractor.
Construct once from MemoryWriteValidationConfig and store on the agent.
Cheap to clone.
§Examples
use zeph_sanitizer::memory_validation::MemoryWriteValidator;
use zeph_config::MemoryWriteValidationConfig;
let validator = MemoryWriteValidator::new(MemoryWriteValidationConfig::default());
assert!(validator.is_enabled());
// Small content passes.
assert!(validator.validate_memory_save("hello world").is_ok());
// Content exceeding the limit is rejected.
let huge = "x".repeat(10_000);
assert!(validator.validate_memory_save(&huge).is_err());Implementations§
Source§impl MemoryWriteValidator
impl MemoryWriteValidator
Sourcepub fn new(config: MemoryWriteValidationConfig) -> Self
pub fn new(config: MemoryWriteValidationConfig) -> Self
Create a validator from the given configuration.
§Examples
use zeph_sanitizer::memory_validation::MemoryWriteValidator;
use zeph_config::MemoryWriteValidationConfig;
let validator = MemoryWriteValidator::new(MemoryWriteValidationConfig::default());
assert!(validator.is_enabled());Sourcepub fn validate_memory_save(
&self,
content: &str,
) -> Result<(), MemoryValidationError>
pub fn validate_memory_save( &self, content: &str, ) -> Result<(), MemoryValidationError>
Validate content before it is written via the memory_save tool.
§Errors
Returns MemoryValidationError if any validation check fails.
Sourcepub fn validate_graph_extraction(
&self,
result: &ExtractionResult,
) -> Result<(), MemoryValidationError>
pub fn validate_graph_extraction( &self, result: &ExtractionResult, ) -> Result<(), MemoryValidationError>
Validate a graph extraction result before entities and edges are upserted.
Called inside the spawned extraction task, after GraphExtractor::extract() returns.
§Errors
Returns MemoryValidationError if any validation check fails.
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Returns true when validation is enabled.
When false, both validate_memory_save and
validate_graph_extraction always return Ok(()).
Trait Implementations§
Source§impl Clone for MemoryWriteValidator
impl Clone for MemoryWriteValidator
Source§fn clone(&self) -> MemoryWriteValidator
fn clone(&self) -> MemoryWriteValidator
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MemoryWriteValidator
impl RefUnwindSafe for MemoryWriteValidator
impl Send for MemoryWriteValidator
impl Sync for MemoryWriteValidator
impl Unpin for MemoryWriteValidator
impl UnsafeUnpin for MemoryWriteValidator
impl UnwindSafe for MemoryWriteValidator
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request