Skip to main content

Module events

Module events 

Source
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