Commit 60ec9dfe

Robert Craigie <robert@craigie.dev>
2025-05-27 20:34:30
fix(responses): don't include `parsed_arguments` when re-serialising
1 parent 217f6d1
Changed files (2)
src
openai
_utils
types
src/openai/_utils/_transform.py
@@ -212,7 +212,7 @@ def _transform_recursive(
         return data
 
     if isinstance(data, pydantic.BaseModel):
-        return model_dump(data, exclude_unset=True, mode="json")
+        return model_dump(data, exclude_unset=True, mode="json", exclude=getattr(data, '__api_exclude__', None))
 
     annotated_type = _get_annotated_type(annotation)
     if annotated_type is None:
src/openai/types/responses/parsed_response.py
@@ -55,6 +55,8 @@ class ParsedResponseOutputMessage(ResponseOutputMessage, GenericModel, Generic[C
 class ParsedResponseFunctionToolCall(ResponseFunctionToolCall):
     parsed_arguments: object = None
 
+    __api_exclude__ = {'parsed_arguments'}
+
 
 ParsedResponseOutputItem: TypeAlias = Annotated[
     Union[