From e2c517d0a23a9671128bc57c78473c6cb53ef8d7 Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Wed, 21 Jan 2026 20:14:43 -0500 Subject: [PATCH] feat: export file types and deprecate agent multimodal flag - Export File type classes from crewai package - Mark Agent.multimodal field as deprecated (use input_files instead) --- lib/crewai/src/crewai/__init__.py | 14 ++++++++++++++ lib/crewai/src/crewai/agent/core.py | 9 +++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/crewai/src/crewai/__init__.py b/lib/crewai/src/crewai/__init__.py index f11433cb9..fc0fc7719 100644 --- a/lib/crewai/src/crewai/__init__.py +++ b/lib/crewai/src/crewai/__init__.py @@ -15,6 +15,14 @@ from crewai.task import Task from crewai.tasks.llm_guardrail import LLMGuardrail from crewai.tasks.task_output import TaskOutput from crewai.telemetry.telemetry import Telemetry +from crewai.utilities.files import ( + AudioFile, + File, + ImageFile, + PDFFile, + TextFile, + VideoFile, +) def _suppress_pydantic_deprecation_warnings() -> None: @@ -74,14 +82,20 @@ _track_install_async() __all__ = [ "LLM", "Agent", + "AudioFile", "BaseLLM", "Crew", "CrewOutput", + "File", "Flow", + "ImageFile", "Knowledge", "LLMGuardrail", + "PDFFile", "Process", "Task", "TaskOutput", + "TextFile", + "VideoFile", "__version__", ] diff --git a/lib/crewai/src/crewai/agent/core.py b/lib/crewai/src/crewai/agent/core.py index 005d14de8..12046eba3 100644 --- a/lib/crewai/src/crewai/agent/core.py +++ b/lib/crewai/src/crewai/agent/core.py @@ -88,9 +88,9 @@ from crewai.utilities.training_handler import CrewTrainingHandler try: from crewai.a2a.config import A2AClientConfig, A2AConfig, A2AServerConfig except ImportError: - A2AClientConfig = Any - A2AConfig = Any - A2AServerConfig = Any + A2AClientConfig = Any # type: ignore[assignment,misc] + A2AConfig = Any # type: ignore[assignment,misc] + A2AServerConfig = Any # type: ignore[assignment,misc] if TYPE_CHECKING: @@ -184,7 +184,8 @@ class Agent(BaseAgent): ) multimodal: bool = Field( default=False, - description="Whether the agent is multimodal.", + deprecated=True, + description="[DEPRECATED, will be removed in v2.0 - pass files natively.] Whether the agent is multimodal.", ) inject_date: bool = Field( default=False,