|
11 | 11 | from a2a.compat.v0_3.grpc_handler import CompatGrpcHandler |
12 | 12 | from a2a.server.agent_execution.agent_executor import AgentExecutor |
13 | 13 | from a2a.server.agent_execution.context import RequestContext |
14 | | -from a2a.server.apps import A2AFastAPIApplication, A2ARESTFastAPIApplication |
| 14 | +from a2a.server.routes import AgentCardRoutes, JsonRpcRoutes, RestRoutes |
15 | 15 | from a2a.server.events.event_queue import EventQueue |
16 | 16 | from a2a.server.request_handlers import GrpcHandler |
17 | 17 | from a2a.server.request_handlers.default_request_handler import ( |
@@ -190,22 +190,29 @@ async def serve( |
190 | 190 | agent_executor=SampleAgentExecutor(), task_store=task_store |
191 | 191 | ) |
192 | 192 |
|
193 | | - rest_app_builder = A2ARESTFastAPIApplication( |
| 193 | + agent_card_routes = AgentCardRoutes( |
194 | 194 | agent_card=agent_card, |
195 | | - http_handler=request_handler, |
| 195 | + card_url='/.well-known/agent-card.json', |
| 196 | + ) |
| 197 | + # JSON-RPC |
| 198 | + jsonrpc_routes = JsonRpcRoutes( |
| 199 | + agent_card=agent_card, |
| 200 | + request_handler=request_handler, |
| 201 | + rpc_url='/a2a/jsonrpc/', |
196 | 202 | enable_v0_3_compat=True, |
197 | 203 | ) |
198 | | - rest_app = rest_app_builder.build() |
199 | | - |
200 | | - jsonrpc_app_builder = A2AFastAPIApplication( |
| 204 | + # REST |
| 205 | + rest_routes = RestRoutes( |
201 | 206 | agent_card=agent_card, |
202 | | - http_handler=request_handler, |
| 207 | + request_handler=request_handler, |
| 208 | + rpc_url='/a2a/rest', |
203 | 209 | enable_v0_3_compat=True, |
204 | 210 | ) |
205 | 211 |
|
206 | 212 | app = FastAPI() |
207 | | - jsonrpc_app_builder.add_routes_to_app(app, rpc_url='/a2a/jsonrpc/') |
208 | | - app.mount('/a2a/rest', rest_app) |
| 213 | + app.routes.extend(agent_card_routes.routes) |
| 214 | + app.routes.extend(jsonrpc_routes.routes) |
| 215 | + app.routes.extend(rest_routes.routes) |
209 | 216 |
|
210 | 217 | grpc_server = grpc.aio.server() |
211 | 218 | grpc_server.add_insecure_port(f'{host}:{grpc_port}') |
|
0 commit comments