* Add support for getting and creating Assistant and Foundry agents with ChatClientAgentOptions
* Fix options cloning and agent creation
* Fix inconsistency
* Add support for mapping more tools and integration tests for ensuring CreateAIAgent works with those tools.
* Add support for additional openai tools with tests.
* Remove special casing for function tools, since it's either not supported yet, or requires a lot of code duplication.
* Removed unused using.
* Fix broken unit tests
* Change integration test to reduce flakiness.
* unit test for using create agent option by constructor
* remove this for prevent duplicate when ChatClientAgentOption and ChatOption has same Instruction
* update unit test for ChatClientAgentOptions
* refactor: remove unused internals
* feat: Execution Mode for sharing a workflow among concurrent runs
* feat: Update WorkflowHostAgent to support concurrent execution
* Also update AsAgent APIs to support injecting a CheckpointManager and an IWorkflowExecutionEnvironment
* fix: Make Read logic consistent in DeclarativeWorkflowContext
WorkflowHostAgent was initially implemented before Checkpointing was available. This meant that in order to support resuming, the WorkflowHostAgent needed to keep the runs around, which broke it when stricter rules about concurrent sharing of workflows during execution were introduced.
This change updates the hosting logic to release the underlying StreamingRun when the RunStreamingAsync or RunAsync are invoked, in favour of keeping the checkpointing information in the WorkflowThread to enable resumption.
* sanitize agent name
* simplify
* Update dotnet/src/Microsoft.Agents.AI/AgentExtensions.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/src/Microsoft.Agents.AI/AgentExtensions.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update dotnet/src/Microsoft.Agents.AI/AgentExtensions.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update dotnet/tests/Microsoft.Agents.AI.UnitTests/AgentExtensionsTests.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* change regex to flag underscores as well so their sequence can be replaced with a single one.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
- Added ChatMessage[] handler to ConfigureRoutes to support array dispatch
- Workflow runtime can dispatch messages as either List<ChatMessage> or ChatMessage[]
- Added 10 comprehensive unit tests validating message routing behavior
- Tests ensure functionality and protect against future refactoring (issue #782)
- Updated code comments to reflect exact-type-matching requirement
Fixes issue where raw WorkflowBuilder with AIAgent nodes failed to receive
initial messages due to missing array type handler.
* add workflow edge data properties to the workflow.definition tag.
* use workflow info classes for workflow.definition tag value
* add unit test
* fix test
* fix formatting issue
* remove flaky unit test
* remove unused package dependency
* improve structured output for chat client agent
* add comment to the result property
* remove code duplication and add tests
* refactor the CreateAIAgent extension methods to return specific types, so consumers can avoid unnecessary downcasting.
* fix type and remove unused using.
* add ChatClientAgentRunResponse and move AgentRunResponse to the abstractions package to reuse later.
* seal ChatClientAgentRunResponse
* update xml comment
* remove funcitons from sample
* rename agent for streaming
* Fix bug where ChatClientAgent throws when providing a ChatMessageStore with a service that requries service storage
* Update dotnet/tests/Microsoft.Agents.AI.UnitTests/ChatClient/ChatClientAgentTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>