* Fix the ordering of chained resolvers in JsonSerializerOptions
We want the resolvers from AIJsonUtilities to be used before the ones from the source generator, in case the source generator emits its own copy in that assembly for the M.E.AI types.
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update dotnet/src/Microsoft.Agents.AI/AgentJsonUtilities.cs
* Update dotnet/src/Microsoft.Agents.AI.Mem0/Mem0JsonUtilities.cs
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
* Remove unused using directive in Mem0JsonUtilities
Removed unused using directive for Microsoft.Extensions.AI.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
* Update extensions methods that accepts AgentDefinition type to not be restrictive
* Update Unit Tests
* Revert yarn/package-lock
* Revert yarn/package-lock
* Address copilot feedback
* fix: Workflow Validation
* adds orphan validation to workflow builder
* adds tests for workflow validation
* expands on the underlying reasoning why type validation is not supported
* fixup: CodeGen template
* Improve reusability of extension code and additional option to losen the strictiness of in-proc tools
* Add missing UT scenarios
* Add missing UT test scenarios
* Move packages
* Update nuget.config
* Address Xmldoc
* Remove format from branches checks
* Address Xmldocs
* Add more details to the implementation
* Moving Agent logic to ChatClient
* Adding Name and Id overrides to AzureAIAgent
* Updating extensions
* Add GetAiAgent extensions
* Adding support for version as name can conflict 409 using the Agents API with same name
* Addressing more updates to the extensions
* More improvements
* Remove debugging code from sample
* Address copilot feedback
* Apply suggestions from co-pilot code review
* [BREAKING] refactor: Normalize WorkflowBuilder APIs
* "partitioner" => "assigner"
* normalize ordering so sources always to the left of targets for edges
* normalize parameter ordering so sources and targets are always first arguments
* remove `params` (users should use collection expressions instead)
* refactor: Align name with Python
In #1551 we added a mechanism to open a Streaming workflow run without providing any input. This caused unintuitive behaviour when passing a string as input without providing a runId, resulting in the input being misinterpreted as the runId and the workflow not executing.
As well, the name caused confusion about why the Workflow was not running when using the input-less StreamAsync (since the Workflow cannot run without any messages to drive its execution).