Source code for kani.ext.realtime.events.client
from typing import Literal
from pydantic import Field
from .base import ClientEvent as BaseEvent
from ..models import ConversationItem, ResponseConfig, SessionConfig
# ===== events =====
[docs]
class SessionUpdate(BaseEvent):
type: Literal["session.update"] = "session.update"
session: SessionConfig
[docs]
class InputAudioBufferAppend(BaseEvent):
type: Literal["input_audio_buffer.append"] = "input_audio_buffer.append"
audio: str = Field(repr=False)
[docs]
class InputAudioBufferCommit(BaseEvent):
type: Literal["input_audio_buffer.commit"] = "input_audio_buffer.commit"
[docs]
class InputAudioBufferClear(BaseEvent):
type: Literal["input_audio_buffer.clear"] = "input_audio_buffer.clear"
[docs]
class ConversationItemCreate(BaseEvent):
type: Literal["conversation.item.create"] = "conversation.item.create"
previous_item_id: str | None = None
item: ConversationItem
[docs]
class ConversationItemTruncate(BaseEvent):
type: Literal["conversation.item.truncate"] = "conversation.item.truncate"
item_id: str
content_index: int
audio_end_ms: int
[docs]
class ConversationItemDelete(BaseEvent):
type: Literal["conversation.item.delete"] = "conversation.item.delete"
item_id: str
[docs]
class ResponseCreate(BaseEvent):
type: Literal["response.create"] = "response.create"
response: ResponseConfig | None = None