pub enum AgentEvent {
Show 13 variants
Session(SessionEvent),
AgentStarted {
name: String,
},
AgentCompleted {
name: String,
},
ToolCallStarted {
name: String,
args: Value,
},
ToolCallCompleted {
name: String,
result: Value,
duration: Duration,
},
ToolCallFailed {
name: String,
error: String,
},
StreamingToolYield {
name: String,
value: Value,
},
AgentTransfer {
from: String,
to: String,
},
StateChanged {
key: String,
},
LoopIteration {
iteration: u32,
},
Timeout,
RouteSelected {
agent_name: String,
},
FallbackActivated {
agent_name: String,
},
}Expand description
Events emitted by agents during live execution. Wraps SessionEvent (Layer 0) and adds agent-specific events. No duplicate variants — use AgentEvent::Session(_) for wire-level events.
Variants§
Session(SessionEvent)
Passthrough of wire-level session events (text, audio, turn lifecycle).
AgentStarted
Agent lifecycle. An agent has started execution.
AgentCompleted
An agent has completed execution.
ToolCallStarted
A tool call has started execution.
ToolCallCompleted
A tool call completed successfully.
Fields
ToolCallFailed
A tool call failed.
StreamingToolYield
A streaming tool yielded an intermediate value.
AgentTransfer
An agent transferred control to another agent.
StateChanged
A state key was changed.
LoopIteration
A loop agent completed an iteration.
Timeout
An agent timed out.
RouteSelected
A route agent selected a branch.
FallbackActivated
A fallback agent activated a fallback branch.
Trait Implementations§
Source§impl Clone for AgentEvent
impl Clone for AgentEvent
Source§fn clone(&self) -> AgentEvent
fn clone(&self) -> AgentEvent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Freeze for AgentEvent
impl RefUnwindSafe for AgentEvent
impl Send for AgentEvent
impl Sync for AgentEvent
impl Unpin for AgentEvent
impl UnwindSafe for AgentEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].