Feat]: Client-side utility for assembling artifacts from update events
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- backend-api-design
Research direction
Review issue #734 for context on the removed ClientTaskManager and the history behavior specification. Examine the client API's StreamResponse type and the protocol's append and lastChunk flags. Look at existing client code that handles artifacts to understand the deterministic logic for reconstruction. The helper should operate on a stream of StreamResponse without changing the client API.
Written by the indexing model from the issue text.
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 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.
- Dominant language
- Python
- Stars
- 2.2k
- Forks
- 496
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 16
Contributor 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 a2aproject/a2a-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
a2aproject/a2a-python#1261 ·
-
component: server status:awaiting response
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1237 · 1 comment · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1215 · 2 comments · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1205 · 3 comments · 1 assignee ·
-
component: server status:awaiting response status:stale
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/a2a-python#1204 · 2 comments · 1 assignee ·
All issues in a2aproject/a2a-python
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100