Skip to content

Conversation

@DeagleGross
Copy link
Contributor

2 intentions here:

  1. remove AddConcurrentWorkflow and AddSequentialWorkflow as per .NET: Add DevUI package for .NET #1603 (comment)
  2. add overloads for hsoting extensions to pass IHostedAgentBuilder - this avoids need of copying the name of agent in registration+Map... methods.

@DeagleGross DeagleGross self-assigned this Oct 27, 2025
Copilot AI review requested due to automatic review settings October 27, 2025 14:44
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR simplifies workflow extension methods and adds overloads for hosting extensions to accept IHostedAgentBuilder parameters. The changes eliminate the AddConcurrentWorkflow and AddSequentialWorkflow convenience methods in favor of explicit workflow configuration, while enabling callers to pass agent builders directly to mapping methods instead of repeating agent names.

Key changes:

  • Removed AddConcurrentWorkflow and AddSequentialWorkflow extension methods
  • Added IHostedAgentBuilder overloads to MapA2A, MapOpenAIChatCompletions, and MapOpenAIResponses
  • Updated sample code to use explicit workflow configuration and new builder-based mapping methods

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
HostApplicationBuilderWorkflowExtensionsTests.cs Removed unit tests for deleted AddConcurrentWorkflow and AddSequentialWorkflow methods
HostApplicationBuilderWorkflowExtensions.cs Deleted AddConcurrentWorkflow and AddSequentialWorkflow methods and removed unused System.Collections.Generic import
EndpointRouteBuilderExtensions.Responses.cs Added IHostedAgentBuilder overloads for MapOpenAIResponses method
EndpointRouteBuilderExtensions.ChatCompletions.cs Added IHostedAgentBuilder overload for MapOpenAIChatCompletions and changed return type to IEndpointConventionBuilder
EndpointRouteBuilderExtensions.cs Added four new MapA2A overloads accepting IHostedAgentBuilder
Program.cs Updated sample to use explicit workflow configuration and new builder-based mapping methods

@DeagleGross DeagleGross enabled auto-merge October 27, 2025 14:46
Copy link
Member

@stephentoub stephentoub left a comment

Choose a reason for hiding this comment

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

Looks ok to me, though for the builder stuff I defer to @ReubenBond

builder.AddConcurrentWorkflow("science-concurrent-workflow", [chemistryAgent, mathsAgent, literatureAgent]).AddAsAIAgent();
var scienceSequentialWorkflow = builder.AddWorkflow("science-sequential-workflow", (sp, key) =>
{
List<IHostedAgentBuilder> usedAgents = [chemistryAgent, mathsAgent, literatureAgent];
Copy link
Member

Choose a reason for hiding this comment

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

FWIW, it's still counterintuitive to me that something called "Agent" and that's returned from a method called "AddAIAgent" is actually a builder. I understand why it is, but maybe there are things we could do to ease this.

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.

4 participants