Skip to content

Commit cbb6979

Browse files
yangenle6-altcursoragent
authored andcommitted
feat(a2a): support optional app_name for TrpcA2aAgentService
Allow the Runner's app identity to differ from the A2A service_name by adding an optional app_name parameter. Falls back to service_name when not provided, preserving existing behavior for all current callers. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent a547d6b commit cbb6979

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

trpc_agent_sdk/server/a2a/_agent_service.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def __init__(
6868
*,
6969
service_name: str,
7070
agent: BaseAgent,
71+
app_name: Optional[str] = None,
7172
agent_card: Optional[AgentCard] = None,
7273
session_service: Optional[BaseSessionService] = None,
7374
memory_service: Optional[BaseMemoryService] = None,
@@ -77,6 +78,7 @@ def __init__(
7778
self._agent = agent
7879
self._agent_card = agent_card
7980
self._service_name = service_name
81+
self._app_name = app_name
8082
self._session_service = session_service
8183
self._memory_service = memory_service
8284
self._executor_config = executor_config
@@ -110,8 +112,12 @@ async def _initialize(self) -> None:
110112
logger.info("Initialized A2A Agent Service %s for %s", self._service_name, self._agent.name)
111113

112114
def _create_executor(self) -> TrpcA2aAgentExecutor:
115+
app_name = self._app_name or self._service_name
113116
runner = Runner(
114-
app_name=self._service_name,
117+
# Keep the historical service_name default for compatibility, while
118+
# allowing callers to pass an explicit app_name when the Runner app
119+
# identity differs from the A2A transport registration name.
120+
app_name=app_name,
115121
agent=self._agent,
116122
session_service=self._session_service,
117123
memory_service=self._memory_service,

0 commit comments

Comments
 (0)