Skip to content

Conversation

@brycewcole
Copy link
Contributor

@brycewcole brycewcole commented Dec 28, 2025

Description

This PR updates the a2a executor to use the a2a libraries artifact append function. Intermediate chunks are best represented by artifact updates with append set to true, not task status updates. Please see this discussion on the a2a repo for more justification.

This feature is now hidden behind the enable_a2a_compliant_streaming flag in A2AServer.

enable_a2a_compliant_streaming False

Screenshot 2026-01-14 at 10 51 11 AM

enable_a2a_compliant_streaming True

Screenshot 2026-01-14 at 10 52 02 AM Screenshot 2026-01-14 at 10 52 29 AM

Related Issues

#1377

Documentation PR

N/A

Type of Change

Bug fix

Testing

  • I ran hatch run prepare

Checklist

  • I have read the CONTRIBUTING document
  • I have added any necessary tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have added an appropriate example to the documentation to outline the feature, or no new docs are needed
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@github-actions github-actions bot added size/s and removed size/s labels Dec 28, 2025
@github-actions github-actions bot added size/s and removed size/s labels Dec 28, 2025
@brycewcole brycewcole changed the title A2a artifact update fix: use a2a artifact update event Dec 28, 2025
@brycewcole brycewcole changed the title fix: use a2a artifact update event fix(a2a): use a2a artifact update event Dec 28, 2025
Copy link
Member

@Unshure Unshure left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets make sure to put this new behavior behind the enable_a2a_compliant_streaming flag so that existing integrations are not impacted, but notified of this change.

@codecov
Copy link

codecov bot commented Jan 14, 2026

Codecov Report

❌ Patch coverage is 88.00000% with 3 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/strands/multiagent/a2a/executor.py 88.00% 1 Missing and 2 partials ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Member

@Unshure Unshure left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good, but a few of our tests failed. Left some comments throughout about ways to address it.

fix: update tests

fix: simplify code by storing in class

fix: remove uneeded code change

fix: hide a2a artifact streaming under feature flag

fix: use walrus operator

fix: use star to signify end of unnamed

fix: add check for walrus legacy

fix: clarify enable_a2a_compliant_streaming parameter in StrandsA2AExecutor initialization

fix: update tests

refactor: streamline artifact addition logic in StrandsA2AExecutor
Copy link
Member

@Unshure Unshure left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codecov is 2% off, which I think is fine. And the api diff check sees the additional enable_a2a_compliant_streaming parameter as potentially breaking, but its been implemented such that it wont break existing users

@Unshure Unshure merged commit e4bd3bc into strands-agents:main Jan 16, 2026
13 of 15 checks passed
@zastrowm zastrowm mentioned this pull request Jan 22, 2026
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants