Skip to content

Commit 143ad44

Browse files
google-genai-botcopybara-github
authored andcommitted
fix: pass context to client inceptors
PiperOrigin-RevId: 840918430
1 parent f22bac0 commit 143ad44

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/google/adk/agents/remote_a2a_agent.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from a2a.client.client import ClientConfig as A2AClientConfig
3333
from a2a.client.client_factory import ClientFactory as A2AClientFactory
3434
from a2a.client.errors import A2AClientHTTPError
35+
from a2a.client.middleware import ClientCallContext
3536
from a2a.types import AgentCard
3637
from a2a.types import Message as A2AMessage
3738
from a2a.types import Part as A2APart
@@ -533,6 +534,7 @@ async def _run_async_impl(
533534
async for a2a_response in self._a2a_client.send_message(
534535
request=a2a_request,
535536
request_metadata=request_metadata,
537+
context=ClientCallContext(state=ctx.session.state),
536538
):
537539
logger.debug(build_a2a_response_log(a2a_response))
538540

tests/unittests/agents/test_remote_a2a_agent.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from a2a.client.client import ClientConfig
2424
from a2a.client.client import Consumer
2525
from a2a.client.client_factory import ClientFactory
26+
from a2a.client.middleware import ClientCallContext
2627
from a2a.types import AgentCapabilities
2728
from a2a.types import AgentCard
2829
from a2a.types import AgentSkill
@@ -1429,6 +1430,7 @@ def setup_method(self):
14291430
self.mock_session = Mock(spec=Session)
14301431
self.mock_session.id = "session-123"
14311432
self.mock_session.events = []
1433+
self.mock_session.state = {}
14321434

14331435
self.mock_context = Mock(spec=InvocationContext)
14341436
self.mock_context.session = self.mock_session
@@ -1682,6 +1684,7 @@ async def test_run_async_impl_with_meta_provider(self):
16821684
mock_a2a_client.send_message.assert_called_once_with(
16831685
request=mock_message,
16841686
request_metadata=request_metadata,
1687+
context=ClientCallContext(state=self.mock_session.state),
16851688
)
16861689

16871690

@@ -1703,6 +1706,7 @@ def setup_method(self):
17031706
self.mock_session = Mock(spec=Session)
17041707
self.mock_session.id = "session-123"
17051708
self.mock_session.events = []
1709+
self.mock_session.state = {}
17061710

17071711
self.mock_context = Mock(spec=InvocationContext)
17081712
self.mock_context.session = self.mock_session
@@ -1989,6 +1993,7 @@ async def test_full_workflow_with_direct_agent_card(self):
19891993
mock_session = Mock(spec=Session)
19901994
mock_session.id = "session-123"
19911995
mock_session.events = [mock_event]
1996+
mock_session.state = {}
19921997

19931998
mock_context = Mock(spec=InvocationContext)
19941999
mock_context.session = mock_session
@@ -2084,6 +2089,7 @@ async def test_full_workflow_with_direct_agent_card_and_factory(self):
20842089
mock_session = Mock(spec=Session)
20852090
mock_session.id = "session-123"
20862091
mock_session.events = [mock_event]
2092+
mock_session.state = {}
20872093

20882094
mock_context = Mock(spec=InvocationContext)
20892095
mock_context.session = mock_session

0 commit comments

Comments
 (0)