From 3a93e3e3cc89159a8e4d4d01bed4f2586d48e4ee Mon Sep 17 00:00:00 2001 From: Jeremy Prater Date: Tue, 22 Apr 2025 11:23:02 -0700 Subject: [PATCH 1/2] - Update FailedError struct to correct api schema --- src/realtime/types.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/realtime/types.rs b/src/realtime/types.rs index 83b47c1..a90ff27 100644 --- a/src/realtime/types.rs +++ b/src/realtime/types.rs @@ -234,8 +234,9 @@ pub enum ResponseStatusDetail { #[derive(Debug, Serialize, Deserialize, Clone)] pub struct FailedError { - pub code: String, - pub message: String, + pub code: Option, + pub message: Option, + pub r#type: Option, } #[derive(Debug, Serialize, Deserialize, Clone)] From ce1f631dc8a5209b68d9b37c79dc547df7a66297 Mon Sep 17 00:00:00 2001 From: Jeremy Prater Date: Tue, 22 Apr 2025 11:39:28 -0700 Subject: [PATCH 2/2] - Add output_audio_buffer.(started/stopped/cleared) server event enums --- src/realtime/server_event.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/realtime/server_event.rs b/src/realtime/server_event.rs index 9a47061..b02a139 100644 --- a/src/realtime/server_event.rs +++ b/src/realtime/server_event.rs @@ -91,6 +91,24 @@ pub struct ConversationItemDeleted { pub item_id: String, } +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct OutputAudioBufferStarted { + pub event_id: String, + pub response_id: String, +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct OutputAudioBufferStopped { + pub event_id: String, + pub response_id: String, +} + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct OutputAudioBufferCleared { + pub event_id: String, + pub response_id: String, +} + #[derive(Debug, Serialize, Deserialize, Clone)] pub struct ResponseCreated { pub event_id: String, @@ -255,6 +273,12 @@ pub enum ServerEvent { ConversationItemTruncated(ConversationItemTruncated), #[serde(rename = "conversation.item.deleted")] ConversationItemDeleted(ConversationItemDeleted), + #[serde(rename = "output_audio_buffer.started")] + OutputAudioBufferStarted(OutputAudioBufferStarted), + #[serde(rename = "output_audio_buffer.stopped")] + OutputAudioBufferStopped(OutputAudioBufferStopped), + #[serde(rename = "output_audio_buffer.cleared")] + OutputAudioBufferCleared(OutputAudioBufferCleared), #[serde(rename = "response.created")] ResponseCreated(ResponseCreated), #[serde(rename = "response.done")]