Commit Graph
474 Commits
Author SHA1 Message Date
westeyandGitHub bd61e5f411 .NET: [BREAKING] Add GetService for AIContextProviders and ChatMessageStore (#874)
* Add GetService for AIContextProviders and ChatMessageStore

* Change styling and fix format issues

* Update sample code to allow for missing memory component.
2025-09-24 14:58:16 +00:00
ae018ca4d9 Remove extraneous project reference (#841)
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-24 12:17:11 +00:00
06827e9f1a .NET Workflows - Improvements to Declarative Framework (#838)
* Closure

* Verified

* Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Interpreter/DeclarativeWorkflowContext.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Sample folder

* System scope fix

* Fix link

* Integrate Foundry SDK fix

* File naming fix

* Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Interpreter/DeclarativeWorkflowContext.cs

Co-authored-by: Tao Chen <taochen@microsoft.com>

* Namespace

* Optimize bind

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
2025-09-23 21:08:07 +00:00
0f913bcdeb .NET Workflows - Integrate Element Aliasing (#835)
* Checkpoint

* Update test workflows

* Update workflows/MathChat.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update folder

* Cleanup

* Signed package version

* Rollback nuget.config

* Cleanup

* Set `ProductContext`

* Move product initialization.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-23 18:08:35 +00:00
3571a7d321 .NET: [BREAKING] Subclass AgentThread so that different agents have their own threads with their own typed settings. (#798)
* Subclass AgentThread so that different agents have their own threads with their own typed settings.

* Address PR comment.

* Add unit tests for base abstract threads

* Fix style warning

* Fix stlying

* FIx and suppress warnings as needed.

* Remove covariant thread response types and fix some styling.

* Remove unecessary json property name attributes and make OrchestratingAgentThread private

* Fix break from merge from main.

* Fix formatting

* Fix deserialization bug in Memory sample

* Remove thread deletion from basic samples.

* Remove public constructors for thread subclasses and add more factory methods to concrete agent types.

* Update AgentProxy thread constructors to be internal as well.

* Revert AgentProxyThread to internal

* Change AIContextProvider to internal set

* Change conversation id and message store properties to internal set

* Update styling.

* Seal various thread types.

* Add thread type check for thread deletion

* Fix tests after latest merge from main

* Add thread type checks for thread deletion.

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-23 10:30:06 +00:00
Stephen ToubandGitHub 09bdd64dcb Add a sample using multiple services (#851) 2025-09-23 01:07:51 +00:00
Stephen ToubandGitHub c5e6735b7a Some more analyzer cleanup (#815) 2025-09-22 13:20:32 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c587103753 Bump Azure.AI.Agents.Persistent from 1.2.0-beta.4 to 1.2.0-beta.5 (#855)
---
updated-dependencies:
- dependency-name: Azure.AI.Agents.Persistent
  dependency-version: 1.2.0-beta.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 10:06:43 +00:00
Stephen ToubandGitHub 52790b9f6a Add AgentWorkflowBuilder with Sequential, Concurrent, Handoff (#792) 2025-09-19 19:16:07 +00:00
7cd45e313b .NET Workflows - Rename folder containing sample workflows (#836)
* coolio

* Update dotnet/samples/GettingStarted/Workflows/Declarative/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-19 17:40:51 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
de416b3f81 Bump Azure.Identity from 1.15.0 to 1.16.0 (#807)
---
updated-dependencies:
- dependency-name: Azure.Identity
  dependency-version: 1.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 21:57:33 +00:00
daee44d583 .NET: Add provider sample for OpenAI Assistants (#812)
* Add provider sample for OpenAI Assistants

* Suggestions from pr

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add deprecation warnings for OpenAI Assistants

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-18 15:22:06 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Roger Barreto
edf114b5e2 Bump Microsoft.ML.OnnxRuntimeGenAI from 0.9.1 to 0.9.2 (#808)
---
updated-dependencies:
- dependency-name: Microsoft.ML.OnnxRuntimeGenAI
  dependency-version: 0.9.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
2025-09-18 15:20:45 +00:00
ChrisandGitHub 387b15997d Fix sample (#816) 2025-09-18 15:20:30 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6a66ad517a Bump OllamaSharp from 5.3.6 to 5.4.4 (#810)
---
updated-dependencies:
- dependency-name: OllamaSharp
  dependency-version: 5.4.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 14:13:46 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6c7d674af6 Bump Newtonsoft.Json from 13.0.3 to 13.0.4 (#809)
---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-version: 13.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 14:11:34 +00:00
Mark WallaceandGitHub 3e5d398bf8 Fix step number for memory usage sample (#803)
Updated the link for the 'Using memory with an agent' sample to reflect the new step number.
2025-09-18 15:04:29 +01:00
Stephen ToubandGitHub 5e5761b288 Enable more analyzers and various code tweaks/cleanup (#738) 2025-09-18 01:48:25 +00:00
2015f0dc09 .NET: [BREAKING] Support Checkpoint Serialization (#735)
* feat: Support Checkpoint Serialization

* Implements serialization roundtripping for checkpoints.
* Adds support for JSON serialization
* Adds FileSystem-based checkpoint persistence

* fix: Executor State does not deserialize correctly

The StateManager was not properly handling delay-deserialized values.

* Fix PortableValue handling in StateManager (this makes it delegate to PortableValue the uwnrapping)
* Fix UnitTest to actually test checkpoint serialization
* Additional review comment fixes

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-17 19:57:19 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2a04c4197e Bump Microsoft.Identity.Client.Extensions.Msal from 4.74.1 to 4.77.0 (#741)
---
updated-dependencies:
- dependency-name: Microsoft.Identity.Client.Extensions.Msal
  dependency-version: 4.77.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 15:25:41 +00:00
4247fc26dd .NET: Update AgentThread, MessageStores and Context Providers to deserialize via constructor. (#779)
* Update AgentThread, MessageStores and Context Providers to deserialize via constructor.

* Fix pr comment.

* Add additional validation for AgentThread deserialization

* Update WorkflowMessageStore desreialize to improve error checking.

* Reduce allocations in InMemoryChatMessageStore

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-17 10:08:13 +00:00
b2d2019874 .NET Workflow - Declarative Workflow Event Fix (#765)
* Checkpoint

* Update workflows/DeepResearch.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Comment

* Fix comment

* Update package version

* Fix nuget haxx

* Checkpoint

* Code complete

* Testing

* Message content workaround

* Add sequential flow

* Checkpoint

* Integration test project

* Checkpoint

* Checkpoint cleanup

* Complete

* Checkpoint

* Fix tests

* Comment cleanup

* Namespace

* Formatting

* Analyzer updates

* Workflow update

* Fixed!

* Update dotnet/tests/Microsoft.Agents.Workflows.Declarative.UnitTests/DeclarativeWorkflowTest.cs

Co-authored-by: Tao Chen <taochen@microsoft.com>

* Fix build error

* Purge "immutable" set and dictionary

* Fix as task

* Collection expression

* Another

* Frozen => Readonly (perf)

* Fix

* Namespace

* Checkpoint

* Add test

* Fix

* Rollback workflow edit

* nitty

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
2025-09-16 18:57:07 +00:00
0dd49e4a67 .NET: Add missing OpenAI GetAIAgent extensions (#690)
* Wip

* Add missing extensions for OpenAI agents

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove duplicate xmldoc

* Address comment

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-16 15:06:48 +00:00
westeyandGitHub 66fe1c957c .NET: Add AIContextProvider support (#691)
* Add AIContextProvider support

* Address feedback.

* Address PR comments.

* Switch to valuetask and remove parallel calls for AIContextProvider

* Remove Model from ModelInvokingAsync method name

* Remove agent thread id again and remove it from context provider interface

* Add AIContextProvider serialization support to AgentThread and update sample to show this feature

* Address PR comments

* Improve memory sample

* Update sample comment.

* Remove AggregateAIContextProvider for now since it makes too many assumptions.  We can include it later as a sample if needed.

* Update AIContextProviders to have an Invoked method instead of MessagesAddingAsync.

* Remove unused using.

* Address PR comments.

* Address PR comment.

* Update comment.

* Update comment

* Address PR comments.
2025-09-16 09:54:18 +00:00
fb513c38a6 .NET Workflow - Declarative State Consolidation (#759)
* Checkpoint

* Update workflows/DeepResearch.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Comment

* Fix comment

* Update package version

* Fix nuget haxx

* Checkpoint

* Code complete

* Testing

* Message content workaround

* Add sequential flow

* Checkpoint

* Integration test project

* Checkpoint

* Checkpoint cleanup

* Complete

* Checkpoint

* Fix tests

* Comment cleanup

* Namespace

* Formatting

* Analyzer updates

* Workflow update

* Fixed!

* Update dotnet/tests/Microsoft.Agents.Workflows.Declarative.UnitTests/DeclarativeWorkflowTest.cs

Co-authored-by: Tao Chen <taochen@microsoft.com>

* Fix build error

* Purge "immutable" set and dictionary

* Fix as task

* Collection expression

* Another

* Frozen => Readonly (perf)

* Fix

* Namespace

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
2025-09-16 03:09:12 +00:00
Stephen ToubandGitHub a0664201e2 Use LangVersion 13 rather than 12 (#760) 2025-09-16 02:49:00 +00:00
Dmytro StrukandGitHub e7cd03b32e Python: Added Copilot Studio Agent (#722)
* Small fix in dotnet conformance tests

* Added CopilotStudioAgent implementation

* Added examples

* Updated package README

* Small fixes

* Small improvements

* Fixed dotnet tests

* Add unit tests

* Updated tests

* Small updates

* Small test fixes

* Revert "Small test fixes"

This reverts commit 983ac44a70.

* Small fixes in documentation

* Updated test configuration

* Revert "Updated test configuration"

This reverts commit 2a16fea815.

* Small fix

* Reverted TODO item

* Small suppressions

* More fixes

* Small fixes

* Fixed tests

* Removed disallow_any_unimported rule in all packages

* Fixes
2025-09-15 23:21:07 +00:00
74879489a4 .NET Workflow - Integrated updated CPS Object Model (#681)
* Checkpoint

* Update workflows/DeepResearch.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Comment

* Fix comment

* Update package version

* Fix nuget haxx

* Checkpoint

* Code complete

* Testing

* Message content workaround

* Add sequential flow

* Checkpoint

* Integration test project

* Checkpoint

* Checkpoint cleanup

* Complete

* Update package

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-15 20:41:07 +00:00
Ben ThomasandGitHub e1e5100afe Removing fallback to DefaultAzureCredential outside of testing. (#755) 2025-09-15 16:55:28 +00:00
636e3acf37 .NET: [BREAKING] Change implementation to use AsFunctionTool extension method to create a function from an agent (#686)
* Change implementation to use AsFunctionTool extension method to create a function from an agent

* Update dotnet/tests/Microsoft.Extensions.AI.Agents.UnitTests/AgentExtensionsTests.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Address code review feedback and add a new sample

* Address some code review feedback

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-15 08:39:38 +00:00
Jianguo MaandGitHub 2a75482777 .NET: Fix Semantic Kernel migration samples (#739)
* use GetOpenAIResponseClient

Signed-off-by: Jianguo Ma <jiangma@microsoft.com>

* use PersistentAgentsClient

Signed-off-by: Jianguo Ma <jiangma@microsoft.com>

---------

Signed-off-by: Jianguo Ma <jiangma@microsoft.com>
2025-09-15 07:49:41 +00:00
westeyandGitHub 8af4918f56 .NET: BREAKING Update AIAgent.Run to take IEnumerable instead of IReadonlyCollection (#729)
* Update AIAgent,Run to take IEnumerable instead of IReadonlyCollection

* Address PR comment.

* Cast to IReadonlyCollection since this is typically all that is required to avoid unecessary allocation.

* Update OrchestratingAgent protected methods as well.
2025-09-12 14:58:46 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
44a248addb Bump FluentAssertions from 8.5.0 to 8.6.0 (#709)
---
updated-dependencies:
- dependency-name: FluentAssertions
  dependency-version: 8.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 12:48:16 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d4cc254b0b Bump Microsoft.Agents.CopilotStudio.Client from 1.1.151 to 1.2.41 (#710)
---
updated-dependencies:
- dependency-name: Microsoft.Agents.CopilotStudio.Client
  dependency-version: 1.2.41
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 12:11:08 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d54b0f0849 Bump Microsoft.ML.OnnxRuntimeGenAI from 0.9.0 to 0.9.1 (#712)
---
updated-dependencies:
- dependency-name: Microsoft.ML.OnnxRuntimeGenAI
  dependency-version: 0.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 11:24:56 +00:00
westeyandGitHub 3c0926b670 .NET: Add support for IChatReducer to InMemoryChatMessageStore (#462)
* Add support for IChatReducer to InMemoryChatMessageStore

* Fix typos.
2025-09-11 17:17:53 +00:00
Roger BarretoandGitHub e91b6b08ce .NET: Adding Delegating AIAgent (#708)
* Delegating AIAgent impl

* Warning fix

* Fix duplicate
2025-09-11 10:38:29 +00:00
Stephen ToubandGitHub f9e133237d Update M.E.AI and delete a bunch of dead code (#676) 2025-09-11 00:40:58 +00:00
Tao ChenandGitHub 89c8418705 .NET: Workflow getting started samples in .Net (Second batch) (#650)
* Add loop and agents in workflows samples

* Add foundry agent and workflow as agent samples

* Checkpoint sample WIP

* Checkpoint sample 1 Done

* Add HIL samples

* Fix formatting

* Force folder name change step 1

* Force folder name change step 2

* Fix formatting

* Fix formatting

* Add checkpoint and rehydrate sample

* _Foundational

* Fix formatting
2025-09-10 18:47:13 +00:00
Roger BarretoandGitHub 2393351a03 .NET: Adding Image Multi Modality Sample (#688)
* Adding Multi Modal Sample

* Address typos

* Update sample to Azure OpenAI

* Update readme

* Update readme

* Update readme

* Use thread
2025-09-10 18:34:08 +00:00
ChrisandGitHub adb901cf19 .NET Workflows - Add declarative action events (#679)
* Updated

* Typos

* Update sample

* Typo

* Add parent and prior action ids to event
2025-09-10 17:45:11 +00:00
Jacob AlberandGitHub 3b81164a6d .NET: fix: MessageMerger crashes when there are no dangling messages (#660)
* fix: MessageMerger crashes when there are no dangling messages

* refactor: Better logic for AgentId in Workflow-as-Agent

If the parent "agent" instance received an Id or Name when being instantiated, we should avoid stomping over it with the subagents' ids. But if there is no parent identifier, and only a single subagent yielded identified messages, pull that in.
2025-09-10 06:10:30 +00:00
7786e2f405 .NET: Add getting started samples that show how to call MCP tools (#635)
* Add getting started samples that show how to call MCP tools

* Add getting started samples that show how to call MCP tools

* Update dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server_Auth/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix README

* Address code review feedback

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-10 05:52:30 +00:00
ChrisandGitHub 0fa6883691 Clean-up (#677) 2025-09-09 22:29:25 +00:00
Mark WallaceandGitHub 745a05d43c .NET: Add an A2A client server sample (#633)
* Add an A2A client server sample

* Address code review feedback

* Start to fix code review feedback

* Start to fix code review feedback

* Start to fix code review feedback
2025-09-09 17:03:10 +00:00
westeyandGitHub ec5ea3c8a8 .NET: Remove AgentThread.GetMessagesAsync (#668)
* Remove AgentThread.GetMessagesAsync

* Remove unecessary using
2025-09-09 16:40:07 +00:00
5c3c2fe634 .NET: Multiple fixes in Microsoft.Agents.Orchestration to make handoffs work end-to-end (#568)
* Multiple fixes in Microsoft.Agents.Orchestration:
- Enable multi-turn (via RunAsync) interactions for all orchestrating agents
- Fix tool calling in HandoffOrchestration (multiple issues)
- Fixes for chat history serialization involving tool calls

* GHCP PR feedback

* Fix issue with returning old responses

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-09-09 15:23:00 +00:00
b2a6b64d72 .NET: Add Ollama and custom agent samples, plus ONNX improvements (#639)
* Add ollama and custom agent samples, plus onnx improvements

* Update dotnet/samples/GettingStarted/AgentProviders/Agent_With_CustomImplementation/Program.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Address PR comments.

* Address pr comments.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-09 11:04:31 +00:00
ChrisandGitHub 240edb00cd .NET Workflows - Update structure of samples (#645)
* Updated

* Typos

* Update readme fwiw
2025-09-08 23:16:29 +00:00
Jacob AlberandGitHub e8f1f4e785 fix: Fix Checkpoint Restore when Rehydrating Run (#642)
When checkpointing we did not persist the set of instantiated executors. This means, in turn, when we restore from a checkpoint when using Resume(Stream) rather than restoring a checkpoint in the context of an already existing (Streaming)Run, the executors never got reinstantiated and there were no executors to notify that a state should be loaded.

The fix is to ensure we persist the list and reinstantiate the executors on rehydration.

* Also adds a rehydration restore test
2025-09-08 19:22:41 +00:00