@export_module("autogen.tools")
def serialize_to_str(x: Any) -> str:
if isinstance(x, str):
return x
if isinstance(x, BaseModel):
return x.model_dump_json()
retval_model = _SerializableResult(result=x)
try:
return str(retval_model.model_dump()["result"])
except Exception:
pass
# try json.dumps() and then just return str(x) if that fails too
try:
return json.dumps(x, ensure_ascii=False)
except Exception:
return str(x)