pub struct SchemaValidator { /* private fields */ }Available on crate features
guardrail and schema only.Expand description
JSON Schema validator guardrail for enforcing output structure
Implementations§
Source§impl SchemaValidator
impl SchemaValidator
Sourcepub fn new(schema: &Value) -> Result<SchemaValidator, GuardrailError>
pub fn new(schema: &Value) -> Result<SchemaValidator, GuardrailError>
Create a new schema validator from a JSON Schema value
Sourcepub fn with_name(self, name: impl Into<String>) -> SchemaValidator
pub fn with_name(self, name: impl Into<String>) -> SchemaValidator
Create with a custom name
Sourcepub fn with_severity(self, severity: Severity) -> SchemaValidator
pub fn with_severity(self, severity: Severity) -> SchemaValidator
Set severity level
Trait Implementations§
Source§impl Guardrail for SchemaValidator
impl Guardrail for SchemaValidator
Source§fn validate<'life0, 'life1, 'async_trait>(
&'life0 self,
content: &'life1 Content,
) -> Pin<Box<dyn Future<Output = GuardrailResult> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SchemaValidator: 'async_trait,
fn validate<'life0, 'life1, 'async_trait>(
&'life0 self,
content: &'life1 Content,
) -> Pin<Box<dyn Future<Output = GuardrailResult> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
SchemaValidator: 'async_trait,
Validate content and return result
Source§fn run_parallel(&self) -> bool
fn run_parallel(&self) -> bool
Whether to run in parallel with other guardrails (default: true)
Auto Trait Implementations§
impl Freeze for SchemaValidator
impl !RefUnwindSafe for SchemaValidator
impl Send for SchemaValidator
impl Sync for SchemaValidator
impl Unpin for SchemaValidator
impl UnsafeUnpin for SchemaValidator
impl !UnwindSafe for SchemaValidator
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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::RequestCreates a shared type from an unshared type.