pub trait ObservabilityHook: WasmCompatSend + WasmCompatSync {
// Required method
fn on_event(
&self,
event: HookEvent<'_>,
) -> impl Future<Output = Result<HookAction, HookError>> + WasmCompatSend;
}Expand description
Hook for observability (logging, metrics, telemetry).
Does NOT control execution flow beyond Continue/Skip/Terminate.
For durable execution wrapping, use DurableContext instead.
§Example
use std::future::Future;
use neuron_types::*;
struct LogHook;
impl ObservabilityHook for LogHook {
fn on_event(&self, event: HookEvent<'_>)
-> impl Future<Output = Result<HookAction, HookError>> + Send
{
async move { println!("{event:?}"); Ok(HookAction::Continue) }
}
}Required Methods§
Sourcefn on_event(
&self,
event: HookEvent<'_>,
) -> impl Future<Output = Result<HookAction, HookError>> + WasmCompatSend
fn on_event( &self, event: HookEvent<'_>, ) -> impl Future<Output = Result<HookAction, HookError>> + WasmCompatSend
Called for each event in the agentic loop.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.