gproxy_protocol/openai/realtime/server_events/
events.rs1use 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}