a2aproject / a2aproject/a2a-python
Feat]: Client-side utility for assembling artifacts from update events
- Dominant language
- Python
- Stars
- 2.1k
- Forks
- 496
- Avg merge
- 4d 17h
- Merged PRs (30d)
- 12
Description
### Is your feature request related to a problem? Please describe.
1.0 release removed `ClientTaskManager` (see #734) and changed client API in a way that it now closely mirrors server API and uses [`StreamResposne`](https://a2a-protocol.org/latest/specification/#323-stream-response) as a return type.
#734 mentions a possible helper for reconstructing artifacts specifically, this issue is to track it.
### Describe the solution you'd like
As stated in #734 maintaining the whole `Task` state locally can result in divergence with server state and should not be relied on by default (especially due to history behavior specification in 1.0, #734 has more details).
For artifacts though the logic is deterministic and can be replicated locally if one wants to maintain full artifact state by interpreting `append` and `lastChunk` flags. Client API should not be changed here, new helper should operate on a stream of `StreamResponse`.
Contributor guide
Assessment
This issue has not been assessed yet.