Skip to content

fix(a2a): preserve streaming tool use content#1527

Open
java-lbb wants to merge 1 commit into
agentscope-ai:mainfrom
java-lbb:fix/a2a-streaming-tool-use-content
Open

fix(a2a): preserve streaming tool use content#1527
java-lbb wants to merge 1 commit into
agentscope-ai:mainfrom
java-lbb:fix/a2a-streaming-tool-use-content

Conversation

@java-lbb
Copy link
Copy Markdown
Contributor

@java-lbb java-lbb commented May 29, 2026

AgentScope-Java Version

1.1.0-SNAPSHOT

Description

This PR fixes A2A conversion for streaming ToolUseBlock fragments.

Previously, ToolUseBlockParser serialized only ToolUseBlock#getInput() into DataPart.data. Streaming tool-call fragments can carry argument deltas in ToolUseBlock#getContent() while input and metadata are empty, so the raw content was dropped during A2A conversion.

Changes made:

  • Add an internal DataPart.data key for raw streaming tool-use content.
  • Preserve ToolUseBlock.content when converting ToolUseBlock to DataPart.
  • Restore that content when converting DataPart back to ToolUseBlock.
  • Keep the internal content key out of ToolUseBlock.input.
  • Add regression tests for both conversion directions.

Test commands:

mvn -pl agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-client -am "-Dtest=ToolUseBlockParserTest#testParseStreamingToolUseContent,DataPartParserTest#testParseDataPartWithStreamingToolUseContent" test

mvn -pl agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-client -am test

Local results:

Tests run: 106, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS

Fixes #1526

Checklist

Please check the following items before code is ready to be reviewed.

  • Code has been formatted with mvn spotless:apply
  • All related tests are passing
  • Javadoc comments are complete and follow project conventions
  • Related documentation has been updated (not needed for this bug fix)
  • Code is ready for review

@java-lbb java-lbb requested a review from a team May 29, 2026 12:19
@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: A2A ToolUseBlockParser drops streaming tool call content

1 participant