From f059dfa139f35aec1dc4593ffa98d8e1e207fc22 Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Wed, 14 Jan 2026 06:27:13 -0500 Subject: [PATCH] fix: only inject method on agent --- lib/crewai/src/crewai/a2a/utils/agent_card.py | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/crewai/src/crewai/a2a/utils/agent_card.py b/lib/crewai/src/crewai/a2a/utils/agent_card.py index 3349d8d8c..7c798dc1a 100644 --- a/lib/crewai/src/crewai/a2a/utils/agent_card.py +++ b/lib/crewai/src/crewai/a2a/utils/agent_card.py @@ -379,24 +379,21 @@ def _agent_to_agent_card(agent: Agent, url: str) -> AgentCard: ) -def inject_a2a_server_methods(target: Crew | Agent) -> None: - """Inject A2A server methods onto a Crew or Agent instance. +def inject_a2a_server_methods(agent: Agent) -> None: + """Inject A2A server methods onto an Agent instance. - Adds a `to_agent_card(url: str) -> AgentCard` method to the target - instance that generates an A2A-compliant AgentCard. + Adds a `to_agent_card(url: str) -> AgentCard` method to the agent + that generates an A2A-compliant AgentCard. - For Agents, this only injects methods if an A2AServerConfig is present. - For Crews, methods are always injected. + Only injects if the agent has an A2AServerConfig. Args: - target: The Crew or Agent instance to inject methods onto. + agent: The Agent instance to inject methods onto. """ - if not isinstance(target, Crew) and _get_server_config(target) is None: + if _get_server_config(agent) is None: return - def _to_agent_card(self: Crew | Agent, url: str) -> AgentCard: - if isinstance(self, Crew): - return _crew_to_agent_card(self, url) + def _to_agent_card(self: Agent, url: str) -> AgentCard: return _agent_to_agent_card(self, url) - object.__setattr__(target, "to_agent_card", MethodType(_to_agent_card, target)) + object.__setattr__(agent, "to_agent_card", MethodType(_to_agent_card, agent))