From 87e69a4808407ea84409cfe31c69beaeff673deb Mon Sep 17 00:00:00 2001 From: cthomas Date: Wed, 2 Jul 2025 16:11:43 -0700 Subject: [PATCH] fix: handle image content for sleeptime (#3142) --- letta/groups/helpers.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/letta/groups/helpers.py b/letta/groups/helpers.py index 148a3a3b..69507c0f 100644 --- a/letta/groups/helpers.py +++ b/letta/groups/helpers.py @@ -7,6 +7,7 @@ from letta.orm.group import Group from letta.orm.user import User from letta.schemas.agent import AgentState from letta.schemas.group import ManagerType +from letta.schemas.letta_message_content import ImageContent, TextContent from letta.schemas.message import Message from letta.services.mcp.base_client import AsyncBaseMCPClient @@ -89,11 +90,13 @@ def stringify_message(message: Message, use_assistant_name: bool = False) -> str assistant_name = message.name or "assistant" if use_assistant_name else "assistant" if message.role == "user": try: - content = json.loads(message.content[0].text) - if content["type"] == "user_message": - return f"{message.name or 'user'}: {content['message']}" - else: - return None + messages = [] + for content in message.content: + if isinstance(content, TextContent): + messages.append(f"{message.name or 'user'}: {content.text}") + elif isinstance(content, ImageContent): + messages.append(f"{message.name or 'user'}: [Image Here]") + return "\n".join(messages) except: return f"{message.name or 'user'}: {message.content[0].text}" elif message.role == "assistant":