this/events/mod.rs
1//! Persistent event log system for declarative event flows
2//!
3//! This module provides the `EventLog` trait and implementations for
4//! durable event storage, replacing the fire-and-forget `EventBus` as the
5//! source of truth for event flows.
6//!
7//! # Architecture
8//!
9//! ```text
10//! EventBus (broadcast, real-time)
11//! ↓ bridge
12//! EventLog (persistent, ordered, replayable)
13//! ↓ subscribe
14//! FlowRuntime (consumes events, executes pipelines)
15//! ```
16//!
17//! # Backends
18//!
19//! - `InMemoryEventLog` — Default, suitable for development and single-instance
20//! - Future: NATS JetStream, Kafka, Redis Streams
21
22pub mod compiler;
23pub mod context;
24pub mod log;
25pub mod matcher;
26pub mod memory;
27pub mod operators;
28pub mod runtime;
29pub mod sinks;
30pub mod types;
31
32pub use compiler::{CompiledFlow, compile_flow, compile_flows};
33pub use context::FlowContext;
34pub use log::EventLog;
35pub use matcher::EventMatcher;
36pub use memory::InMemoryEventLog;
37pub use runtime::FlowRuntime;
38pub use sinks::{InAppNotificationSink, Sink, SinkFactory, SinkRegistry};
39pub use types::*;