fix: route internal a2a imports through crewai_a2a

Switch internal references from the crewai.a2a runtime shim to the
crewai_a2a package directly so mypy can resolve them, and add the
py.typed marker the new package was missing.
This commit is contained in:
Greyson LaLonde
2026-04-29 01:17:09 +08:00
parent 37e60c6fab
commit 209fbec61f
5 changed files with 13 additions and 13 deletions

View File

View File

@@ -100,7 +100,7 @@ try:
_base_namespace["CrewStructuredTool"] = _CrewStructuredTool
try:
from crewai.a2a.config import (
from crewai_a2a.config import (
A2AClientConfig as _A2AClientConfig,
A2AConfig as _A2AConfig,
A2AServerConfig as _A2AServerConfig,

View File

@@ -113,15 +113,15 @@ from crewai.utilities.training_handler import CrewTrainingHandler
try:
from crewai.a2a.types import AgentResponseProtocol
from crewai_a2a.types import AgentResponseProtocol
except ImportError:
AgentResponseProtocol = None # type: ignore[assignment, misc]
if TYPE_CHECKING:
from crewai_a2a.config import A2AClientConfig, A2AConfig, A2AServerConfig
from crewai_files import FileInput
from crewai.a2a.config import A2AClientConfig, A2AConfig, A2AServerConfig
from crewai.agents.agent_builder.base_agent import PlatformAppOrAction
from crewai.mcp.tool_resolver import MCPToolResolver
from crewai.task import Task

View File

@@ -58,10 +58,10 @@ class AgentMeta(ModelMetaclass):
a2a_value = getattr(self, "a2a", None)
if a2a_value is not None:
from crewai.a2a.extensions.registry import (
from crewai_a2a.extensions.registry import (
create_extension_registry_from_config,
)
from crewai.a2a.wrapper import wrap_agent_with_a2a_instance
from crewai_a2a.wrapper import wrap_agent_with_a2a_instance
extension_registry = create_extension_registry_from_config(
a2a_value

View File

@@ -31,10 +31,9 @@ from typing_extensions import Self, deprecated
if TYPE_CHECKING:
from crewai_a2a.config import A2AClientConfig, A2AConfig, A2AServerConfig
from crewai_files import FileInput
from crewai.a2a.config import A2AClientConfig, A2AConfig, A2AServerConfig
from crewai.agents.agent_builder.base_agent import BaseAgent
from crewai.agents.agent_builder.utilities.base_token_process import TokenProcess
from crewai.agents.cache.cache_handler import CacheHandler
@@ -120,8 +119,9 @@ def _kickoff_with_a2a_support(
Returns:
LiteAgentOutput from either local execution or A2A delegation.
"""
from crewai.a2a.utils.response_model import get_a2a_agents_and_response_model
from crewai.a2a.wrapper import _execute_task_with_a2a
from crewai_a2a.utils.response_model import get_a2a_agents_and_response_model
from crewai_a2a.wrapper import _execute_task_with_a2a
from crewai.task import Task
a2a_agents, agent_response_model = get_a2a_agents_and_response_model(agent.a2a)
@@ -313,11 +313,11 @@ class LiteAgent(FlowTrackable, BaseModel):
def setup_a2a_support(self) -> Self:
"""Setup A2A extensions and server methods if a2a config exists."""
if self.a2a:
from crewai.a2a.config import A2AClientConfig, A2AConfig
from crewai.a2a.extensions.registry import (
from crewai_a2a.config import A2AClientConfig, A2AConfig
from crewai_a2a.extensions.registry import (
create_extension_registry_from_config,
)
from crewai.a2a.utils.agent_card import inject_a2a_server_methods
from crewai_a2a.utils.agent_card import inject_a2a_server_methods
configs = self.a2a if isinstance(self.a2a, list) else [self.a2a]
client_configs = [
@@ -988,7 +988,7 @@ class LiteAgent(FlowTrackable, BaseModel):
try:
from crewai.a2a.config import (
from crewai_a2a.config import (
A2AClientConfig as _A2AClientConfig,
A2AConfig as _A2AConfig,
A2AServerConfig as _A2AServerConfig,