pub struct OutputMessageDeltaData {
pub turn_id: TurnId,
pub message_id: MessageId,
pub delta: String,
pub accumulated: String,
pub phase: Option<ExecutionPhase>,
}Expand description
Data for output.message.delta event
Incremental text update during LLM generation. Events are batched (~100ms) to reduce volume while providing real-time feedback.
Fields§
§turn_id: TurnIdTurn ID this delta belongs to
message_id: MessageIdStable public ID for this assistant message across its streaming lifecycle.
This is the same identifier as OutputMessageCompletedData.message.id.
delta: StringThe new text chunk
accumulated: StringAccumulated text so far
phase: Option<ExecutionPhase>Best-effort streamed phase hint (EVE-774).
None means “not yet classified — treat as ordinary assistant text”,
NEVER “thinking”. Refinement is monotonic: once a stream reveals a native
phase (Commentary or FinalAnswer) it stays fixed for the rest of the
message — it never flip-flops and never reverts to None
(see ExecutionPhase::refine_streamed_hint). Providers without native
mid-stream phase (Anthropic, Gemini, …) leave this None until
completion. The authoritative classification remains the completed
Message.phase. See specs/events.md.
Trait Implementations§
Source§impl Clone for OutputMessageDeltaData
impl Clone for OutputMessageDeltaData
Source§fn clone(&self) -> OutputMessageDeltaData
fn clone(&self) -> OutputMessageDeltaData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OutputMessageDeltaData
impl Debug for OutputMessageDeltaData
Source§impl<'de> Deserialize<'de> for OutputMessageDeltaData
impl<'de> Deserialize<'de> for OutputMessageDeltaData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<OutputMessageDeltaData> for EventData
impl From<OutputMessageDeltaData> for EventData
Source§fn from(data: OutputMessageDeltaData) -> Self
fn from(data: OutputMessageDeltaData) -> Self
Auto Trait Implementations§
impl Freeze for OutputMessageDeltaData
impl RefUnwindSafe for OutputMessageDeltaData
impl Send for OutputMessageDeltaData
impl Sync for OutputMessageDeltaData
impl Unpin for OutputMessageDeltaData
impl UnsafeUnpin for OutputMessageDeltaData
impl UnwindSafe for OutputMessageDeltaData
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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