SergeyMenshykh and GitHub
c70e594e6c
.NET: [Breaking] RenameAgentRunResponse and AgentRunResponseUpdate classes ( #3197 )
...
* rename AgentRunResponse and AgentRunResponseUpdate classes - part1
* rename varialbles, parameters, methods and tests
* rollback unnecessary changes
2026-01-14 10:27:41 +00:00
32e054f1fe
Rename AI Agent packages to use Microsoft.Agents.AI ( #913 )
...
* Rename AI Agent packages to use Microsoft.Agents.AI
* Fix for build
* Fix formatting
* Fix formatting
* Ignore in VSTHRD200 in migration samples
* Ignore in VSTHRD200 in migration samples
* Add some missing projects and run format
* Fix build errors
* Address code review feedback
* Fix merge issues
---------
Co-authored-by: Mark Wallace <markwallace@microsoft.com >
2025-09-25 19:31:25 +00:00
Stephen Toub and GitHub
5e5761b288
Enable more analyzers and various code tweaks/cleanup ( #738 )
2025-09-18 01:48:25 +00:00
24ad03af6f
.NET: Add Declarative Workflow Interpreter ( #401 )
...
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* Conversion checkpoint
* Fix namespace error
* Restructure
* Completion
* Executor checkpoint
* Conditional checkpoint
* Cleanup
* Exception cleanup
* Sample cleanup
* Updates
* feat: Define Workflow and Executor APIs
* feat: Define IExecutionContext and Events
* feat: Simple Workflow Demos
* refactor: Move Workflows classes to separate assembly
* feat: Move FanOut/In to LowLevel API with new semantics
* feat: Implement Local Execution
* refactor: Assembly name .Workflow => .Workflows
* feat: Enable Default Message Handling
* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)
* feat: Implement StreamingHandle APIs
This allows the user to respond to WorkflowEvents with external messages, enabling HIL.
* feat: Add checks for duplicate edges and chain cycles
* feat: Add built-in WorkflowEvents
* refactor: Pull classes into own files
* refactor: Simplify Disposal pattern in Executor
* refactor: Break EdgeRunner file into per-type files
* refactor: Use Throw.IfNull()
* refactor: Remove AddLoop()
Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.
* refactor: Normalize use of ValueTask
* fix: Build Break from removing .AddLoop
* refactor: Explicit routing and RouteBuilder
Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* refactor: Remove unused types
* refactor: Simplify Event and EdgeData type hierarchies
* feat: Add Switch (=Conditional Edge Group) control flow
* Fix unit-tests
* Add sample
* Comment cleanup
* Fix debug output
* Formating helpers
* feat: Define Workflow and Executor APIs
* feat: Define IExecutionContext and Events
* feat: Simple Workflow Demos
* refactor: Move Workflows classes to separate assembly
* feat: Move FanOut/In to LowLevel API with new semantics
* feat: Implement Local Execution
* refactor: Assembly name .Workflow => .Workflows
* feat: Enable Default Message Handling
* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)
* feat: Implement StreamingHandle APIs
This allows the user to respond to WorkflowEvents with external messages, enabling HIL.
* feat: Add checks for duplicate edges and chain cycles
* feat: Add built-in WorkflowEvents
* refactor: Pull classes into own files
* refactor: Simplify Disposal pattern in Executor
* refactor: Break EdgeRunner file into per-type files
* refactor: Use Throw.IfNull()
* refactor: Remove AddLoop()
Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.
* refactor: Normalize use of ValueTask
* fix: Build Break from removing .AddLoop
* refactor: Explicit routing and RouteBuilder
Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.
* test: Add Reflection/Invocation tests
* fix: Terminate on Completion event
* refactor: Update public API surface
* feat: Add support for external requests
* feat: Support hosting AIAgent instances in Workflows
* fix: Fix routing to go through Executor.ExecuteAsync
* test: Update samples for "must SendMessage" semantics
* Add invoking samples to unit tests to avoid future breaks
* fix: ExternalRequest should block Workflow completion
* feat: Normalize API surface against Python
* Also adds xmldoc to all public APIs
* refactor: Normalize UnitTest and Sample namespaces
* fix: Formatting
* refactor: Normalize project/folder names
* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure
* fix: Fix ILTrim warnings
* docs: Add missing docs and fix typos
* feat: Hosted Agents should report Run events
* fix: Fix type propagation for ILTrim changes
* refactor: Simplify DynamicallyAccessedMembers annotations
* sample: Use static-Type construction of InputPort
* feat: Support non-Streaming Run Mode
* test: Add test for non-streaming execution
* refactor: Remove unused types
* refactor: Simplify Event and EdgeData type hierarchies
* feat: Add Switch (=Conditional Edge Group) control flow
* feat: Make .NET AutoSend the MessageHandler result
* feat: Implement State APIs
* Add tests
* Fix merge from main
* Test coverage
* Message event
* Comments and clean-up
* Format
* Cleanup
* Test checkpoint
* Clean-up - comments / test
* Test baseline - 100%
* More clean-up
* Comments
* Streaming...sort've...
* Fix build / test
* Stable
* Checkpoint
* Checkpoint
* Stable
* Update sample after merge
* Add "Question" workflow
* State clean-up checkpoint
* State clean-up
* Sample updated
* Expression bug fix
* Sample formatting
* Add unit test
* Comments
* Scope cleanup
* Refine cleanup
* Fill gaps
* fcs
* Finalize data-types
* Add unit-test
* Debug cleanup
* Bug fixes
* Demo progress
* Sample clean-up
* Update samples
* Sample updates
* Sync demo workflows
* Sample formatting
* Sample formatting
* Demo complete
* Workflow formatting
* Demo formatting #2
* Readme + Sample clean-up
* Scope update
* Update diagnostics
* Variable initiaization
* Rollback
* Tune research summary
* State management
* Fix merge
* Fix merge - demo
* Add readme
* Overload for workflow builder
* Fault tolerance - scope equivalency
* Fix feed
* Update sample
* Add default for "Bot"
* Nuget.config patchwork
* Scope assignment check
* Rollback nuget.config haxx
* Sample format
* Namespace
* Namespace
* Agent-Provider
* Clean-up extra files
* Renaming
* Update sample
* Prune junk files
* Clean-up
* Use transform
* agent provider fix
* Typo
* Null check fix
* Fix merge
* Checkpoint
* Cleanup
* Exception cleanup
* Exception message
* Clean-up
* Sample config update
* Update handling of "Env" scope
* Sample agent templates
* Add readme
* Event cleanup
* Rename event
* Update workflows/README.md
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com >
---------
Co-authored-by: Jacob Alber <jaalber@microsoft.com >
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com >
2025-09-03 16:32:15 +00:00
9faa27b8eb
.NET: Clean / address some message warnings ( #291 )
...
* WIP
* Structured Output sample
* Update dotnet/samples/GettingStarted/Steps/Step06_ChatClientAgent_StructuredOutputs.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address xml and comment targeting the Structured Output context
* Update with proposed fix for Persistent ChatClient
* Address PR feedback
* Address minor warnings
* Address initialization
* Address initialization
* Address PR comments, update suggestions
* Revert changes to NullableAttributese.cs
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com >
2025-08-05 12:55:44 +00:00
Stephen Toub and GitHub
456e7d1b65
Round 2 of cleanup for agent runtime and orchestrations ( #164 )
...
- Moved InProcessRuntime type into abstractions package and deleted InProcess package.
- Moved several members of IAgentRuntime to be extension methods instead, e.g. multiple GetActorAsync overloads.
- Added synchronous RegisterMessageHandler overloads and used them to avoid unnecessary async usage at call sites.
- Removed unnecessary surface area from InProcessRuntime, e.g. StopAsync, RunUntilIdleAsync, etc.
- Fixed spin loop in InProcessRuntime that would consume an entire core for the duration of the orchestration's operation.
- Removed a bunch of allocation from InProcessRuntime.
- Made a runtime optional for orchestrations, defaulting to using a temporary InProcessRuntime if none is provided.
- Removed custom delegate types from orchestrations.
- Consolidated namespaces.
- Used records to simplify message classes.
- Tweaked naming on AgentActor to make purpose of protected methods more clear.
- Removed invocation in AgentActor.InvokeAsync of empty update / isFinal parameter.
- Changed OrchestrationHandoffs to avoid needing to pass in agents duplicatively.
- Made various extension methods, such as those on OrchestrationHandoffsExtensions, into instance methods.
2025-07-11 11:12:18 -04:00
715769e649
Run Response ADR & Updates ( #104 )
...
* Add ADR for different run response options
* Add another option to the list.
* Update agno non-streaming with further clarification
* Add another option
* Adding optional includeUpdates option
* Adding Pros/Cons for each option
* Make pros/cons a list
* Add some thoughts on structured outputs and custom AIContent types
* Update design doc to clarify primary and secondary better and split out custom response types with it's own options
* Add structured outputs competitive comparison and suggestion
* Address PR comments.
* Remove AgentRunFinishReason until we can find a good use case for it.
* Add finish reason to list of excluded properties.
* Add custom agent run response types.
Usage to follow.
* Update Agent run response types
* Add additional code coverage
* Remove onIntermediateMessage since it is unecessary with the new response approach.
* Add AgentId to response.
* Rename ParseAsStructuredOutput to Deserialize
* Update decision doc.
* Fix formatting.
* Update CopilotStudio to return new response types
* Address PR comment
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com >
---------
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com >
2025-07-11 11:39:18 +00:00
7c8ec5ec19
.NET Port Agent Orchestration ( #107 )
...
* Checkpoint
* Checkpoint
* Namespaces
* Namespace
* Cleanup
* Namespace order
* Fix sync
* Formatting
* Formatting
* Namespace
* Namespace order
* Code convention
* Naming
* Naming
* Text handling
* Text handling
* Namespace
* Namespace order
* Namespace ordering
* Test
* ValueTask
* net472
* Test fix
* Fix namespace (net472)
* Namespace
* Fix conditional namespace
* Fix type expression
* Compatibility and cleanup
* Sample compatibility
* Sample compat
* Test compat
* modifier order
* Simply http-stub
* Formating fix for unit-test
* Fix test
* Real fix
* Test clean-up
* Update dotnet/src/Microsoft.Agents.Orchestration/Handoff/HandoffOrchestration.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix build errors after merging
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Stephen Toub <stoub@microsoft.com >
2025-07-08 13:04:34 -04:00
Dmytro Struk and GitHub
47dcad6b49
.Net: Added Azure AI Persistent Agents ( #81 )
...
* Added PersistentAgentsChatClient
* Added integration tests
* Small fixes
* Added sample
* Added TODO for tools
* Small rename
* Removed user-secrets id
* Renamed project
* Fixed warning
* Fixed warning
* More fixes
* More fixes
2025-06-19 14:01:26 +00:00
Roger Barreto and GitHub
14f3811648
.Net: Add Azure OpenAI Agent Model Samples ( #80 )
...
* Improved Merge logic
* Add modularization for Model Samples and Azure OpenAI
* Address PR feedback
* Warning fix
* Address PR comments
2025-06-18 12:00:38 +00:00
2c75f13337
.Net: Add ChatClientAgent Samples - OpenAI Model Client ( #72 )
...
* Add Streaming API
* Removing InstructionsRole
* Updating thread notification strategy
* Fix net472 failing
* Small fixes
* Adding Samples for OpenAI
* WIP samples
* default runsettings for unit tests
* Adding first samples with OpenAIModelChatClientAgents
* Removing OpenAI dependency on the sample utility
* Release -> Debug update for GettingStarted project
* Fix GettingStarted.csproj failing to build in Release
* Update dotnet/src/Shared/Samples/BaseSample.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Address PR feedback
* Fix Step 1 samples
* Simplify code
* Address PR feedback
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-12 12:22:07 +00:00