From 2f98528997b1998f7180d7bc9ea49028ece9723f Mon Sep 17 00:00:00 2001 From: jnjpng Date: Wed, 23 Jul 2025 19:32:28 -0700 Subject: [PATCH] fix: add b64 encoding fallback for `json_dumps` (#3503) Co-authored-by: Jin Peng --- letta/helpers/json_helpers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/letta/helpers/json_helpers.py b/letta/helpers/json_helpers.py index 45fa3414..2075c58d 100644 --- a/letta/helpers/json_helpers.py +++ b/letta/helpers/json_helpers.py @@ -1,3 +1,4 @@ +import base64 import json from datetime import datetime @@ -11,7 +12,11 @@ def json_dumps(data, indent=2): if isinstance(obj, datetime): return obj.isoformat() if isinstance(obj, bytes): - return obj.decode("utf-8") + try: + return obj.decode("utf-8") + except Exception: + print(f"Error decoding bytes as utf-8: {obj}") + return base64.b64encode(obj).decode("utf-8") raise TypeError(f"Type {type(obj)} not serializable") return json.dumps(data, indent=indent, default=safe_serializer, ensure_ascii=False)