@@ -132,10 +132,9 @@ async def event_generator(
132132 event_generator (method (request , call_context ))
133133 )
134134
135- @rest_error_handler
136135 async def handle_get_agent_card (
137136 self , request : Request , call_context : ServerCallContext | None = None
138- ) -> JSONResponse | Response | Any :
137+ ) -> dict [ str , Any ] :
139138 """Handles GET requests for the agent card endpoint.
140139
141140 Args:
@@ -149,15 +148,11 @@ async def handle_get_agent_card(
149148 if self .card_modifier :
150149 card_to_serve = self .card_modifier (card_to_serve )
151150
152- return card_to_serve .model_dump (
153- exclude_none = True ,
154- by_alias = True ,
155- )
151+ return card_to_serve .model_dump (mode = 'json' , exclude_none = True )
156152
157- @rest_error_handler
158153 async def handle_authenticated_agent_card (
159154 self , request : Request , call_context : ServerCallContext | None = None
160- ) -> JSONResponse | Response | Any :
155+ ) -> dict [ str , Any ] :
161156 """Hook for per credential agent card response.
162157
163158 If a dynamic card is needed based on the credentials provided in the request
@@ -178,26 +173,16 @@ async def handle_authenticated_agent_card(
178173 )
179174 card_to_serve = self .extended_agent_card
180175
176+ if not card_to_serve :
177+ card_to_serve = self .agent_card
178+
181179 if self .extended_card_modifier :
182180 context = self ._context_builder .build (request )
183181 # If no base extended card is provided, pass the public card to the modifier
184182 base_card = card_to_serve if card_to_serve else self .agent_card
185183 card_to_serve = self .extended_card_modifier (base_card , context )
186184
187- if card_to_serve :
188- return card_to_serve .model_dump (
189- exclude_none = True ,
190- by_alias = True ,
191- )
192- # If supports_authenticated_extended_card is true, but no
193- # extended_agent_card was provided, and no modifier produced a card,
194- # return a 404.
195- return JSONResponse (
196- {
197- 'error' : 'Authenticated extended agent card is supported but not configured on the server.'
198- },
199- status_code = 404 ,
200- )
185+ return card_to_serve .model_dump (mode = 'json' , exclude_none = True )
201186
202187 def routes (self ) -> dict [tuple [str , str ], Callable [[Request ], Any ]]:
203188 """Constructs a dictionary of API routes and their corresponding handlers.
0 commit comments