pub struct TurnSummary {
pub duration_ms: u64,
pub preview: String,
pub tool_calls: u32,
pub llm_requests: u32,
pub exit_status: TurnExitStatus,
}Expand description
Lightweight summary of a completed agent turn used as notification input.
Built by the agent loop after channel.flush_chunks() and passed to
Notifier::fire. Contains only what is needed for gate decisions and
notification body assembly — no LLM payloads or raw tool outputs.
Fields§
§duration_ms: u64Total wall-clock duration of the turn in milliseconds.
preview: StringFirst ≤ 160 chars of the assistant response, already redacted by the caller.
tool_calls: u32Number of tool calls dispatched this turn.
Included in the notification body when non-zero, and exported to
turn_complete hooks as ZEPH_TURN_TOOL_CALLS. Does not participate in
Notifier::should_fire gating.
llm_requests: u32Number of completed LLM round-trips this turn. Zero for slash commands, cache-only turns, and security-blocked inputs.
exit_status: TurnExitStatusWhether the turn ended with an error.
Trait Implementations§
Source§impl Clone for TurnSummary
impl Clone for TurnSummary
Source§fn clone(&self) -> TurnSummary
fn clone(&self) -> TurnSummary
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TurnSummary
impl RefUnwindSafe for TurnSummary
impl Send for TurnSummary
impl Sync for TurnSummary
impl Unpin for TurnSummary
impl UnsafeUnpin for TurnSummary
impl UnwindSafe for TurnSummary
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request