Skip to main content

LoopObserver

Trait LoopObserver 

Source
pub trait LoopObserver: Send + Sync {
    // Required method
    fn handle_event(&self, event: AgentEvent);
}
Expand description

Observer hook for streaming agent events to the host application.

Register observers via AgentBuilder::observer to receive real-time notifications about deltas, tool calls, usage, warnings, and lifecycle events.

§Example

use agentkit_loop::{AgentEvent, LoopObserver};

struct StdoutObserver;

impl LoopObserver for StdoutObserver {
    fn handle_event(&self, event: AgentEvent) {
        println!("{event:?}");
    }
}

Required Methods§

Source

fn handle_event(&self, event: AgentEvent)

Called synchronously for every AgentEvent emitted by the loop driver. Observers store mutable state behind interior mutability (Mutex, atomics, channels) so the driver can share an Arc<dyn LoopObserver> across reusable Agent starts.

Implementors§