Skip to main content

ObservabilityHook

Trait ObservabilityHook 

Source
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§

Source

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.

Implementors§