Uh oh!
There was an error while loading. Please reload this page.
.NET: Add support for background responses to A2A agent - #2381
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds support for AgentTask and background responses to the A2A agent, enabling consumers to poll for long-running task completion using continuation tokens.
Key changes:
- Introduces
A2AContinuationTokenfor tracking background task execution state - Updates
A2AAgentThreadto store both conversation context ID and task ID - Enhances
A2AAgent.RunAsyncto handle task responses and support polling via continuation tokens - Adds comprehensive unit tests for the new functionality
- Includes a sample demonstrating polling for task completion
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| dotnet/src/Microsoft.Agents.AI.A2A/A2AAgent.cs | Core implementation of task support, continuation token handling, and streaming task event processing |
| dotnet/src/Microsoft.Agents.AI.A2A/A2AContinuationToken.cs | New class implementing ResponseContinuationToken for task state tracking |
| dotnet/src/Microsoft.Agents.AI.A2A/A2AAgentThread.cs | Enhanced to store task ID alongside context ID with proper serialization |
| dotnet/src/Microsoft.Agents.AI.A2A/A2AJsonUtilities.cs | New utility class providing JSON serialization configuration for A2A types |
| dotnet/src/Microsoft.Agents.AI.A2A/Extensions/A2AArtifactExtensions.cs | Refactored to extract ToAIContents method for better code reuse |
| dotnet/src/Microsoft.Agents.AI.A2A/Extensions/A2AAgentTaskExtensions.cs | Enhanced with new ToAIContents method and nullable return types for better null handling |
| dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/A2AAgentTests.cs | Extensive new tests covering continuation tokens, task responses, and streaming scenarios |
| dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Extensions/A2AArtifactExtensionsTests.cs | New unit tests for artifact extension methods |
| dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Extensions/A2AAgentTaskExtensionsTests.cs | New unit tests for agent task extension methods |
| dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/A2AContinuationTokenTests.cs | New comprehensive tests for continuation token serialization and deserialization |
| dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/A2AAgentThreadTests.cs | New tests for thread state serialization |
| dotnet/samples/GettingStarted/A2A/A2AAgent_PollingForTaskCompletion/Program.cs | New sample demonstrating polling for long-running task completion |
| dotnet/src/Microsoft.Agents.AI.A2A/Microsoft.Agents.AI.A2A.csproj | Removed version overrides for package references and added trim attributes configuration |
| dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Microsoft.Agents.AI.A2A.UnitTests.csproj | Removed version overrides and added NoWarn for MEAI001 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…/SergeyMenshykh/agent-framework into a2a-support-background-responses
* add support for baackground responses to a2a agent * fix line endings * address pr review comments * address pr review comments * update sample to net10.0 * Update dotnet/samples/GettingStarted/A2A/A2AAgent_PollingForTaskCompletion/README.md Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com> * Update dotnet/src/Microsoft.Agents.AI.A2A/Extensions/A2AAgentTaskExtensions.cs Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com> * Update dotnet/samples/GettingStarted/A2A/A2AAgent_PollingForTaskCompletion/Program.cs Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com> * address pr review feedback * add clarification regarding background responses --------- Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
This PR adds support for
AgentTaskto the A2A agent and also includes support for background responses to the non-streamingRunAsyncmethod, enabling consumers to poll for task completion.The following items are out of scope for this PR and will be addressed separately in follow-up PRs:
RunAsyncmethodRunStreamingAsyncContributes to: #95