pub enum EventData {
Show 46 variants
InputMessage(InputMessageData),
OutputMessageDelta(OutputMessageDeltaData),
OutputMessageStarted(OutputMessageStartedData),
OutputMessageReplaced(OutputMessageReplacedData),
OutputMessageCompleted(OutputMessageCompletedData),
TurnStarted(TurnStartedData),
TurnCompleted(TurnCompletedData),
TurnFailed(TurnFailedData),
ReasonStarted(ReasonStartedData),
ReasonCompleted(ReasonCompletedData),
CapabilityUsage(CapabilityUsageData),
ActStarted(ActStartedData),
ActCompleted(ActCompletedData),
ToolStarted(ToolStartedData),
ToolCompleted(ToolCompletedData),
ToolProgress(ToolProgressData),
ToolOutputDelta(ToolOutputDeltaData),
ToolCallRequested(ToolCallRequestedData),
LlmGeneration(LlmGenerationData),
ReasonThinkingDelta(ReasonThinkingDeltaData),
ReasonItem(ReasonItemData),
ReasonThinkingStarted(ReasonThinkingStartedData),
ReasonThinkingCompleted(ReasonThinkingCompletedData),
TurnCancelled(TurnCancelledData),
SessionStarted(SessionStartedData),
SessionActivated(SessionActivatedData),
SessionIdled(SessionIdledData),
SubagentSpawned(SubagentEventData),
SubagentCompleted(SubagentEventData),
SubagentFailed(SubagentEventData),
SubagentCancelled(SubagentEventData),
ContextCompacting(ContextCompactingData),
ContextCompacted(ContextCompactedData),
FileWritten(FileWrittenData),
BudgetWarning(BudgetEventData),
BudgetPaused(BudgetEventData),
BudgetExhausted(BudgetEventData),
BudgetResumed(BudgetEventData),
VoiceSessionStarted(VoiceSessionStartedData),
VoiceInputTranscriptDelta(VoiceTranscriptData),
VoiceInputTranscriptCompleted(VoiceTranscriptData),
VoiceOutputTranscriptDelta(VoiceTranscriptData),
VoiceOutputTranscriptCompleted(VoiceTranscriptData),
VoiceSessionEnded(VoiceSessionEndedData),
VoiceSessionFailed(VoiceSessionFailedData),
Unsupported {
event_type: String,
data: Value,
},
}Expand description
Typed event data enum for all event payloads
This enum provides type safety for event data. Each variant corresponds
to a specific event type and contains the appropriate data structure.
The Raw variant is used for backward compatibility with legacy events
or unknown event types.
The data type depends on the event type field:
input.message→ InputMessageDataoutput.message.started→ OutputMessageStartedDataoutput.message.delta→ OutputMessageDeltaDataoutput.message.completed→ OutputMessageCompletedDataturn.started→ TurnStartedDataturn.completed→ TurnCompletedDataturn.failed→ TurnFailedDataturn.cancelled→ TurnCancelledDatareason.started→ ReasonStartedDatareason.completed→ ReasonCompletedDatacapability.usage→ CapabilityUsageDataact.started→ ActStartedDataact.completed→ ActCompletedDatatool.started→ ToolStartedDatatool.completed→ ToolCompletedDatatool.output.delta→ ToolOutputDeltaDatatool.call_requested→ ToolCallRequestedDatallm.generation→ LlmGenerationDatareason.thinking.started→ ReasonThinkingStartedDatareason.thinking.delta→ ReasonThinkingDeltaDatareason.thinking.completed→ ReasonThinkingCompletedDatareason.item→ ReasonItemDatasession.started→ SessionStartedDatasession.activated→ SessionActivatedDatasession.idled→ SessionIdledDatasubagent.spawned→ SubagentEventDatasubagent.completed→ SubagentEventDatasubagent.failed→ SubagentEventDatasubagent.cancelled→ SubagentEventDatafile.written→ FileWrittenData
Variants§
InputMessage(InputMessageData)
OutputMessageDelta(OutputMessageDeltaData)
OutputMessageStarted(OutputMessageStartedData)
OutputMessageReplaced(OutputMessageReplacedData)
OutputMessageCompleted(OutputMessageCompletedData)
TurnStarted(TurnStartedData)
TurnCompleted(TurnCompletedData)
TurnFailed(TurnFailedData)
ReasonStarted(ReasonStartedData)
ReasonCompleted(ReasonCompletedData)
CapabilityUsage(CapabilityUsageData)
ActStarted(ActStartedData)
ActCompleted(ActCompletedData)
ToolStarted(ToolStartedData)
ToolCompleted(ToolCompletedData)
ToolProgress(ToolProgressData)
ToolOutputDelta(ToolOutputDeltaData)
ToolCallRequested(ToolCallRequestedData)
LlmGeneration(LlmGenerationData)
ReasonThinkingDelta(ReasonThinkingDeltaData)
ReasonItem(ReasonItemData)
ReasonThinkingStarted(ReasonThinkingStartedData)
ReasonThinkingCompleted(ReasonThinkingCompletedData)
TurnCancelled(TurnCancelledData)
SessionStarted(SessionStartedData)
SessionActivated(SessionActivatedData)
SessionIdled(SessionIdledData)
SubagentSpawned(SubagentEventData)
SubagentCompleted(SubagentEventData)
SubagentFailed(SubagentEventData)
SubagentCancelled(SubagentEventData)
ContextCompacting(ContextCompactingData)
ContextCompacted(ContextCompactedData)
FileWritten(FileWrittenData)
BudgetWarning(BudgetEventData)
BudgetPaused(BudgetEventData)
BudgetExhausted(BudgetEventData)
BudgetResumed(BudgetEventData)
VoiceSessionStarted(VoiceSessionStartedData)
VoiceInputTranscriptDelta(VoiceTranscriptData)
VoiceInputTranscriptCompleted(VoiceTranscriptData)
VoiceOutputTranscriptDelta(VoiceTranscriptData)
VoiceOutputTranscriptCompleted(VoiceTranscriptData)
VoiceSessionEnded(VoiceSessionEndedData)
VoiceSessionFailed(VoiceSessionFailedData)
Unsupported
Internal-only variant for unknown event types. Never serialized to API responses - filtered out before transmission. Logs a warning when created to alert developers of unknown types.
Implementations§
Source§impl EventData
impl EventData
Sourcepub fn event_type(&self) -> &'static str
pub fn event_type(&self) -> &'static str
Get the event type constant for this data. For Unsupported events, returns “unsupported” (internal use only).
Sourcepub fn is_unsupported(&self) -> bool
pub fn is_unsupported(&self) -> bool
Check if this is an unsupported event type. Unsupported events should be filtered before API responses.
Sourcepub fn unsupported(event_type: String, data: Value) -> Self
pub fn unsupported(event_type: String, data: Value) -> Self
Create an unsupported event data with warning log. This is used when deserializing unknown event types.
Source§impl EventData
impl EventData
pub fn voice_transcript_event( data: VoiceTranscriptData, event_type: &str, ) -> Self
Source§impl EventData
impl EventData
pub fn budget_event(data: BudgetEventData, event_type: &str) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EventData
impl<'de> Deserialize<'de> for EventData
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<ActCompletedData> for EventData
impl From<ActCompletedData> for EventData
Source§fn from(data: ActCompletedData) -> Self
fn from(data: ActCompletedData) -> Self
Source§impl From<ActStartedData> for EventData
impl From<ActStartedData> for EventData
Source§fn from(data: ActStartedData) -> Self
fn from(data: ActStartedData) -> Self
Source§impl From<CapabilityUsageData> for EventData
impl From<CapabilityUsageData> for EventData
Source§fn from(data: CapabilityUsageData) -> Self
fn from(data: CapabilityUsageData) -> Self
Source§impl From<ContextCompactedData> for EventData
impl From<ContextCompactedData> for EventData
Source§fn from(data: ContextCompactedData) -> Self
fn from(data: ContextCompactedData) -> Self
Source§impl From<ContextCompactingData> for EventData
impl From<ContextCompactingData> for EventData
Source§fn from(data: ContextCompactingData) -> Self
fn from(data: ContextCompactingData) -> Self
Source§impl From<FileWrittenData> for EventData
impl From<FileWrittenData> for EventData
Source§fn from(data: FileWrittenData) -> Self
fn from(data: FileWrittenData) -> Self
Source§impl From<InputMessageData> for EventData
impl From<InputMessageData> for EventData
Source§fn from(data: InputMessageData) -> Self
fn from(data: InputMessageData) -> Self
Source§impl From<LlmGenerationData> for EventData
impl From<LlmGenerationData> for EventData
Source§fn from(data: LlmGenerationData) -> Self
fn from(data: LlmGenerationData) -> Self
Source§impl From<OutputMessageCompletedData> for EventData
impl From<OutputMessageCompletedData> for EventData
Source§fn from(data: OutputMessageCompletedData) -> Self
fn from(data: OutputMessageCompletedData) -> Self
Source§impl From<OutputMessageDeltaData> for EventData
impl From<OutputMessageDeltaData> for EventData
Source§fn from(data: OutputMessageDeltaData) -> Self
fn from(data: OutputMessageDeltaData) -> Self
Source§impl From<OutputMessageReplacedData> for EventData
impl From<OutputMessageReplacedData> for EventData
Source§fn from(data: OutputMessageReplacedData) -> Self
fn from(data: OutputMessageReplacedData) -> Self
Source§impl From<OutputMessageStartedData> for EventData
impl From<OutputMessageStartedData> for EventData
Source§fn from(data: OutputMessageStartedData) -> Self
fn from(data: OutputMessageStartedData) -> Self
Source§impl From<ReasonCompletedData> for EventData
impl From<ReasonCompletedData> for EventData
Source§fn from(data: ReasonCompletedData) -> Self
fn from(data: ReasonCompletedData) -> Self
Source§impl From<ReasonItemData> for EventData
impl From<ReasonItemData> for EventData
Source§fn from(data: ReasonItemData) -> Self
fn from(data: ReasonItemData) -> Self
Source§impl From<ReasonStartedData> for EventData
impl From<ReasonStartedData> for EventData
Source§fn from(data: ReasonStartedData) -> Self
fn from(data: ReasonStartedData) -> Self
Source§impl From<ReasonThinkingCompletedData> for EventData
impl From<ReasonThinkingCompletedData> for EventData
Source§fn from(data: ReasonThinkingCompletedData) -> Self
fn from(data: ReasonThinkingCompletedData) -> Self
Source§impl From<ReasonThinkingDeltaData> for EventData
impl From<ReasonThinkingDeltaData> for EventData
Source§fn from(data: ReasonThinkingDeltaData) -> Self
fn from(data: ReasonThinkingDeltaData) -> Self
Source§impl From<ReasonThinkingStartedData> for EventData
impl From<ReasonThinkingStartedData> for EventData
Source§fn from(data: ReasonThinkingStartedData) -> Self
fn from(data: ReasonThinkingStartedData) -> Self
Source§impl From<SessionActivatedData> for EventData
impl From<SessionActivatedData> for EventData
Source§fn from(data: SessionActivatedData) -> Self
fn from(data: SessionActivatedData) -> Self
Source§impl From<SessionIdledData> for EventData
impl From<SessionIdledData> for EventData
Source§fn from(data: SessionIdledData) -> Self
fn from(data: SessionIdledData) -> Self
Source§impl From<SessionStartedData> for EventData
impl From<SessionStartedData> for EventData
Source§fn from(data: SessionStartedData) -> Self
fn from(data: SessionStartedData) -> Self
Source§impl From<SubagentEventData> for EventData
impl From<SubagentEventData> for EventData
Source§fn from(data: SubagentEventData) -> Self
fn from(data: SubagentEventData) -> Self
Source§impl From<ToolCallRequestedData> for EventData
impl From<ToolCallRequestedData> for EventData
Source§fn from(data: ToolCallRequestedData) -> Self
fn from(data: ToolCallRequestedData) -> Self
Source§impl From<ToolCompletedData> for EventData
impl From<ToolCompletedData> for EventData
Source§fn from(data: ToolCompletedData) -> Self
fn from(data: ToolCompletedData) -> Self
Source§impl From<ToolOutputDeltaData> for EventData
impl From<ToolOutputDeltaData> for EventData
Source§fn from(data: ToolOutputDeltaData) -> Self
fn from(data: ToolOutputDeltaData) -> Self
Source§impl From<ToolProgressData> for EventData
impl From<ToolProgressData> for EventData
Source§fn from(data: ToolProgressData) -> Self
fn from(data: ToolProgressData) -> Self
Source§impl From<ToolStartedData> for EventData
impl From<ToolStartedData> for EventData
Source§fn from(data: ToolStartedData) -> Self
fn from(data: ToolStartedData) -> Self
Source§impl From<TurnCancelledData> for EventData
impl From<TurnCancelledData> for EventData
Source§fn from(data: TurnCancelledData) -> Self
fn from(data: TurnCancelledData) -> Self
Source§impl From<TurnCompletedData> for EventData
impl From<TurnCompletedData> for EventData
Source§fn from(data: TurnCompletedData) -> Self
fn from(data: TurnCompletedData) -> Self
Source§impl From<TurnFailedData> for EventData
impl From<TurnFailedData> for EventData
Source§fn from(data: TurnFailedData) -> Self
fn from(data: TurnFailedData) -> Self
Source§impl From<TurnStartedData> for EventData
impl From<TurnStartedData> for EventData
Source§fn from(data: TurnStartedData) -> Self
fn from(data: TurnStartedData) -> Self
Source§impl From<VoiceSessionEndedData> for EventData
impl From<VoiceSessionEndedData> for EventData
Source§fn from(data: VoiceSessionEndedData) -> Self
fn from(data: VoiceSessionEndedData) -> Self
Source§impl From<VoiceSessionFailedData> for EventData
impl From<VoiceSessionFailedData> for EventData
Source§fn from(data: VoiceSessionFailedData) -> Self
fn from(data: VoiceSessionFailedData) -> Self
Source§impl From<VoiceSessionStartedData> for EventData
impl From<VoiceSessionStartedData> for EventData
Source§fn from(data: VoiceSessionStartedData) -> Self
fn from(data: VoiceSessionStartedData) -> Self
Auto Trait Implementations§
impl Freeze for EventData
impl RefUnwindSafe for EventData
impl Send for EventData
impl Sync for EventData
impl Unpin for EventData
impl UnsafeUnpin for EventData
impl UnwindSafe for EventData
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> 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