Skip to content

.NET: [BREAKING] Update type names and source generator to reduce conflicts#4903

Merged
lokitoth merged 4 commits intomainfrom
dev/dotnet_workflow/naming_conflict_fixes
Mar 25, 2026
Merged

.NET: [BREAKING] Update type names and source generator to reduce conflicts#4903
lokitoth merged 4 commits intomainfrom
dev/dotnet_workflow/naming_conflict_fixes

Conversation

@lokitoth
Copy link
Copy Markdown
Member

@lokitoth lokitoth commented Mar 25, 2026

Motivation and Context

Some of the names of types used by workflows are likely to be conflicting (or are conflicting) with other types from, e.g. ASPNetCore.WebAPI. (#4174).

Description

Explicitly not changing Edge, or Run for now unless we see actual conflicts.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • The PR follows the Contribution Guidelines
  • All unit tests pass, and I have added new tests where possible
  • Is this a breaking change? If yes, add "[BREAKING]" prefix to the title of the PR.

Make the Config name less likely to collide with other classes by renaming to ExecutorConfig. Makes Configured and related classes internal as they do not need to be part of the public surface.
Copilot AI review requested due to automatic review settings March 25, 2026 13:50
@lokitoth lokitoth added .NET workflows Related to Workflows in agent-framework labels Mar 25, 2026
Copy link
Copy Markdown
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 addresses type-name conflicts in the .NET Workflows surface area (notably RouteBuilder ambiguity with ASP.NET Core) by renaming configuration types, tightening visibility of implementation details, and adjusting generated source to avoid ambiguous references.

Changes:

  • Renames Config/Config<TOptions> to ExecutorConfig/ExecutorConfig<TOptions> and updates relevant binding APIs.
  • Makes Configured and related configuration extension classes internal to reduce public API surface and naming collisions.
  • Updates the workflow source generator output to add a RouteBuilder using-alias to disambiguate against ASP.NET Core.

Reviewed changes

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

Show a summary per file
File Description
dotnet/src/Microsoft.Agents.AI.Workflows/ExecutorConfig.cs Renames Config types to ExecutorConfig variants.
dotnet/src/Microsoft.Agents.AI.Workflows/ExecutorBindingExtensions.cs Updates executor binding extension signatures to use ExecutorConfig<TOptions>.
dotnet/src/Microsoft.Agents.AI.Workflows/Configured.cs Makes Configured* types internal and updates factories to use ExecutorConfig.
dotnet/src/Microsoft.Agents.AI.Workflows/ConfigurationExtensions.cs Makes configuration extension class internal (implementation detail).
dotnet/src/Microsoft.Agents.AI.Workflows.Generators/Generation/SourceBuilder.cs Adds RouteBuilder alias in generated code to prevent ambiguous reference errors.
Comments suppressed due to low confidence (1)

dotnet/src/Microsoft.Agents.AI.Workflows/ExecutorConfig.cs:10

  • ExecutorConfig was renamed to reduce naming conflicts and is described in the PR as being used for executor factory binding, but the XML summary still describes a generic "configuration for an object". Consider updating the XML docs to describe the executor-factory scenario (and the intended semantics of the required id parameter) so the public API docs match the new type name.

@lokitoth lokitoth force-pushed the dev/dotnet_workflow/naming_conflict_fixes branch from ef02db7 to fbb7601 Compare March 25, 2026 14:06
@lokitoth lokitoth enabled auto-merge March 25, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

.NET workflows Related to Workflows in agent-framework

Projects

None yet

4 participants