rust-rule-engine 1.20.1

A blazing-fast Rust rule engine with RETE algorithm, backward chaining inference, and GRL (Grule Rule Language) syntax. Features: forward/backward chaining, pattern matching, unification, O(1) rule indexing, TMS, expression evaluation, method calls, streaming with Redis state backend, watermarking, and custom functions. Production-ready for business rules, expert systems, real-time stream processing, and decision automation.
Documentation
pub mod accumulate;
pub mod action_result;
pub mod agenda;
/// RETE algorithm core module
mod alpha;
pub mod alpha_memory_index;
pub mod auto_network;
mod beta;
pub mod deffacts;
pub mod facts;
pub mod globals;
pub mod grl_loader;
pub mod memoization;
mod memory;
pub mod multifield;
pub mod network;
pub mod optimization;
pub mod pattern;
pub mod propagation;
pub mod template;
pub mod tms;
pub mod working_memory;

#[cfg(feature = "streaming")]
pub mod stream_alpha_node;

#[cfg(feature = "streaming")]
pub mod stream_beta_node;

#[cfg(feature = "streaming")]
pub mod stream_join_node;

pub use accumulate::*;
pub use action_result::*;
pub use agenda::*;
pub use alpha::*;
pub use alpha_memory_index::*;
pub use beta::*;
pub use deffacts::*;
pub use facts::*;
pub use globals::*;
pub use grl_loader::*;
pub use memoization::*;
pub use memory::*;
pub use multifield::*;
pub use network::*;
pub use optimization::*;
pub use pattern::*;
pub use propagation::*;
pub use template::*;
pub use tms::*;
pub use working_memory::*;

#[cfg(feature = "streaming")]
pub use stream_alpha_node::*;

// Avoid glob re-export of stream_beta_node to prevent ambiguous re-exports (e.g. JoinStrategy)
// If consumers need specific symbols from stream_beta_node, re-export them explicitly here.

#[cfg(feature = "streaming")]
pub use stream_join_node::JoinStrategy;
#[cfg(feature = "streaming")]
pub use stream_join_node::StreamJoinNode;