Skip to main content

gproxy_protocol/openai/realtime/server_events/
events.rs

1use serde::{Deserialize, Serialize};
2
3use super::payloads::*;
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6#[serde(tag = "type")]
7#[cfg_attr(not(feature = "exhaustive"), non_exhaustive)]
8pub enum KnownRealtimeServerEvent {
9    #[serde(rename = "error")]
10    Error(RealtimeErrorEvent),
11    #[serde(rename = "session.created")]
12    SessionCreated(RealtimeSessionEvent),
13    #[serde(rename = "session.updated")]
14    SessionUpdated(RealtimeSessionEvent),
15    #[serde(rename = "conversation.item.added")]
16    ConversationItemAdded(RealtimeConversationItemEvent),
17    #[serde(rename = "conversation.created")]
18    ConversationCreated(RealtimeConversationCreatedEvent),
19    #[serde(rename = "conversation.item.created")]
20    ConversationItemCreated(RealtimeConversationItemEvent),
21    #[serde(rename = "conversation.item.done")]
22    ConversationItemDone(RealtimeConversationItemEvent),
23    #[serde(rename = "conversation.item.retrieved")]
24    ConversationItemRetrieved(RealtimeConversationItemRetrievedEvent),
25    #[serde(rename = "conversation.item.truncated")]
26    ConversationItemTruncated(RealtimeConversationItemTruncatedEvent),
27    #[serde(rename = "conversation.item.deleted")]
28    ConversationItemDeleted(RealtimeConversationItemDeletedEvent),
29    #[serde(rename = "conversation.item.input_audio_transcription.delta")]
30    InputAudioTranscriptionDelta(RealtimeInputTranscriptionDeltaEvent),
31    #[serde(rename = "conversation.item.input_audio_transcription.completed")]
32    InputAudioTranscriptionCompleted(RealtimeInputTranscriptionCompletedEvent),
33    #[serde(rename = "conversation.item.input_audio_transcription.failed")]
34    InputAudioTranscriptionFailed(RealtimeInputTranscriptionFailedEvent),
35    #[serde(rename = "conversation.item.input_audio_transcription.segment")]
36    InputAudioTranscriptionSegment(RealtimeInputTranscriptionSegmentEvent),
37    #[serde(rename = "input_audio_buffer.committed")]
38    InputAudioBufferCommitted(RealtimeInputAudioBufferCommittedEvent),
39    #[serde(rename = "input_audio_buffer.cleared")]
40    InputAudioBufferCleared(RealtimeInputAudioBufferClearedEvent),
41    #[serde(rename = "input_audio_buffer.dtmf_event_received")]
42    InputAudioBufferDtmfEventReceived(RealtimeDtmfEvent),
43    #[serde(rename = "input_audio_buffer.speech_started")]
44    InputAudioBufferSpeechStarted(RealtimeInputAudioSpeechStartedEvent),
45    #[serde(rename = "input_audio_buffer.speech_stopped")]
46    InputAudioBufferSpeechStopped(RealtimeInputAudioSpeechStoppedEvent),
47    #[serde(rename = "input_audio_buffer.timeout_triggered")]
48    InputAudioBufferTimeoutTriggered(RealtimeInputAudioTimeoutEvent),
49    #[serde(rename = "output_audio_buffer.started")]
50    OutputAudioBufferStarted(RealtimeOutputAudioBufferEvent),
51    #[serde(rename = "output_audio_buffer.stopped")]
52    OutputAudioBufferStopped(RealtimeOutputAudioBufferEvent),
53    #[serde(rename = "output_audio_buffer.cleared")]
54    OutputAudioBufferCleared(RealtimeOutputAudioBufferEvent),
55    #[serde(rename = "rate_limits.updated")]
56    RateLimitsUpdated(RealtimeRateLimitsEvent),
57    #[serde(rename = "response.created")]
58    ResponseCreated(RealtimeResponseEvent),
59    #[serde(rename = "response.done")]
60    ResponseDone(RealtimeResponseEvent),
61    #[serde(rename = "response.output_item.added")]
62    ResponseOutputItemAdded(RealtimeResponseOutputItemEvent),
63    #[serde(rename = "response.output_item.done")]
64    ResponseOutputItemDone(RealtimeResponseOutputItemEvent),
65    #[serde(rename = "response.content_part.added")]
66    ResponseContentPartAdded(RealtimeResponseContentPartEvent),
67    #[serde(rename = "response.content_part.done")]
68    ResponseContentPartDone(RealtimeResponseContentPartEvent),
69    #[serde(rename = "response.output_text.delta")]
70    OutputTextDelta(RealtimeResponseOutputDeltaEvent),
71    #[serde(rename = "response.output_text.done")]
72    OutputTextDone(RealtimeResponseOutputTextDoneEvent),
73    #[serde(rename = "response.output_audio_transcript.delta")]
74    OutputAudioTranscriptDelta(RealtimeResponseOutputDeltaEvent),
75    #[serde(rename = "response.output_audio_transcript.done")]
76    OutputAudioTranscriptDone(RealtimeResponseAudioTranscriptDoneEvent),
77    #[serde(rename = "response.output_audio.delta")]
78    OutputAudioDelta(RealtimeResponseOutputDeltaEvent),
79    #[serde(rename = "response.output_audio.done")]
80    OutputAudioDone(RealtimeResponseOutputAudioDoneEvent),
81    #[serde(rename = "response.function_call_arguments.delta")]
82    FunctionCallArgumentsDelta(RealtimeFunctionArgumentsDeltaEvent),
83    #[serde(rename = "response.function_call_arguments.done")]
84    FunctionCallArgumentsDone(RealtimeFunctionArgumentsDoneEvent),
85    #[serde(rename = "response.mcp_call_arguments.delta")]
86    McpCallArgumentsDelta(RealtimeMcpArgumentsDeltaEvent),
87    #[serde(rename = "response.mcp_call_arguments.done")]
88    McpCallArgumentsDone(RealtimeMcpArgumentsDoneEvent),
89    #[serde(rename = "response.mcp_call.in_progress")]
90    McpCallInProgress(RealtimeMcpCallStatusEvent),
91    #[serde(rename = "response.mcp_call.completed")]
92    McpCallCompleted(RealtimeMcpCallStatusEvent),
93    #[serde(rename = "response.mcp_call.failed")]
94    McpCallFailed(RealtimeMcpCallStatusEvent),
95    #[serde(rename = "mcp_list_tools.in_progress")]
96    McpListToolsInProgress(RealtimeMcpListToolsStatusEvent),
97    #[serde(rename = "mcp_list_tools.completed")]
98    McpListToolsCompleted(RealtimeMcpListToolsStatusEvent),
99    #[serde(rename = "mcp_list_tools.failed")]
100    McpListToolsFailed(RealtimeMcpListToolsStatusEvent),
101}