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.
- Lingua principale
- Java
- Stelle
- 1.7k
- Fork
- 420
- Merge medio
- 4g 12h
- PR unite (30g)
- 31
Descrizione
** Please make sure you read the contribution guide and file the issues in the right place. **
[Contribution guide.](https://google.github.io/adk-docs/contributing-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 a2aMessageOpt = com.google.adk.a2a.EventConverter.convertEventsToA2AMessage(invocationContext);`
`metadata` is not assigned. Therefore, will the following code always return a null case:
`Map 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:
2.Multiple agents communicate via the A2A protocol, using a synchronous blocking approach.
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.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.