From 7f12387eb19b9335a64b80df00609c3c765480e7 Mon Sep 17 00:00:00 2001 From: Shangjie Chen Date: Fri, 8 Aug 2025 21:57:57 -0700 Subject: [PATCH] chore: Make all FastAPI endpoints async PiperOrigin-RevId: 792886431 --- src/google/adk/cli/adk_web_server.py | 24 +++++++++---------- .../adk/tools/mcp_tool/mcp_session_manager.py | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/google/adk/cli/adk_web_server.py b/src/google/adk/cli/adk_web_server.py index 22cae88a..44df7908 100644 --- a/src/google/adk/cli/adk_web_server.py +++ b/src/google/adk/cli/adk_web_server.py @@ -352,18 +352,18 @@ class AdkWebServer: ) @app.get("/list-apps") - def list_apps() -> list[str]: + async def list_apps() -> list[str]: return self.agent_loader.list_agents() @app.get("/debug/trace/{event_id}", tags=[TAG_DEBUG]) - def get_trace_dict(event_id: str) -> Any: + async def get_trace_dict(event_id: str) -> Any: event_dict = trace_dict.get(event_id, None) if event_dict is None: raise HTTPException(status_code=404, detail="Trace not found") return event_dict @app.get("/debug/trace/session/{session_id}", tags=[TAG_DEBUG]) - def get_session_trace(session_id: str) -> Any: + async def get_session_trace(session_id: str) -> Any: spans = memory_exporter.get_finished_spans(session_id) if not spans: return [] @@ -461,7 +461,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def create_eval_set( + async def create_eval_set( app_name: str, eval_set_id: str, ): @@ -479,7 +479,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def list_eval_sets(app_name: str) -> list[str]: + async def list_eval_sets(app_name: str) -> list[str]: """Lists all eval sets for the given app.""" try: return self.eval_sets_manager.list_eval_sets(app_name) @@ -532,7 +532,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def list_evals_in_eval_set( + async def list_evals_in_eval_set( app_name: str, eval_set_id: str, ) -> list[str]: @@ -551,7 +551,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def get_eval( + async def get_eval( app_name: str, eval_set_id: str, eval_case_id: str ) -> EvalCase: """Gets an eval case in an eval set.""" @@ -574,7 +574,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def update_eval( + async def update_eval( app_name: str, eval_set_id: str, eval_case_id: str, @@ -605,7 +605,7 @@ class AdkWebServer: "/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}", tags=[TAG_EVALUATION], ) - def delete_eval(app_name: str, eval_set_id: str, eval_case_id: str): + async def delete_eval(app_name: str, eval_set_id: str, eval_case_id: str): try: self.eval_sets_manager.delete_eval_case( app_name, eval_set_id, eval_case_id @@ -690,7 +690,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def get_eval_result( + async def get_eval_result( app_name: str, eval_result_id: str, ) -> EvalSetResult: @@ -709,7 +709,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def list_eval_results(app_name: str) -> list[str]: + async def list_eval_results(app_name: str) -> list[str]: """Lists all eval results for the given app.""" return self.eval_set_results_manager.list_eval_set_results(app_name) @@ -718,7 +718,7 @@ class AdkWebServer: response_model_exclude_none=True, tags=[TAG_EVALUATION], ) - def list_eval_metrics(app_name: str) -> list[MetricInfo]: + async def list_eval_metrics(app_name: str) -> list[MetricInfo]: """Lists all eval metrics for the given app.""" try: from ..evaluation.metric_evaluator_registry import DEFAULT_METRIC_EVALUATOR_REGISTRY diff --git a/src/google/adk/tools/mcp_tool/mcp_session_manager.py b/src/google/adk/tools/mcp_tool/mcp_session_manager.py index 7b3668df..1853fb1a 100644 --- a/src/google/adk/tools/mcp_tool/mcp_session_manager.py +++ b/src/google/adk/tools/mcp_tool/mcp_session_manager.py @@ -85,9 +85,9 @@ class SseConnectionParams(BaseModel): class StreamableHTTPConnectionParams(BaseModel): - """Parameters for the MCP streamable HTTP connection. + """Parameters for the MCP SSE connection. - See MCP streamable HTTP Client documentation for more details. + See MCP SSE Client documentation for more details. https://github.com/modelcontextprotocol/python-sdk/blob/main/src/mcp/client/streamable_http.py Attributes: