@@ -184,6 +184,7 @@ class EventType(str, Enum):
184184 ITEM_DELETED = "conversation.item.deleted"
185185 ITEM_TRUNCATED = "conversation.item.truncated"
186186 ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED = "conversation.item.input_audio_transcription.completed"
187+ ITEM_INPUT_AUDIO_TRANSCRIPTION_DELTA = "conversation.item.input_audio_transcription.delta"
187188 ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED = "conversation.item.input_audio_transcription.failed"
188189
189190 RESPONSE_CREATED = "response.created"
@@ -481,6 +482,13 @@ class ItemInputAudioTranscriptionCompleted(ServerToClientMessage):
481482 transcript : str # The transcribed text
482483 type : str = EventType .ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED # Fixed event type
483484
485+ @dataclass
486+ class ItemInputAudioTranscriptionDelta (ServerToClientMessage ):
487+ item_id : str # The ID of the item for which transcription was completed
488+ content_index : int # Index of the content part that was transcribed
489+ delta : str # The transcribed text
490+ type : str = EventType .ITEM_INPUT_AUDIO_TRANSCRIPTION_DELTA # Fixed event type
491+
484492@dataclass
485493class ItemInputAudioTranscriptionFailed (ServerToClientMessage ):
486494 item_id : str # The ID of the item for which transcription failed
@@ -726,6 +734,8 @@ def parse_server_message(unparsed_string: str) -> ServerToClientMessage:
726734 return from_dict (ItemInputAudioTranscriptionCompleted , data )
727735 elif data ["type" ] == EventType .ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED :
728736 return from_dict (ItemInputAudioTranscriptionFailed , data )
737+ elif data ["type" ] == EventType .ITEM_INPUT_AUDIO_TRANSCRIPTION_DELTA :
738+ return from_dict (ItemInputAudioTranscriptionDelta , data )
729739
730740 raise ValueError (f"Unknown message type: { data ['type' ]} " )
731741
0 commit comments