1414
1515from bec_lib import messages as messages_module
1616from bec_lib .logger import bec_logger
17- from bec_lib .messages import BECMessage
17+ from bec_lib .messages import BECMessage , sanitize_one_way_encodable
1818from bec_lib .serialization_registry import SerializationRegistry
1919
2020logger = bec_logger .logger
@@ -39,6 +39,7 @@ def dumps(self, obj):
3939 """Pack object `obj` and return packed bytes."""
4040 if isinstance (obj , (BECMessage , BaseModel )):
4141 obj = obj .model_dump (mode = "python" , fallback = self .encode )
42+ obj = sanitize_one_way_encodable (obj )
4243 return msgpack_module .packb (obj , default = self .encode )
4344
4445 def loads (self , raw_bytes ):
@@ -56,6 +57,9 @@ class BECJson(SerializationRegistry):
5657
5758 def dumps (self , obj , indent : int | None = None ) -> str :
5859 """Pack object `obj` and return packed bytes."""
60+ if isinstance (obj , (BECMessage , BaseModel )):
61+ obj = obj .model_dump (mode = "python" , fallback = self .encode )
62+ obj = sanitize_one_way_encodable (obj )
5963 return json .dumps (obj , default = self .encode , indent = indent )
6064
6165 def loads (self , raw_bytes ):
0 commit comments