Feat]: Client-side utility for assembling artifacts from update events

Open
#1,030 1 comment 0 reactions 0 assignees View on GitHub

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

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

component: client maintainers-only
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from a2aproject/a2a-python

All issues in a2aproject/a2a-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.