* refactor: Rename AggregateTurnMessagesExecutor
* feat: Rework Agent Hosting for Configurability and HIL support
* Adds support for selecting whether updates and/or full responses are
emitted to events
* Adds support for HIL/FunctionCalls (including interception)
* Implements internal support for ExternalRequests from any executor
(not just RequestPort)
* test: Add tests for new AIAgentHostExecutor functionality
* feat: Unify non-Handoff Agent Hosting
* doc: More explicit documentation for `overwrite` in RouteBuilder
* adds support for labels in edges, fixes rendering of labels in dot and mermaid, adds rendering of labels in edges
* Update dotnet/src/Microsoft.Agents.AI.Workflows/Visualization/WorkflowVisualizer.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* escaping edge labels, adding tests for labels containing strange characters that would break the diagram and enabling the previous signature so the API has backwards compatibility.
* Unify label in EdgeData
* Edge API adjustments, removed useless "sanitizer"
* fixed test
* Fix in Sample
* update
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jacob Alber <jaalber@microsoft.com>
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
Jose Luis Latorre Millas
·
2026-01-22 16:23:17 +00:00
* Roslyn Source Generators for Workflow Executor Routing.
* Update dotnet/src/Microsoft.Agents.AI.Workflows.Generators/ExecutorRouteGenerator.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* WIP.
* All fixed up except dangling sends/yields attriutes, working on that next.
* Add protocol-only generation for SendsMessage/YieldsOutput attributes
* Ensuring collections that can change order are sorted to enable pipeline caching.
* Improvents per PR feedback.
---------
Co-authored-by: alliscode <bentho@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Subworkflows run into issues with Checkpointing and the Chat Protocol:
* The concurrency rework made subtle changes in behaviour that introduced a hang when using subworkflows with ChatProtocol and streaming execution.
* The ResetAsync() implementation in WorkflowHostExecutor was improperly resetting the joinContext - this was happening on restore checkpoint _after_ the join context was attached when
* Subworkflows cannot be used as the start node when hosted AsAgent due to inability to treat Catch-All as a Chat Protocol
* Subworkflow ownership issue when used in non-concurrent mode after finishing a run
Also fixes:
* When ChatMessages are output by executors that are not agents, there is no corresponding AgentResponseUpdate/AgentResponse event
Breaking Changes
* [BREAKING CHANGE] It is possible to provide the wrong RunId when resuming from CheckpointInfo (even though the data already exists on CheckpointInfo)
* Make ChatMessageStore and AIContextProvider context props setable
* Add validation to preserve non-null requirement of certain properties.
* Fix broken tests.
* fix: Expose WorkflowErrorEvent as ErrorContent
When hosted using .AsAgent(), Workflows were not exposing inner errors coming as Exceptions (through the WorkflowErrorEvent)
The fix is to convert their message to an ErrorContent on the way out, rather than rely on the default "empty update" to collect the raw event.
* feat: Add a way to show/suppress exception information
* save input messages and stream updates to the continuation token to be able to use them in the last successful stream resumption call.
* Update dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgentContinuationToken.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgentContinuationToken.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/tests/Microsoft.Agents.AI.UnitTests/ChatClient/ChatClientAgent_BackgroundResponsesTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgentContinuationToken.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgentContinuationToken.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix typo
* init continuation token from chat response
* remove unnecessary types for source generation
* remove check for continuation token passed at initial run
* remove check for continuation token pass at initial run
* centralize continuation token parsing
* update xml comments
* use readonly collection instead of enumerable
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* map additional props from agent run options to a2a request metadata
* small touches
* add unit tests for new extension methods
* Sort using
* add unit test
* add additiona unit tests
* special case json element to avoid unnecessary serialization