From c0155ad6acb16a1dc959d0a6aeac1e2c9eccaf5a Mon Sep 17 00:00:00 2001 From: snooyen Date: Sun, 23 Nov 2025 11:33:30 -0800 Subject: [PATCH 1/2] feat(a2a): allow passing additional keyword arguments to fastapi constructor --- src/strands/multiagent/a2a/server.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/strands/multiagent/a2a/server.py b/src/strands/multiagent/a2a/server.py index bbfbc824d..5a9de5489 100644 --- a/src/strands/multiagent/a2a/server.py +++ b/src/strands/multiagent/a2a/server.py @@ -196,16 +196,21 @@ def to_starlette_app(self) -> Starlette: return a2a_app - def to_fastapi_app(self) -> FastAPI: + def to_fastapi_app(self, **kwargs: Any) -> FastAPI: """Create a FastAPI application for serving this agent via HTTP. Automatically handles path-based mounting if a mount path was derived from the http_url parameter. + Args: + **kwargs: Additional keyword arguments to pass to the FastAPI constructor. + Returns: FastAPI: A FastAPI application configured to serve this agent. """ - a2a_app = A2AFastAPIApplication(agent_card=self.public_agent_card, http_handler=self.request_handler).build() + a2a_app = A2AFastAPIApplication(agent_card=self.public_agent_card, http_handler=self.request_handler).build( + **kwargs + ) if self.mount_path: # Create parent app and mount the A2A app at the specified path From aeb79e813060790d53b036b75f5f3b948e1d3ee1 Mon Sep 17 00:00:00 2001 From: snooyen Date: Mon, 24 Nov 2025 09:50:09 -0800 Subject: [PATCH 2/2] feat(a2a): allow passing additional keyword arguments to starlette constructor --- src/strands/multiagent/a2a/server.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/strands/multiagent/a2a/server.py b/src/strands/multiagent/a2a/server.py index 5a9de5489..3e2951f14 100644 --- a/src/strands/multiagent/a2a/server.py +++ b/src/strands/multiagent/a2a/server.py @@ -176,16 +176,20 @@ def agent_skills(self, skills: list[AgentSkill]) -> None: """ self._agent_skills = skills - def to_starlette_app(self) -> Starlette: + def to_starlette_app(self, **kwargs: Any) -> Starlette: """Create a Starlette application for serving this agent via HTTP. Automatically handles path-based mounting if a mount path was derived from the http_url parameter. + **kwargs: Additional keyword arguments to pass to the Starlette constructor. + Returns: Starlette: A Starlette application configured to serve this agent. """ - a2a_app = A2AStarletteApplication(agent_card=self.public_agent_card, http_handler=self.request_handler).build() + a2a_app = A2AStarletteApplication(agent_card=self.public_agent_card, http_handler=self.request_handler).build( + **kwargs + ) if self.mount_path: # Create parent app and mount the A2A app at the specified path