From ad0db2704028fd7394124b99d8f2246371304dfc Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 17:38:32 +0000 Subject: [PATCH] fix: use Any type for TaskOutput.raw to support both string and dict Co-Authored-By: Joe Moura --- src/crewai/task.py | 2 +- src/crewai/tasks/task_output.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crewai/task.py b/src/crewai/task.py index de9b3e5c5..0b56c58af 100644 --- a/src/crewai/task.py +++ b/src/crewai/task.py @@ -482,7 +482,7 @@ class Task(BaseModel): elif isinstance(guardrail_result.result, dict): task_output.raw = guardrail_result.result task_output.json_dict = guardrail_result.result - pydantic_output, json_output = self._export_output( + pydantic_output, _ = self._export_output( json.dumps(guardrail_result.result) ) task_output.pydantic = pydantic_output diff --git a/src/crewai/tasks/task_output.py b/src/crewai/tasks/task_output.py index e772cba97..52b254426 100644 --- a/src/crewai/tasks/task_output.py +++ b/src/crewai/tasks/task_output.py @@ -15,7 +15,7 @@ class TaskOutput(BaseModel): description="Expected output of the task", default=None ) summary: Optional[str] = Field(description="Summary of the task", default=None) - raw: Union[str, Dict[str, Any]] = Field(description="Raw output of the task", default="") + raw: Any = Field(description="Raw output of the task", default="") pydantic: Optional[BaseModel] = Field( description="Pydantic output of task", default=None )