Skip to content

Commit 7d74660

Browse files
committed
Fix _generate_error_response argument type errors
1 parent d2720a6 commit 7d74660

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/a2a/server/apps/rest/rest_app.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,28 +82,32 @@ def _generate_error_response(self, error: A2AError) -> JSONResponse:
8282
logger.log(
8383
log_level,
8484
'Request Error: '
85-
f"Code={error.code}, Message='{error.message}'"
86-
f'{", Data=" + str(error.data) if error.data else ""}',
85+
f"Code={error.root.code}, Message='{error.root.message}'"
86+
f'{", Data=" + str(error.root.data) if error.root.data else ""}',
8787
)
8888
return JSONResponse(
89-
'{"message": ' + error.message + '}',
89+
f"{{'message': '{error.root.message}'}}",
9090
status_code=404,
9191
)
9292

9393
def _handle_error(self, error: Exception) -> JSONResponse:
9494
traceback.print_exc()
9595
if isinstance(error, MethodNotImplementedError):
96-
return self._generate_error_response(UnsupportedOperationError())
96+
return self._generate_error_response(
97+
A2AError(UnsupportedOperationError(message=error.message))
98+
)
9799
if isinstance(error, json.decoder.JSONDecodeError):
98100
return self._generate_error_response(
99-
JSONParseError(message=str(error))
101+
A2AError(JSONParseError(message=str(error)))
100102
)
101103
if isinstance(error, ValidationError):
102104
return self._generate_error_response(
103-
InvalidRequestError(data=json.loads(error.json())),
105+
A2AError(InvalidRequestError(data=json.loads(error.json()))),
104106
)
105107
logger.error(f'Unhandled exception: {error}')
106-
return self._generate_error_response(InternalError(message=str(error)))
108+
return self._generate_error_response(
109+
A2AError(InternalError(message=str(error)))
110+
)
107111

108112
async def _handle_request(
109113
self,
@@ -170,7 +174,7 @@ async def handle_authenticated_agent_card(
170174
Returns:
171175
A JSONResponse containing the authenticated card.
172176
"""
173-
if not self.agent_card.supportsAuthenticatedExtendedCard:
177+
if not self.agent_card.supports_authenticated_extended_card:
174178
return JSONResponse(
175179
'{"detail": "Authenticated card not supported"}',
176180
status_code=404,
@@ -227,7 +231,7 @@ def routes(self) -> dict[tuple[str, str], Callable[[Request], Any]]:
227231
self._handle_request, self.handler.list_tasks
228232
),
229233
}
230-
if self.agent_card.supportsAuthenticatedExtendedCard:
234+
if self.agent_card.supports_authenticated_extended_card:
231235
routes[('/v1/card', 'GET')] = self.handle_authenticated_agent_card
232236

233237
return routes

0 commit comments

Comments
 (0)