@@ -102,6 +102,32 @@ def _get_memory(
102102 return short_term_memory , long_term_memory
103103
104104
105+ def patch_adkwebserver_disable_openapi ():
106+ """
107+ Monkey patch AdkWebServer.get_fast_api to remove openapi.json route.
108+ """
109+ import google .adk .cli .adk_web_server
110+ from fastapi .routing import APIRoute
111+ from starlette .routing import Route
112+
113+ original_get_fast_api = google .adk .cli .adk_web_server .AdkWebServer .get_fast_api_app
114+
115+ def wrapped_get_fast_api (self , * args , ** kwargs ):
116+ app = original_get_fast_api (self , * args , ** kwargs )
117+
118+ paths = ["/openapi.json" , "/docs" , "/redoc" ]
119+ new_routes = []
120+ for route in app .router .routes :
121+ if isinstance (route , (APIRoute , Route )) and route .path in paths :
122+ continue
123+ new_routes .append (route )
124+ app .router .routes = new_routes
125+
126+ return app
127+
128+ google .adk .cli .adk_web_server .AdkWebServer .get_fast_api_app = wrapped_get_fast_api
129+
130+
105131@click .command ()
106132@click .option ("--host" , default = "127.0.0.1" , help = "Host to run the web server on" )
107133def web (host : str ) -> None :
@@ -145,6 +171,7 @@ def init_for_veadk(
145171 import google .adk .cli .adk_web_server
146172
147173 google .adk .cli .adk_web_server .AdkWebServer .__init__ = init_for_veadk
174+ patch_adkwebserver_disable_openapi ()
148175
149176 import google .adk .cli .cli_tools_click as cli_tools_click
150177
0 commit comments