in src/Custom/RealtimeConversation/ResponseUpdates/ConversationUpdateKind.Serialization.cs [6:37]
public static string ToSerialString(this ConversationUpdateKind value) => value switch
{
ConversationUpdateKind.SessionStarted => "session.created",
ConversationUpdateKind.SessionConfigured => "session.updated",
// ConversationUpdateKind.ConversationCreated => "conversation.created",
ConversationUpdateKind.ItemCreated => "conversation.item.created",
ConversationUpdateKind.ItemDeleted => "conversation.item.deleted",
ConversationUpdateKind.ItemTruncated => "conversation.item.truncated",
ConversationUpdateKind.ResponseStarted => "response.created",
ConversationUpdateKind.ResponseFinished => "response.done",
ConversationUpdateKind.RateLimitsUpdated => "rate_limits.updated",
ConversationUpdateKind.ItemStreamingStarted => "response.output_item.added",
ConversationUpdateKind.ItemStreamingFinished => "response.output_item.done",
ConversationUpdateKind.ItemContentPartStarted => "response.content_part.added",
ConversationUpdateKind.ItemContentPartFinished => "response.content_part.done",
ConversationUpdateKind.ItemStreamingPartAudioDelta => "response.audio.delta",
ConversationUpdateKind.ItemStreamingPartAudioFinished => "response.audio.done",
ConversationUpdateKind.ItemStreamingPartAudioTranscriptionDelta => "response.audio_transcript.delta",
ConversationUpdateKind.ItemStreamingPartAudioTranscriptionFinished => "response.audio_transcript.done",
ConversationUpdateKind.ItemStreamingPartTextDelta => "response.text.delta",
ConversationUpdateKind.ItemStreamingPartTextFinished => "response.text.done",
ConversationUpdateKind.ItemStreamingFunctionCallArgumentsDelta => "response.function_call_arguments.delta",
ConversationUpdateKind.ItemStreamingFunctionCallArgumentsFinished => "response.function_call_arguments.done",
ConversationUpdateKind.InputSpeechStarted => "input_audio_buffer.speech_started",
ConversationUpdateKind.InputSpeechStopped => "input_audio_buffer.speech_stopped",
ConversationUpdateKind.InputTranscriptionFinished => "conversation.item.input_audio_transcription.completed",
ConversationUpdateKind.InputTranscriptionFailed => "conversation.item.input_audio_transcription.failed",
ConversationUpdateKind.InputAudioCommitted => "input_audio_buffer.committed",
ConversationUpdateKind.InputAudioCleared => "input_audio_buffer.cleared",
ConversationUpdateKind.Error => "error",
_ => null,
};