diff --git a/src/crewai/crew.py b/src/crewai/crew.py index 3b50f31bf..51ea8a710 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -657,6 +657,7 @@ class Crew(BaseModel): context = self._get_context( task, [last_sync_output] if last_sync_output else [] ) + self._log_task_start(task, agent_to_use.role) future = task.execute_async( agent=agent_to_use, context=context, @@ -669,6 +670,7 @@ class Crew(BaseModel): futures.clear() context = self._get_context(task, task_outputs) + self._log_task_start(task, agent_to_use.role) task_output = task.execute_sync( agent=agent_to_use, context=context, @@ -741,9 +743,8 @@ class Crew(BaseModel): # Add the new tool task.tools.append(new_tool) - def _log_task_start(self, task: Task, agent: Optional[BaseAgent]): + def _log_task_start(self, task: Task, role: str = "None"): color = self._logging_color - role = agent.role if agent else "None" self._logger.log("debug", f"== Working Agent: {role}", color=color) self._logger.log("info", f"== Starting Task: {task.description}", color=color) if self.output_log_file: @@ -792,7 +793,7 @@ class Crew(BaseModel): futures: List[Tuple[Task, Future[TaskOutput], int]], was_replayed: bool = False, ) -> List[TaskOutput]: - task_outputs = [] + task_outputs: List[TaskOutput] = [] for future_task, future, task_index in futures: task_output = future.result() task_outputs.append(task_output) diff --git a/src/crewai/task.py b/src/crewai/task.py index 23c6f7151..57a788f49 100644 --- a/src/crewai/task.py +++ b/src/crewai/task.py @@ -8,7 +8,6 @@ from copy import copy from hashlib import md5 from typing import Any, Dict, List, Optional, Tuple, Type, Union - from langchain_openai import ChatOpenAI from opentelemetry.trace import Span from pydantic import UUID4, BaseModel, Field, field_validator, model_validator @@ -255,9 +254,7 @@ class Task(BaseModel): content = ( json_output if json_output - else pydantic_output.model_dump_json() - if pydantic_output - else result + else pydantic_output.model_dump_json() if pydantic_output else result ) self._save_file(content)