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§
- Channel
Interceptor - A
BspInterceptorthat forwards every event onto atokio::sync::broadcastchannel — 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.