Expand description
Persistent event log system for declarative event flows
This module provides the EventLog trait and implementations for
durable event storage, replacing the fire-and-forget EventBus as the
source of truth for event flows.
§Architecture
EventBus (broadcast, real-time)
↓ bridge
EventLog (persistent, ordered, replayable)
↓ subscribe
FlowRuntime (consumes events, executes pipelines)§Backends
InMemoryEventLog— Default, suitable for development and single-instance- Future: NATS JetStream, Kafka, Redis Streams
Re-exports§
pub use compiler::CompiledFlow;pub use compiler::compile_flow;pub use compiler::compile_flows;pub use context::FlowContext;pub use log::EventLog;pub use matcher::EventMatcher;pub use memory::InMemoryEventLog;pub use runtime::FlowRuntime;pub use sinks::InAppNotificationSink;pub use sinks::Sink;pub use sinks::SinkFactory;pub use sinks::SinkRegistry;pub use types::*;
Modules§
- compiler
- Flow compiler — compiles FlowConfig YAML into executable CompiledFlow
- context
- FlowContext — the context bag passed through the pipeline
- log
- EventLog trait — persistent, ordered, replayable event storage
- matcher
- EventMatcher — compiles a TriggerConfig into an executable matcher
- memory
- In-memory EventLog implementation
- operators
- Pipeline operators for declarative event flows
- runtime
- FlowRuntime — subscribes to EventLog and dispatches events to compiled flows
- sinks
- Sink system — destinations for processed events
- types
- Core types for the event log system