Skip to main content

Module events

Module events 

Source
Expand description

The live event stream: telemetry observers for runs, and a broadcast bridge.

BspInterceptor is the engine’s observability surface — what a GUI subscribes to for its live execution view (highlight the active edge, badge the loop counter, show the “waiting for input” card). Events carry no S payloads, so the trait stays dyn-safe with no type parameter; snapshots of consumer state remain the consumer’s recorder concern.

Every method has a default no-op body: interceptors written against the original three-method dataflow trait (on_node_start / on_node_complete / on_node_error) keep compiling unchanged.

Callbacks are synchronous by design; ChannelInterceptor bridges the stream to async consumers over a tokio::sync::broadcast channel.

Structs§

ChannelInterceptor
A BspInterceptor that forwards every event onto a tokio::sync::broadcast channel — every GUI / CLI / TUI then just subscribes.

Enums§

BspEvent
One owned event from the execution stream, as broadcast by ChannelInterceptor.

Traits§

BspInterceptor
Telemetry observer to audit performance and trace the state transitions of a run.