From 9c1f24ee26eed56d4dc5bbe50a7734226a628648 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 16:57:10 +0000 Subject: [PATCH] fix: improve type validation logic Co-Authored-By: Joe Moura --- src/crewai/task.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/crewai/task.py b/src/crewai/task.py index eb30d8f7c..362b82d51 100644 --- a/src/crewai/task.py +++ b/src/crewai/task.py @@ -230,11 +230,10 @@ class Task(BaseModel): } # Check if the normalized annotation matches any valid pattern - is_valid = False - for pattern in VALID_RETURN_TYPES: - if pattern == normalized_annotation or pattern == 'tuple[bool,any]': - is_valid = True - break + is_valid = ( + normalized_annotation == 'tuple[bool,any]' or + any(normalized_annotation == pattern for pattern in VALID_RETURN_TYPES) + ) if not is_valid: raise GuardrailValidationError( @@ -479,7 +478,7 @@ class Task(BaseModel): elif isinstance(guardrail_result.result, TaskOutput): task_output = guardrail_result.result elif isinstance(guardrail_result.result, dict): - task_output.raw = guardrail_result.result + task_output.raw = str(guardrail_result.result) self.output = task_output self.end_time = datetime.datetime.now()