When multiple agents communicate via the A2A protocol, the invocationContext.session.state is not transformed and transmitted to the message, and SSE streaming is not supported.
Maintainers usually reply within 1 day
@hemasekhar-p is already working on this.
Since Feb 24, 2026.
Assessment
This issue has not been assessed yet.
Description
** Please make sure you read the contribution guide and file the issues in the right place. **
Contribution guide.
Is your feature request related to a specific problem?
1.Based on the following source code reading, in the logic of converting invocationContext to Message using EventConverter.convertEventsToA2AMessage:
Optional<Message> a2aMessageOpt = com.google.adk.a2a.EventConverter.convertEventsToA2AMessage(invocationContext);
metadata is not assigned. Therefore, will the following code always return a null case:
Map<String, Object> metadata = originalMessage.getMetadata() == null ? Map.of() : originalMessage.getMetadata();
Is it possible to convert invocationContext.session.state to the metadata of the Message, as additional information in the communication protocol between the client agent and the server agent? like this:
Due to the time-consuming nature of this communication, which negatively impacts user experience, it is recommended to replace the synchronous approach with SSE streaming output. Simultaneously, the client should use a pre-implemented streaming HTTP request to establish connections.
Describe the Solution You'd Like
Some of the solution code logic is above.
- Dominant language
- Java
- Stars
- 1.7k
- Forks
- 433
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 50
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/adk-java
-
GeminiUtil placeholder user turn ("Continue output. DO NOT look at this line ...") is flagged by prompt injection filtersPossibly taken @hemasekhar-p claimed this 1 day ago. Openneeds review
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
google/adk-java#1628 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
[spring-ai] ToolConverter silently drops enum and items from tool parameter schemasPossibly taken @hirematha claimed this 4 days ago. Openneeds review
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
google/adk-java#1609 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
[spring-ai] Streaming responses ending with CJK punctuation (。!?) are misclassified as partial and never persisted to the sessionPossibly taken @hirematha claimed this 4 days ago. Openneeds review
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
google/adk-java#1608 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Claude model throws UnsupportedOperationException("Not supported yet.") on thinking blocks from Claude 5 modelsPossibly taken @hemasekhar-p claimed this 1 day ago. Openneeds review
google/adk-java#1630 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
[core] Client disconnects don't cancel the model stream (per-step flow is cached) — and there is no public API to cancel an in-flight runPossibly taken @hemasekhar-p claimed this 3 days ago. Openneeds review
google/adk-java#1618 · 6 comments · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
Fix Math.ceilDiv wrong result for exact positive divisionsPossibly taken @pamod-madubashana claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
scala-native/scala-native#5094 ·
Maintainers usually reply within 1 day
-
[Bug] AI unread message badge counts a batch of new bubbles as one messagePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
apache/rocketmq-dashboard#5784 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
PCL-Community/PCL-CE#3658 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
apache/skywalking#14127 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day