Skip to content

Commit ab6426b

Browse files
committed
Make ServerCallContext mandatory in compat rest dapter
1 parent 0aabbc1 commit ab6426b

3 files changed

Lines changed: 6 additions & 9 deletions

File tree

src/a2a/compat/v0_3/rest_adapter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ async def event_generator(
109109
)
110110

111111
async def handle_get_agent_card(
112-
self, request: Request, call_context: ServerCallContext | None = None
112+
self, request: Request, call_context: ServerCallContext
113113
) -> dict[str, Any]:
114114
"""Handles GET requests for the agent card endpoint."""
115115
card_to_serve = self.agent_card
@@ -119,7 +119,7 @@ async def handle_get_agent_card(
119119
return v03_card.model_dump(mode='json', exclude_none=True)
120120

121121
async def handle_authenticated_agent_card(
122-
self, request: Request, call_context: ServerCallContext | None = None
122+
self, request: Request, call_context: ServerCallContext
123123
) -> dict[str, Any]:
124124
"""Hook for per credential agent card response."""
125125
if not self.agent_card.capabilities.extended_agent_card:

src/a2a/server/routes/jsonrpc_routes.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
from a2a.server.request_handlers.request_handler import RequestHandler
2222
from a2a.server.routes.jsonrpc_dispatcher import (
2323
CallContextBuilder,
24-
DefaultCallContextBuilder,
2524
JsonRpcDispatcher,
2625
)
2726
from a2a.types.a2a_pb2 import AgentCard
@@ -75,7 +74,7 @@ def create_jsonrpc_routes( # noqa: PLR0913
7574
agent_card=agent_card,
7675
request_handler=request_handler,
7776
extended_agent_card=extended_agent_card,
78-
context_builder=context_builder or DefaultCallContextBuilder(),
77+
context_builder=context_builder,
7978
card_modifier=card_modifier,
8079
extended_card_modifier=extended_card_modifier,
8180
enable_v0_3_compat=enable_v0_3_compat,

src/a2a/server/routes/rest_routes.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def create_rest_routes( # noqa: PLR0913
100100
agent_card=agent_card,
101101
http_handler=request_handler,
102102
extended_agent_card=extended_agent_card,
103-
context_builder=context_builder or DefaultCallContextBuilder(),
103+
context_builder=context_builder,
104104
card_modifier=card_modifier,
105105
extended_card_modifier=extended_card_modifier,
106106
)
@@ -176,7 +176,7 @@ async def event_generator() -> AsyncIterator[str]:
176176
return EventSourceResponse(event_generator())
177177

178178
async def _handle_authenticated_agent_card(
179-
request: 'Request', call_context: ServerCallContext | None = None
179+
request: 'Request', call_context: ServerCallContext
180180
) -> dict[str, Any]:
181181
if not agent_card.capabilities.extended_agent_card:
182182
raise ExtendedAgentCardNotConfiguredError(
@@ -185,10 +185,8 @@ async def _handle_authenticated_agent_card(
185185
card_to_serve = extended_agent_card or agent_card
186186

187187
if extended_card_modifier:
188-
# Re-generate context if none passed to replicate RESTAdapter exact logic
189-
context = call_context or _build_call_context(request)
190188
card_to_serve = await maybe_await(
191-
extended_card_modifier(card_to_serve, context)
189+
extended_card_modifier(card_to_serve, call_context)
192190
)
193191
elif card_modifier:
194192
card_to_serve = await maybe_await(card_modifier(card_to_serve))

0 commit comments

Comments
 (0)