Server Events#

class kani.ext.realtime.events.server.Error(
*,
event_id: str | None = None,
type: Literal['error'] = 'error',
error: ErrorDetails,
)[source]#
type: Literal['error']#
error: ErrorDetails#
class kani.ext.realtime.events.server.SessionCreated(
*,
event_id: str | None = None,
type: Literal['session.created'] = 'session.created',
session: SessionDetails,
)[source]#
type: Literal['session.created']#
session: SessionDetails#
class kani.ext.realtime.events.server.SessionUpdated(
*,
event_id: str | None = None,
type: Literal['session.updated'] = 'session.updated',
session: SessionDetails,
)[source]#
type: Literal['session.updated']#
session: SessionDetails#
class kani.ext.realtime.events.server.ConversationCreated(
*,
event_id: str | None = None,
type: Literal['conversation.created'] = 'conversation.created',
conversation: ConversationDetails,
)[source]#
type: Literal['conversation.created']#
conversation: ConversationDetails#
class kani.ext.realtime.events.server.ConversationItemCreated(
*,
event_id: str | None = None,
type: Literal['conversation.item.created'] = 'conversation.item.created',
previous_item_id: str | None,
item: MessageConversationItem | FunctionCallConversationItem | FunctionCallOutputConversationItem,
)[source]#
type: Literal['conversation.item.created']#
previous_item_id: str | None#
item: MessageConversationItem | FunctionCallConversationItem | FunctionCallOutputConversationItem#
class kani.ext.realtime.events.server.ConversationItemInputAudioTranscriptionCompleted(
*,
event_id: str | None = None,
type: Literal['conversation.item.input_audio_transcription.completed'] = 'conversation.item.input_audio_transcription.completed',
item_id: str,
content_index: int,
transcript: str,
)[source]#
type: Literal['conversation.item.input_audio_transcription.completed']#
item_id: str#
content_index: int#
transcript: str#
class kani.ext.realtime.events.server.ConversationItemInputAudioTranscriptionFailed(
*,
event_id: str | None = None,
type: Literal['conversation.item.input_audio_transcription.failed'] = 'conversation.item.input_audio_transcription.failed',
item_id: str,
content_index: int,
error: ErrorDetails,
)[source]#
type: Literal['conversation.item.input_audio_transcription.failed']#
item_id: str#
content_index: int#
error: ErrorDetails#
class kani.ext.realtime.events.server.ConversationItemTruncated(
*,
event_id: str | None = None,
type: Literal['conversation.item.truncated'] = 'conversation.item.truncated',
item_id: str,
content_index: int,
audio_end_ms: int,
)[source]#
type: Literal['conversation.item.truncated']#
item_id: str#
content_index: int#
audio_end_ms: int#
class kani.ext.realtime.events.server.ConversationItemDeleted(
*,
event_id: str | None = None,
type: Literal['conversation.item.deleted'] = 'conversation.item.deleted',
item_id: str,
)[source]#
type: Literal['conversation.item.deleted']#
item_id: str#
class kani.ext.realtime.events.server.InputAudioBufferCommitted(
*,
event_id: str | None = None,
type: Literal['input_audio_buffer.committed'] = 'input_audio_buffer.committed',
previous_item_id: str | None,
item_id: str,
)[source]#
type: Literal['input_audio_buffer.committed']#
previous_item_id: str | None#
item_id: str#
class kani.ext.realtime.events.server.InputAudioBufferCleared(
*,
event_id: str | None = None,
type: Literal['input_audio_buffer.cleared'] = 'input_audio_buffer.cleared',
)[source]#
type: Literal['input_audio_buffer.cleared']#
class kani.ext.realtime.events.server.InputAudioBufferSpeechStarted(
*,
event_id: str | None = None,
type: Literal['input_audio_buffer.speech_started'] = 'input_audio_buffer.speech_started',
audio_start_ms: int,
item_id: str,
)[source]#
type: Literal['input_audio_buffer.speech_started']#
audio_start_ms: int#
item_id: str#
class kani.ext.realtime.events.server.InputAudioBufferSpeechStopped(
*,
event_id: str | None = None,
type: Literal['input_audio_buffer.speech_stopped'] = 'input_audio_buffer.speech_stopped',
audio_end_ms: int,
item_id: str,
)[source]#
type: Literal['input_audio_buffer.speech_stopped']#
audio_end_ms: int#
item_id: str#
class kani.ext.realtime.events.server.ResponseCreated(
*,
event_id: str | None = None,
type: Literal['response.created'] = 'response.created',
response: RealtimeResponse,
)[source]#
type: Literal['response.created']#
response: RealtimeResponse#
class kani.ext.realtime.events.server.ResponseDone(
*,
event_id: str | None = None,
type: Literal['response.done'] = 'response.done',
response: RealtimeResponse,
)[source]#
type: Literal['response.done']#
response: RealtimeResponse#
class kani.ext.realtime.events.server.RateLimitsUpdated(
*,
event_id: str | None = None,
type: Literal['rate_limits.updated'] = 'rate_limits.updated',
rate_limits: list[RateLimitInfo],
)[source]#
type: Literal['rate_limits.updated']#
rate_limits: list[RateLimitInfo]#
class kani.ext.realtime.events.server.ResponseOutputItemDone(
*,
event_id: str | None = None,
type: Literal['response.output_item.done'] = 'response.output_item.done',
response_id: str,
output_index: int,
item: MessageConversationItem | FunctionCallConversationItem | FunctionCallOutputConversationItem,
)[source]#
type: Literal['response.output_item.done']#
response_id: str#
output_index: int#
item: MessageConversationItem | FunctionCallConversationItem | FunctionCallOutputConversationItem#
class kani.ext.realtime.events.server.ResponseTextDelta(
*,
event_id: str | None = None,
type: Literal['response.text.delta'] = 'response.text.delta',
response_id: str,
item_id: str,
output_index: int,
content_index: int,
delta: str,
)[source]#
type: Literal['response.text.delta']#
response_id: str#
item_id: str#
output_index: int#
content_index: int#
delta: str#
class kani.ext.realtime.events.server.ResponseAudioTranscriptDelta(
*,
event_id: str | None = None,
type: Literal['response.audio_transcript.delta'] = 'response.audio_transcript.delta',
response_id: str,
item_id: str,
output_index: int,
content_index: int,
delta: str,
)[source]#
type: Literal['response.audio_transcript.delta']#
response_id: str#
item_id: str#
output_index: int#
content_index: int#
delta: str#
class kani.ext.realtime.events.server.ResponseAudioDelta(
*,
event_id: str | None = None,
type: Literal['response.audio.delta'] = 'response.audio.delta',
response_id: str,
item_id: str,
output_index: int,
content_index: int,
delta: str,
)[source]#
type: Literal['response.audio.delta']#
response_id: str#
item_id: str#
output_index: int#
content_index: int#
delta: str#