mod private
{
use crate::components::realtime_shared::session::RealtimeSessionCreateRequest;
use crate::components::realtime_shared::transcription::RealtimeTranscriptionSessionCreateRequest;
use crate::components::realtime_shared::conversation::RealtimeConversationItem;
use crate::components::realtime_shared::response::RealtimeResponseCreateParams;
use crate::components::realtime_shared::events_server::
{
RealtimeServerEventConversationCreated,
RealtimeServerEventConversationItemCreated,
RealtimeServerEventConversationItemDeleted,
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted,
RealtimeServerEventConversationItemInputAudioTranscriptionDelta,
RealtimeServerEventConversationItemInputAudioTranscriptionFailed,
RealtimeServerEventConversationItemRetrieved,
RealtimeServerEventConversationItemTruncated,
RealtimeServerEventError,
RealtimeServerEventInputAudioBufferCleared,
RealtimeServerEventInputAudioBufferCommitted,
RealtimeServerEventInputAudioBufferSpeechStarted,
RealtimeServerEventInputAudioBufferSpeechStopped,
RealtimeServerEventRateLimitsUpdated,
RealtimeServerEventResponseAudioDelta,
RealtimeServerEventResponseAudioDone,
RealtimeServerEventResponseAudioTranscriptDelta,
RealtimeServerEventResponseAudioTranscriptDone,
RealtimeServerEventResponseContentPartAdded,
RealtimeServerEventResponseContentPartDone,
RealtimeServerEventResponseCreated,
RealtimeServerEventResponseDone,
RealtimeServerEventResponseFunctionCallArgumentsDelta,
RealtimeServerEventResponseFunctionCallArgumentsDone,
RealtimeServerEventResponseOutputItemAdded,
RealtimeServerEventResponseOutputItemDone,
RealtimeServerEventResponseTextDelta,
RealtimeServerEventResponseTextDone,
RealtimeServerEventSessionCreated,
RealtimeServerEventSessionUpdated,
RealtimeServerEventTranscriptionSessionCreated,
RealtimeServerEventTranscriptionSessionUpdated,
};
use serde::{ Serialize, Deserialize };
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventConversationItemCreate
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub previous_item_id : Option< String >,
pub item : RealtimeConversationItem,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventConversationItemDelete
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
pub item_id : String,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventConversationItemRetrieve
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
pub item_id : String,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventConversationItemTruncate
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
pub item_id : String,
pub content_index : i32,
pub audio_end_ms : i32,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventInputAudioBufferAppend
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
pub audio : String,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventInputAudioBufferClear
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventInputAudioBufferCommit
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventResponseCancel
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub response_id : Option< String >,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventResponseCreate
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub response : Option< RealtimeResponseCreateParams >,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventSessionUpdate
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
pub session : RealtimeSessionCreateRequest, }
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq, former::Former ) ] pub struct RealtimeClientEventTranscriptionSessionUpdate
{
#[ serde( skip_serializing_if = "Option::is_none" ) ]
pub event_id : Option< String >,
pub session : RealtimeTranscriptionSessionCreateRequest,
}
#[ derive( Debug, Serialize, Deserialize, Clone, PartialEq ) ] #[ serde( tag = "type" ) ] pub enum RealtimeClientEvent
{
#[ serde( rename = "conversation.item.create" ) ]
ConversationItemCreate( RealtimeClientEventConversationItemCreate ),
#[ serde( rename = "conversation.item.delete" ) ]
ConversationItemDelete( RealtimeClientEventConversationItemDelete ),
#[ serde( rename = "conversation.item.retrieve" ) ]
ConversationItemRetrieve( RealtimeClientEventConversationItemRetrieve ),
#[ serde( rename = "conversation.item.truncate" ) ]
ConversationItemTruncate( RealtimeClientEventConversationItemTruncate ),
#[ serde( rename = "input_audio_buffer.append" ) ]
InputAudioBufferAppend( RealtimeClientEventInputAudioBufferAppend ),
#[ serde( rename = "input_audio_buffer.clear" ) ]
InputAudioBufferClear( RealtimeClientEventInputAudioBufferClear ),
#[ serde( rename = "input_audio_buffer.commit" ) ]
InputAudioBufferCommit( RealtimeClientEventInputAudioBufferCommit ),
#[ serde( rename = "response.cancel" ) ]
ResponseCancel( RealtimeClientEventResponseCancel ),
#[ serde( rename = "response.create" ) ]
ResponseCreate( RealtimeClientEventResponseCreate ),
#[ serde( rename = "session.update" ) ]
SessionUpdate( RealtimeClientEventSessionUpdate ),
#[ serde( rename = "transcription_session.update" ) ]
TranscriptionSessionUpdate( RealtimeClientEventTranscriptionSessionUpdate ),
}
#[ derive( Debug, Deserialize, Clone, PartialEq ) ]
#[ serde( tag = "type" ) ] pub enum RealtimeServerEvent
{
#[ serde( rename = "conversation.created" ) ]
ConversationCreated( RealtimeServerEventConversationCreated ),
#[ serde( rename = "conversation.item.created" ) ]
ConversationItemCreated( RealtimeServerEventConversationItemCreated ),
#[ serde( rename = "conversation.item.deleted" ) ]
ConversationItemDeleted( RealtimeServerEventConversationItemDeleted ),
#[ serde( rename = "conversation.item.input_audio_transcription.completed" ) ]
ConversationItemInputAudioTranscriptionCompleted( RealtimeServerEventConversationItemInputAudioTranscriptionCompleted ),
#[ serde( rename = "conversation.item.input_audio_transcription.delta" ) ]
ConversationItemInputAudioTranscriptionDelta( RealtimeServerEventConversationItemInputAudioTranscriptionDelta ),
#[ serde( rename = "conversation.item.input_audio_transcription.failed" ) ]
ConversationItemInputAudioTranscriptionFailed( RealtimeServerEventConversationItemInputAudioTranscriptionFailed ),
#[ serde( rename = "conversation.item.retrieved" ) ]
ConversationItemRetrieved( RealtimeServerEventConversationItemRetrieved ),
#[ serde( rename = "conversation.item.truncated" ) ]
ConversationItemTruncated( RealtimeServerEventConversationItemTruncated ),
#[ serde( rename = "error" ) ]
Error( RealtimeServerEventError ),
#[ serde( rename = "input_audio_buffer.cleared" ) ]
InputAudioBufferCleared( RealtimeServerEventInputAudioBufferCleared ),
#[ serde( rename = "input_audio_buffer.committed" ) ]
InputAudioBufferCommitted( RealtimeServerEventInputAudioBufferCommitted ),
#[ serde( rename = "input_audio_buffer.speech_started" ) ]
InputAudioBufferSpeechStarted( RealtimeServerEventInputAudioBufferSpeechStarted ),
#[ serde( rename = "input_audio_buffer.speech_stopped" ) ]
InputAudioBufferSpeechStopped( RealtimeServerEventInputAudioBufferSpeechStopped ),
#[ serde( rename = "rate_limits.updated" ) ]
RateLimitsUpdated( RealtimeServerEventRateLimitsUpdated ),
#[ serde( rename = "response.audio.delta" ) ]
ResponseAudioDelta( RealtimeServerEventResponseAudioDelta ),
#[ serde( rename = "response.audio.done" ) ]
ResponseAudioDone( RealtimeServerEventResponseAudioDone ),
#[ serde( rename = "response.audio_transcript.delta" ) ]
ResponseAudioTranscriptDelta( RealtimeServerEventResponseAudioTranscriptDelta ),
#[ serde( rename = "response.audio_transcript.done" ) ]
ResponseAudioTranscriptDone( RealtimeServerEventResponseAudioTranscriptDone ),
#[ serde( rename = "response.content_part.added" ) ]
ResponseContentPartAdded( RealtimeServerEventResponseContentPartAdded ),
#[ serde( rename = "response.content_part.done" ) ]
ResponseContentPartDone( RealtimeServerEventResponseContentPartDone ),
#[ serde( rename = "response.created" ) ]
ResponseCreated( RealtimeServerEventResponseCreated ),
#[ serde( rename = "response.done" ) ]
ResponseDone( RealtimeServerEventResponseDone ),
#[ serde( rename = "response.function_call_arguments.delta" ) ]
ResponseFunctionCallArgumentsDelta( RealtimeServerEventResponseFunctionCallArgumentsDelta ),
#[ serde( rename = "response.function_call_arguments.done" ) ]
ResponseFunctionCallArgumentsDone( RealtimeServerEventResponseFunctionCallArgumentsDone ),
#[ serde( rename = "response.output_item.added" ) ]
ResponseOutputItemAdded( RealtimeServerEventResponseOutputItemAdded ),
#[ serde( rename = "response.output_item.done" ) ]
ResponseOutputItemDone( RealtimeServerEventResponseOutputItemDone ),
#[ serde( rename = "response.text.delta" ) ]
ResponseTextDelta( RealtimeServerEventResponseTextDelta ),
#[ serde( rename = "response.text.done" ) ]
ResponseTextDone( RealtimeServerEventResponseTextDone ),
#[ serde( rename = "session.created" ) ]
SessionCreated( RealtimeServerEventSessionCreated ),
#[ serde( rename = "session.updated" ) ]
SessionUpdated( RealtimeServerEventSessionUpdated ),
#[ serde( rename = "transcription_session.created" ) ]
TranscriptionSessionCreated( RealtimeServerEventTranscriptionSessionCreated ),
#[ serde( rename = "transcription_session.updated" ) ]
TranscriptionSessionUpdated( RealtimeServerEventTranscriptionSessionUpdated ),
}
}
crate ::mod_interface!
{
exposed use private::RealtimeClientEventConversationItemCreate;
exposed use private::RealtimeClientEventConversationItemDelete;
exposed use private::RealtimeClientEventConversationItemRetrieve;
exposed use private::RealtimeClientEventConversationItemTruncate;
exposed use private::RealtimeClientEventInputAudioBufferAppend;
exposed use private::RealtimeClientEventInputAudioBufferClear;
exposed use private::RealtimeClientEventInputAudioBufferCommit;
exposed use private::RealtimeClientEventResponseCancel;
exposed use private::RealtimeClientEventResponseCreate;
exposed use private::RealtimeClientEventSessionUpdate;
exposed use private::RealtimeClientEventTranscriptionSessionUpdate;
exposed use private::RealtimeClientEvent;
exposed use private::RealtimeServerEvent;
}