pub use async_openai::types::realtime::*;
pub trait EventType {
fn event_type(&self) -> &'static str;
}
impl EventType for RealtimeClientEvent {
fn event_type(&self) -> &'static str {
match self {
RealtimeClientEvent::SessionUpdate(_) => "session.update",
RealtimeClientEvent::InputAudioBufferAppend(_) => "input_audio_buffer.append",
RealtimeClientEvent::InputAudioBufferCommit(_) => "input_audio_buffer.commit",
RealtimeClientEvent::InputAudioBufferClear(_) => "input_audio_buffer.clear",
RealtimeClientEvent::ConversationItemCreate(_) => "conversation.item.create",
RealtimeClientEvent::ConversationItemRetrieve(_) => "conversation.item.retrieve",
RealtimeClientEvent::ConversationItemTruncate(_) => "conversation.item.truncate",
RealtimeClientEvent::ConversationItemDelete(_) => "conversation.item.delete",
RealtimeClientEvent::ResponseCreate(_) => "response.create",
RealtimeClientEvent::ResponseCancel(_) => "response.cancel",
RealtimeClientEvent::OutputAudioBufferClear(_) => "output_audio_buffer.clear",
}
}
}