-
-
Notifications
You must be signed in to change notification settings - Fork 598
feat: a2a support #1262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat: a2a support #1262
Conversation
1、a2a test agent:https://github.com/geffzhang/MS.AI.AgentProtocol/tree/main/src/Hosting.A2A 2、 test agent in pizzabot
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||
User description
1、a2a test agent:https://github.com/geffzhang/MS.AI.AgentProtocol/tree/main/src/Hosting.A2A
2、 test agent in pizzabot
This pull request introduces a new integration for Agent-to-Agent (A2A) protocol support, enabling BotSharp to communicate with external agents via the A2A protocol. The update adds a new plugin, supporting services, configuration, and routing logic to facilitate seamless remote agent delegation. Additionally, it updates solution/project files and configuration to register and enable this functionality.
A2A Protocol Integration
BotSharp.Core.A2Aplugin, which registers services, hooks, and function callbacks to support A2A protocol integration (A2APlugin,A2ADelegationFn,A2AAgentHook,A2AService,IA2AService,A2ASettings) [1] [2] [3] [4] [5] [6].A2ARemoteinAgentTypefor identifying A2A remote agents.Configuration and Solution Updates
BotSharp.Core.A2Aproject in the solution and as a dependency inWebStarterand test projects (BotSharp.sln,WebStarter.csproj,PizzaBotPlugin.csproj) [1] [2] [3] [4] [5] [6].A2ANuGet package to central package management.appsettings.jsonto includeA2AIntegrationconfiguration, enabling the protocol and specifying remote agents.Routing and Agent Discovery
A2ARemoteas routable agents, allowing them to be considered for delegation.These changes collectively enable BotSharp to delegate tasks to external agents using the A2A protocol, expanding its interoperability and integration capabilities.
PR Type
Enhancement
Description
Introduces A2A protocol integration enabling agent-to-agent communication
Adds new
BotSharp.Core.A2Aplugin with services, hooks, and delegation functionsImplements remote agent discovery and capability loading via A2A endpoints
Registers A2A agents in routing service and configuration files
Diagram Walkthrough
File Walkthrough
7 files
Add A2ARemote agent type constantCreate A2A plugin with DI registrationImplement A2A delegation function callbackAdd agent hook for A2A remote agent loadingImplement A2A service with message and task handlingDefine A2A service interface contractInclude A2ARemote agents in routing logic8 files
Define A2A configuration and remote agent settingsRegister SportKiosk A2A remote agentAdd BotSharp.Core.A2A project to solutionCreate A2A core project fileAdd A2A project reference to WebStarterConfigure A2A integration and SportKiosk agentAdd SportKiosk agent data file referenceDefine SportKiosk A2A remote agent configuration1 files
Add A2A NuGet package dependency