From 5c04c6312739af6e02deb346d5c31275464ebc15 Mon Sep 17 00:00:00 2001 From: Lorenze Jay Date: Mon, 8 Jul 2024 14:37:19 -0700 Subject: [PATCH] WIP need to fix encoder --- src/crewai/utilities/crew_json_encoder.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/crewai/utilities/crew_json_encoder.py diff --git a/src/crewai/utilities/crew_json_encoder.py b/src/crewai/utilities/crew_json_encoder.py new file mode 100644 index 000000000..071d134f3 --- /dev/null +++ b/src/crewai/utilities/crew_json_encoder.py @@ -0,0 +1,22 @@ +import json +from datetime import datetime +from uuid import UUID + +from openai import BaseModel + + +class CrewJSONEncoder(json.JSONEncoder): + """ + Custom JSON Encoder for Crew related objects. + """ + + def default(self, obj): + if isinstance(obj, datetime): + return obj.isoformat() + if isinstance(obj, UUID): + return str(obj) + if isinstance(obj, BaseModel): + return obj.model_dump() + if isinstance(obj, set): + return list(obj) + return super().default(obj)