pub struct DocumentSchema {
pub doc: String,
pub facts: IndexMap<String, (LemmaType, Option<LiteralValue>)>,
pub rules: IndexMap<String, LemmaType>,
}Expand description
A document’s public interface: its facts (inputs) and rules (outputs) with full structured type information.
Built from an ExecutionPlan via ExecutionPlan::schema (all facts and
rules) or ExecutionPlan::schema_for_rules (scoped to specific rules and
only the facts they need).
Shared by the HTTP server, the CLI, the MCP server, WASM, and any other
consumer. Carries the real LemmaType and LiteralValue so consumers
can work at whatever fidelity they need — structured types for input forms,
or Display for plain text.
Fields§
§doc: StringDocument name
facts: IndexMap<String, (LemmaType, Option<LiteralValue>)>Facts (inputs) keyed by name: (type, optional default value)
rules: IndexMap<String, LemmaType>Rules (outputs) keyed by name, with their computed result types
Trait Implementations§
Source§impl Clone for DocumentSchema
impl Clone for DocumentSchema
Source§fn clone(&self) -> DocumentSchema
fn clone(&self) -> DocumentSchema
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DocumentSchema
impl Debug for DocumentSchema
Source§impl Display for DocumentSchema
impl Display for DocumentSchema
Auto Trait Implementations§
impl Freeze for DocumentSchema
impl RefUnwindSafe for DocumentSchema
impl Send for DocumentSchema
impl Sync for DocumentSchema
impl Unpin for DocumentSchema
impl UnsafeUnpin for DocumentSchema
impl UnwindSafe for DocumentSchema
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.