Replies: 1 comment
-
|
This looks to be a gap in the SDK. In the implementation of the A2A server, it's filtering only data/text events: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
What I'm trying to do
I have a swarm-as-tool pattern where a top-level orchestrator agent uses Swarms (SoftwareSwarm, InfrastructureSwarm) as
async generator tools. When the orchestrator invokes a swarm tool, the swarm yields progress events like handoffs betw
een agents, status updates, etc.
This works great when I call
agent.stream_async()directly, but when I serve the orchestrator viaA2AServerand connect with an A2A client, I only see the orchestrator's final text output. All the intermediate tool streaming events di
sappear.
I'm not sure if I'm missing a configuration option or if this is a limitation of A2AServer.
My setup
streaming=TrueThe swarm tool implementation
What I observe
Server logs (orchestrator container):
The orchestrator is definitely receiving and processing these yields.
Client logs (conduit application):
The client only receives the orchestrator's own text ("I'll analyze...", "Let me use..."), not any of the swarm's progr
ess events.
What the user sees in the UI:
Just the orchestrator's final summary after the swarm completes. Something like:
But they never saw:
My orchestrator setup
The agent card declares
streaming: trueand the client connects withClientConfig(streaming=True).What I've tried
Removed callback_handler - Initially I had a callback handler attached, but I learned from the docs that callbac
ks and stream_async() are mutually exclusive, so I removed it. The orchestrator still doesn't forward tool events via A
2A.
Verified local streaming works - When I test the orchestrator locally with
agent.stream_async(), I can see allthe tool_stream_event:
streaming=True, agent card hascapabilities.streaming: true, everything seems configured correctly.
My question
Is there a way to make A2AServer forward
tool_stream_eventto clients? Or is this a known limitation?I noticed issue #543 ("Streaming Tool results are swallowed") was closed after fixing tool streaming for local usage, b
ut I couldn't find anything about A2A integration. Issue #116 had a comment asking "would this enable to stream sub-age
nt's events for agents-as-tools pattern?" which makes me think this might be a known gap.
For context, this matters a lot for UX - swarms can run for several minutes, and users currently see nothing until the
very end. Being able to stream "Python Pro is working on the code...", "Code Reviewer is checking the changes..." would
make the system feel much more responsive.
Minimal reproduction
If it helps, I can provide a minimal Docker Compose setup that reproduces this, but basically:
Thanks for any guidance on whether I'm missing something or if this needs SDK changes
Beta Was this translation helpful? Give feedback.
All reactions