1#[cfg(test)]
48mod tests;
49
50pub(crate) mod computation;
51pub mod engine;
52pub mod error;
53pub mod evaluation;
54pub mod formatting;
55pub mod inversion;
56pub mod limits;
57pub(crate) mod literals;
58pub mod parsing;
59pub mod planning;
60pub mod registry;
61pub mod serialization;
62pub mod spec_id;
63
64#[cfg(target_arch = "wasm32")]
65pub mod wasm;
66
67pub use engine::{Context, Engine, Errors, SourceType};
68pub use error::{Error, RequestErrorKind};
69pub use evaluation::explanation;
70pub use evaluation::operations::{
71 ComputationKind, OperationKind, OperationRecord, OperationResult,
72};
73pub use evaluation::response::{Facts, Response, RuleResult};
74pub use formatting::{format_source, format_specs};
75pub use inversion::{Bound, Domain, InversionResponse, Solution, Target, TargetOp};
76pub use limits::ResourceLimits;
77pub use parsing::ast::{
78 DateTimeValue, DepthTracker, LemmaFact, LemmaRule, LemmaSpec, MetaField, MetaValue, Span,
79 TypeDef,
80};
81pub use parsing::parse;
82pub use parsing::ParseResult;
83pub use parsing::Source;
84pub use planning::semantics::{
85 is_same_spec, FactPath, LemmaType, LiteralValue, RatioUnit, RatioUnits, RulePath, ScaleUnit,
86 ScaleUnits, SemanticDurationUnit, TypeDefiningSpec, TypeSpecification, ValueKind,
87};
88pub use planning::{ExecutionPlan, PlanningResult, SpecPlanningResult, SpecSchema};
89#[cfg(feature = "registry")]
90pub use registry::LemmaBase;
91pub use registry::{
92 resolve_registry_references, Registry, RegistryBundle, RegistryError, RegistryErrorKind,
93};
94pub use spec_id::parse_spec_id;