mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-08 22:21:35 +00:00
refactor: improve MCP TextContent serialization to follow existing patterns
- Remove risky __dict__ fallback for non-BaseModel objects - Only convert BaseModel objects to dicts using model_dump() (consistent with line 4745-4746) - Keep other objects unchanged to maintain backward compatibility - Follows existing codebase patterns for Pydantic model serialization
This commit is contained in:
parent
ab877d9551
commit
48810e6bcb
1 changed files with 3 additions and 3 deletions
|
|
@ -4385,14 +4385,14 @@ class StandardLoggingPayloadSetup:
|
|||
serialized_list = []
|
||||
for item in init_response_obj:
|
||||
# Check if item is a Pydantic BaseModel (MCP content types are Pydantic models)
|
||||
# This follows the same pattern used at line 4745-4746 for BaseModel objects
|
||||
if isinstance(item, BaseModel):
|
||||
# Convert Pydantic model to dict for JSON serialization
|
||||
serialized_list.append(item.model_dump())
|
||||
elif hasattr(item, "__dict__") and not isinstance(item, (str, int, float, bool, type(None))):
|
||||
# Fallback: convert object to dict (but skip primitive types)
|
||||
serialized_list.append(item.__dict__)
|
||||
else:
|
||||
# Already serializable (str, dict, int, float, bool, None, etc.)
|
||||
# Non-BaseModel objects are kept as-is - they should already be serializable
|
||||
# or will be handled by json.dumps with default=str if needed
|
||||
serialized_list.append(item)
|
||||
final_response_obj = serialized_list
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue