diff --git a/src/crewai/tools/agent_tools/delegate_work_tool.py b/src/crewai/tools/agent_tools/delegate_work_tool.py index 6cf21bba8..9dbf6c920 100644 --- a/src/crewai/tools/agent_tools/delegate_work_tool.py +++ b/src/crewai/tools/agent_tools/delegate_work_tool.py @@ -1,7 +1,10 @@ from typing import Optional + from pydantic import BaseModel, Field + from crewai.tools.agent_tools.base_agent_tools import BaseAgentTool + class DelegateWorkToolSchema(BaseModel): task: str = Field(..., description="The task to delegate") context: str = Field(..., description="The context for the task") diff --git a/src/crewai/tools/tool_usage.py b/src/crewai/tools/tool_usage.py index 03b47998c..db68a5cf5 100644 --- a/src/crewai/tools/tool_usage.py +++ b/src/crewai/tools/tool_usage.py @@ -1,10 +1,11 @@ import ast import datetime -from difflib import SequenceMatcher import time +from difflib import SequenceMatcher from textwrap import dedent from typing import Any, List, Union +import crewai.utilities.events as events from crewai.agents.tools_handler import ToolsHandler from crewai.task import Task from crewai.telemetry import Telemetry @@ -12,8 +13,7 @@ from crewai.tools import BaseTool from crewai.tools.structured_tool import CrewStructuredTool from crewai.tools.tool_calling import InstructorToolCalling, ToolCalling from crewai.tools.tool_usage_events import ToolUsageError, ToolUsageFinished -from crewai.utilities import Converter, ConverterError, I18N, Printer -import crewai.utilities.events as events +from crewai.utilities import I18N, Converter, ConverterError, Printer try: import agentops # type: ignore diff --git a/tests/crew_test.py b/tests/crew_test.py index 389771ad2..2003ddada 100644 --- a/tests/crew_test.py +++ b/tests/crew_test.py @@ -472,10 +472,12 @@ def test_crew_with_delegating_agents_should_not_override_task_tools(): @pytest.mark.vcr(filter_headers=["authorization"]) def test_crew_with_delegating_agents_should_not_override_agent_tools(): - from crewai.tools import BaseTool - from pydantic import BaseModel, Field from typing import Type + from pydantic import BaseModel, Field + + from crewai.tools import BaseTool + class TestToolInput(BaseModel): """Input schema for TestTool.""" query: str = Field(..., description="Query to process") @@ -529,9 +531,11 @@ def test_crew_with_delegating_agents_should_not_override_agent_tools(): @pytest.mark.vcr(filter_headers=["authorization"]) def test_task_tools_override_agent_tools(): from typing import Type - from crewai.tools import BaseTool + from pydantic import BaseModel, Field + from crewai.tools import BaseTool + class TestToolInput(BaseModel): """Input schema for TestTool.""" query: str = Field(..., description="Query to process") @@ -586,10 +590,12 @@ def test_task_tools_override_agent_tools_with_allow_delegation(): """ Test that task tools override agent tools while preserving delegation tools when allow_delegation=True """ - from crewai.tools import BaseTool - from pydantic import BaseModel, Field from typing import Type + from pydantic import BaseModel, Field + + from crewai.tools import BaseTool + class TestToolInput(BaseModel): query: str = Field(..., description="Query to process") @@ -2885,10 +2891,12 @@ def test_task_tools_preserve_code_execution_tools(): """ Test that task tools don't override code execution tools when allow_code_execution=True """ - from pydantic import BaseModel, Field from typing import Type - from crewai.tools import BaseTool + from crewai_tools import CodeInterpreterTool + from pydantic import BaseModel, Field + + from crewai.tools import BaseTool class TestToolInput(BaseModel): """Input schema for TestTool.""" diff --git a/tests/knowledge/knowledge_test.py b/tests/knowledge/knowledge_test.py index dc45787d3..366067587 100644 --- a/tests/knowledge/knowledge_test.py +++ b/tests/knowledge/knowledge_test.py @@ -1,10 +1,11 @@ """Test Knowledge creation and querying functionality.""" -import pytest from pathlib import Path from typing import List, Union from unittest.mock import patch +import pytest + from crewai.knowledge.source.crew_docling_source import CrewDoclingSource from crewai.knowledge.source.csv_knowledge_source import CSVKnowledgeSource from crewai.knowledge.source.excel_knowledge_source import ExcelKnowledgeSource diff --git a/tests/test_task_guardrails.py b/tests/test_task_guardrails.py index 1bbabfade..dc96cb878 100644 --- a/tests/test_task_guardrails.py +++ b/tests/test_task_guardrails.py @@ -1,9 +1,12 @@ """Tests for task guardrails functionality.""" +from unittest.mock import Mock + import pytest + from crewai.task import Task from crewai.tasks.task_output import TaskOutput -from unittest.mock import Mock + def test_task_without_guardrail(): """Test that tasks work normally without guardrails (backward compatibility)."""