pub struct Schema {
pub json_schema: Value,
pub merge_hints: HashMap<String, MergeHint>,
pub enforcement: EnforcementMode,
}Expand description
A schema definition with merge hints.
Fields§
§json_schema: ValueThe raw JSON Schema document.
merge_hints: HashMap<String, MergeHint>Extracted merge hints per path.
enforcement: EnforcementModeEnforcement mode.
Implementations§
Source§impl Schema
impl Schema
Sourcepub fn from_json_schema(schema: Value, enforcement: EnforcementMode) -> Self
pub fn from_json_schema(schema: Value, enforcement: EnforcementMode) -> Self
Create a new schema from a JSON Schema document. Extracts x-agentstategraph-merge hints from the schema.
Sourcepub fn merge_hint_for(&self, path: &str) -> Option<&MergeHint>
pub fn merge_hint_for(&self, path: &str) -> Option<&MergeHint>
Get the merge hint for a specific path.
Sourcepub fn validate(&self, value: &Value) -> ValidationResult
pub fn validate(&self, value: &Value) -> ValidationResult
Validate a JSON value against this schema. Basic validation — checks required fields and types.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Schema
impl<'de> Deserialize<'de> for Schema
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
impl StructuralPartialEq for Schema
Auto Trait Implementations§
impl Freeze for Schema
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnsafeUnpin for Schema
impl UnwindSafe for Schema
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