feat(a2a): Support A2A protocol calling by A2aAgent.#172
feat(a2a): Support A2A protocol calling by A2aAgent.#172AlbumenJ merged 11 commits intoagentscope-ai:mainfrom
Conversation
|
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR introduces support for the A2A (Agent-to-Agent) protocol in AgentScope-Java, enabling agents to call remote agents using standardized communication. The implementation includes a new A2aAgent class, comprehensive message conversion utilities between AgentScope and A2A formats, and event handlers for managing asynchronous A2A protocol interactions.
- New
A2aAgentclass that extendsAgentBaseto support A2A protocol communication - Bidirectional message converters between AgentScope
Msgand A2AMessage/Artifactformats - Support for various content types: text, media (image/audio/video), tool use/results, and thinking blocks
- Event handling infrastructure for processing A2A client events and task updates
Reviewed changes
Copilot reviewed 32 out of 32 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| agentscope-extensions/pom.xml | Adds new a2a-agent module to the extensions |
| agentscope-dependencies-bom/pom.xml | Adds A2A Java SDK client dependency (version 0.3.2.Final) |
| agentscope-extensions/.../A2aAgent.java | Core agent implementation with A2A protocol support, lifecycle management, and interrupt handling |
| agentscope-extensions/.../A2aAgentConfig.java | Configuration record for A2A agent with transport and client config options |
| agentscope-extensions/.../MessageConvertUtil.java | Utility for bidirectional message conversion between AgentScope and A2A formats |
| agentscope-extensions/.../LoggerUtil.java | Logging utilities with level checks to avoid unnecessary string formatting |
| agentscope-extensions/.../message/*.java | Parser implementations for converting between AgentScope ContentBlocks and A2A Parts |
| agentscope-extensions/.../event/*.java | Event handlers for processing A2A client events, task updates, and messages |
| agentscope-extensions/.../card/*.java | Agent card resolver implementations for fixed and well-known URLs |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/message/TextPartParser.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...sions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/message/BaseMediaBlockParser.java
Outdated
Show resolved
Hide resolved
...sions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/message/BaseMediaBlockParser.java
Outdated
Show resolved
Hide resolved
...ons-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/event/ClientEventHandlerRouter.java
Outdated
Show resolved
Hide resolved
...entscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/A2aAgentConfig.java
Outdated
Show resolved
Hide resolved
...-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/message/TextPartParser.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...entscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/A2aAgentConfig.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated 17 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...a2a/agentscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/A2aAgent.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...tscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/utils/LoggerUtil.java
Outdated
Show resolved
Hide resolved
...a2a/agentscope-extensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/A2aAgent.java
Outdated
Show resolved
Hide resolved
...xtensions-a2a-agent/src/main/java/io/agentscope/core/a2a/agent/message/PartParserRouter.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Change-Id: I20d1440c5192294446480da574856119b5aede50
Change-Id: I77ef6b7d996846ad5eeeda70711f78b27380286f
Change-Id: I7ae4b618892fa6db97f0e3fd372773dca6980013
Change-Id: Iaabddd3b6aa8a3b0a263501a059b5da71b36b43e
Change-Id: If15fe0f5f64ca41b771fcf7a2cd9771122b8d01e
Change-Id: Ie8ad9149a0b40d23f6d8f9ef05e39efdd52826b0
Change-Id: Ic1b6528212ff08022464aa1a72f278a4f6ec02a5
…ilders. Change-Id: I34d51a97dd6fc0d8fc7a02760b047539d4de8ba0
Change-Id: I4a0c5ea0e2c158dd503d58ad6ecbd33222bf84a4
c3c0a67 to
d495071
Compare
|
Please increase code coverage percentage |
Change-Id: I82da702c73d0eb1ce81d77c319bf34ab8d7d1594
Change-Id: I054117324c2e513d06ff4c2a9a5ed46d3623f7e0
Change-Id: I20d1440c5192294446480da574856119b5aede50
AgentScope-Java Version
1.0.2
Description
Support call remote agent by A2A protocol
Checklist
Please check the following items before code is ready to be reviewed.
mvn spotless:applymvn test)