Skip to content

Commit 192eb20

Browse files
committed
Realtime: forward all raw model events
1 parent 4967881 commit 192eb20

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

src/agents/realtime/model_events.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,15 @@ class RealtimeModelExceptionEvent:
156156
type: Literal["exception"] = "exception"
157157

158158

159+
@dataclass
160+
class RealtimeModelRawServerEvent:
161+
"""Raw events forwarded from the server."""
162+
163+
data: Any
164+
165+
type: Literal["raw_server_event"] = "raw_server_event"
166+
167+
159168
# TODO (rm) Add usage events
160169

161170

@@ -174,4 +183,5 @@ class RealtimeModelExceptionEvent:
174183
RealtimeModelTurnEndedEvent,
175184
RealtimeModelOtherEvent,
176185
RealtimeModelExceptionEvent,
186+
RealtimeModelRawServerEvent,
177187
]

src/agents/realtime/openai_realtime.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
RealtimeModelInputAudioTranscriptionCompletedEvent,
8787
RealtimeModelItemDeletedEvent,
8888
RealtimeModelItemUpdatedEvent,
89+
RealtimeModelRawServerEvent,
8990
RealtimeModelToolCallEvent,
9091
RealtimeModelTranscriptDeltaEvent,
9192
RealtimeModelTurnEndedEvent,
@@ -447,6 +448,7 @@ async def _cancel_response(self) -> None:
447448
self._ongoing_response = False
448449

449450
async def _handle_ws_event(self, event: dict[str, Any]):
451+
await self._emit_event(RealtimeModelRawServerEvent(data=event))
450452
try:
451453
if "previous_item_id" in event and event["previous_item_id"] is None:
452454
event["previous_item_id"] = "" # TODO (rm) remove

src/agents/realtime/session.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,8 @@ async def on_event(self, event: RealtimeModelEvent) -> None:
274274
self._stored_exception = event.exception
275275
elif event.type == "other":
276276
pass
277+
elif event.type == "raw_server_event":
278+
pass
277279
else:
278280
assert_never(event)
279281

0 commit comments

Comments
 (0)