From bfc4f9a7e92cde18c25ee82c4ef69f9659d475c7 Mon Sep 17 00:00:00 2001 From: codingFeng101 <3524962421@qq.com> Date: Fri, 26 Jun 2026 23:36:48 +0800 Subject: [PATCH] Handle circular references in jsonability checks --- agentops/helpers/serialization.py | 2 +- tests/unit/test_serialization.py | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/agentops/helpers/serialization.py b/agentops/helpers/serialization.py index 910fcdec3..f90fbd158 100644 --- a/agentops/helpers/serialization.py +++ b/agentops/helpers/serialization.py @@ -14,7 +14,7 @@ def is_jsonable(x): try: json.dumps(x) return True - except (TypeError, OverflowError): + except (TypeError, OverflowError, ValueError): return False diff --git a/tests/unit/test_serialization.py b/tests/unit/test_serialization.py index bab7550c9..2a980c723 100644 --- a/tests/unit/test_serialization.py +++ b/tests/unit/test_serialization.py @@ -124,10 +124,7 @@ def test_circular_reference(self): a["b"] = b b["a"] = a - # The current implementation doesn't handle ValueError from circular references - # So this will raise an exception instead of returning False - with pytest.raises(ValueError, match="Circular reference detected"): - is_jsonable(a) + assert is_jsonable(a) is False # Define test cases for filter_unjsonable