From b560d29745ee92b2f844c23d0e97e534714ca037 Mon Sep 17 00:00:00 2001 From: Xsidz Date: Sun, 16 Aug 2026 22:36:45 +0530 Subject: [PATCH] fix(realtime): strip Omit/NotGiven in ConnectionManager.send pre-connect Fixes #3402: the pre-connect manager send() paths called json.dumps() directly on dict events without running maybe_transform(), so passing omit or not_given values raised TypeError. Mirror the post-connect connection.send() behavior by wrapping with maybe_transform(). --- src/openai/resources/realtime/realtime.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openai/resources/realtime/realtime.py b/src/openai/resources/realtime/realtime.py index 8e42e16870..a91d007aff 100644 --- a/src/openai/resources/realtime/realtime.py +++ b/src/openai/resources/realtime/realtime.py @@ -605,7 +605,7 @@ def send(self, event: RealtimeClientEvent | RealtimeClientEventParam) -> None: data = ( event.to_json(use_api_names=True, exclude_defaults=True, exclude_unset=True) if isinstance(event, BaseModel) - else json.dumps(event) + else json.dumps(maybe_transform(event, RealtimeClientEventParam)) ) self.__send_queue.enqueue(data) @@ -1073,7 +1073,7 @@ def send(self, event: RealtimeClientEvent | RealtimeClientEventParam) -> None: data = ( event.to_json(use_api_names=True, exclude_defaults=True, exclude_unset=True) if isinstance(event, BaseModel) - else json.dumps(event) + else json.dumps(maybe_transform(event, RealtimeClientEventParam)) ) self.__send_queue.enqueue(data)