From a190107afdb6251ef5380b733ca6e3a20eadd43e Mon Sep 17 00:00:00 2001 From: cthomas Date: Mon, 2 Jun 2025 13:52:38 -0700 Subject: [PATCH] fix: tool return message packing in stream (#2586) --- letta/schemas/message.py | 1 + tests/test_server.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/letta/schemas/message.py b/letta/schemas/message.py index 1fdd5f9a..eec9742a 100644 --- a/letta/schemas/message.py +++ b/letta/schemas/message.py @@ -383,6 +383,7 @@ class Message(BaseMessage): try: function_return = parse_json(text_content) + text_content = str(function_return.get("message", text_content)) status = function_return["status"] if status == "OK": status_enum = "success" diff --git a/tests/test_server.py b/tests/test_server.py index 7c6fb6dc..4f6fdc25 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -696,7 +696,7 @@ def _test_get_messages_letta_format( elif message.role == MessageRole.tool: assert isinstance(letta_message, ToolReturnMessage) - assert message.content[0].text == letta_message.tool_return + assert str(json.loads(message.content[0].text)["message"]) == letta_message.tool_return letta_message_index += 1 else: