Commit Graph
80 Commits
Author SHA1 Message Date
westeyandGitHub 210d0b8828 .NET: [BREAKING] Add support for multiple AIContextProviders on a ChatClientAgent (#3863)
* Add support for multiple AIContextProviders on a ChatClientAgent

* Address PR comments and fix tests

* Address PR comments.
2026-02-12 14:15:54 +00:00
westeyandGitHub de82ffd40a .NET: [BREAKING] Add consistent message filtering to all providers. (#3851)
* Add consistent message filtering to all providers.

* Remove old chat history filtering classes

* Fix merge issues

* Fix unit test

* Enforce non-nullable property

* Fix merging bug and make troubleshooting source info easier by adding tostring implementation
2026-02-12 10:50:13 +00:00
westeyandGitHub 1d158c24be .NET: [BREAKING] Update providers in such a way that they can participate in a pipeline (#3846)
* Make providers pipeline capable

* Fix unit tests

* Move source stamping to providers from base class

* Also update samples.

* Address PR comments

* Rename AsAgentRequestMessageSourcedMessage to WithAgentRequestMessageSource
2026-02-11 16:24:37 +00:00
westeyandGitHub b0edb7ba44 Add a public StateKey property to providers (#3810) 2026-02-10 15:17:37 +00:00
b12ff578af .NET: [BREAKING] Add session statebag to use for state storage instead of inside providers (#3737)
* Add a StateBag to AgentSession and pass Agent and AgentSession to AIContextProvider and ChatHistoryProviders

* Convert all AIContextProviders to use the statebag

* Update InMemoryChatHistoryProvider to use StateBag

* Update Comsos and Workflow ChatHistoryProviders

* Update 3rd party chat history storage sample.

* Remove serialize method from providers

* Replacing provider factories with properties

* Remove Providers from Session and flatten state bag serialization

* Update samples to use getservice on agent

* Updated additional session types to serialize statebag

* Fix regression

* Address PR comments

* Address PR comments.

* Fix formatting

* Fix unit tests

* Remove InMemoryAgentSession since it is not required anymore.

* Address PR comments

* Convert sessions for A2AAgent, ChatClientAgent, CopilotStudioAgent and GithubCopilotAgent to use regular json serialization.

* Fix durable agent session jso usgae

* Add jso to InMemory and Workflow ChatHistoryProviders

* Update InMemoryChatHistoryProvider to use an options class for it's many optional settings.

* Apply suggestions from code review

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

* Address PR feedback

* Fix verification bug.

* Improve state bag thread safety

* Address PR comments and fix unit tests

* Address PR comments

* Fix unit test

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 12:03:37 +00:00
westeyandGitHub ad0dac3c86 .NET: [BREAKING] Add ability to mark the source of Agent request messages and use that for filtering (#3540)
* Add ability to mark the source of Agent request messages and use that for filtering

* Add support for source, in addition to source type, and add unit tests for automatic stamping

* Address PR comments.

* Add merge fixes

* Address PR comments
2026-02-09 16:53:01 +00:00
westeyandGitHub aa88195dcd .NET: [BREAKING] Remove UserInputRequests property (#3682)
* Remove UserInputRequests property

* Fix formatting issue.
2026-02-05 12:07:07 +00:00
westeyandGitHub 5e565dbec0 Rename 3rdPartyThreadStorage sample to 3rdPartyChatHistoryStorage (#3643) 2026-02-04 18:58:22 +00:00
westeyandGitHub 6255abd687 .NET: [BREAKING] Move AgentSession.Serialize to AIAgent (#3650)
* Move AgentSession.Serialize to AIAgent

* Address PR comments.

* Improve code and fix unit test

* Update test agents to return a default json element instead of throwing where the the result of the serialization is never used.

* Update further tests to actually serialize the session
2026-02-04 15:52:15 +00:00
westeyandGitHub 6fdf6111e6 .NET: [BREAKING] Rename GetNewSession to CreateSession (#3501)
* Rename GetNewSession to CreateSession

* Address copilot feedback

* Suppress warning

* Suppress warning

* Fix further warnings.
2026-02-03 11:33:50 +00:00
75a8335af5 .NET - [Breaking]: Update Declarative Object Model + Dependencies (#3017)
* Builds locally and tests pass

* Fix typo

* Reverted nuget config change to remove internal feed and map to new public object model package with renames.

* Renaming Bot object model in additional sample.

---------

Co-authored-by: Peter Ibekwe <peibekwe@microsoft.com>
2026-01-28 20:00:37 +00:00
westeyandGitHub a3a9147e61 .NET: [BREAKING] Rename AgentThread to AgentSession (#3430)
* Rename AgentThread to AgentSession

* Add more renames

* Update readme files

* Revert nullable variable change and further fixes.

* Revert change in header name

* Fix some comments and tests

* Update changelog.

* Address PR feedback.

* Fixing code review comments.

* Fix new errors after merging latest code.
2026-01-26 16:30:25 +00:00
westeyandGitHub 21e00c054b .NET: Rename ChatMessageStore to ChatHistoryProvider (#3375)
* Rename ChatMessageStore to ChatHistoryProvider

* Fix merge issue

* Fixed PR comments

* Fix tests after property rename

* Add unit tests and fix merge issues

* Fix encoding
2026-01-23 15:49:01 +00:00
41cc34421f .NET: Add sample to show multiple AIContextProvider usage (#3284)
* Add sample to show multiple AIContextProvider usage

* Update comment.

* Update messaging in README.

* Address PR comments.

---------

Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
2026-01-21 11:42:16 +00:00
Dmytro StrukandGitHub 2ab859dd94 .NET: [BREAKING] Renamed CreateAIAgent/GetAIAgent to AsAIAgent (#3222)
* Renamed chat client extension method

* Additional renaming

* Updated documentation

* Fixed tests

* Small fix

* Small fix
2026-01-15 16:01:15 +00:00
SergeyMenshykhandGitHub 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
westeyandGitHub bb6ecd9c71 .NET: [BREAKING] Change GetNewThread and DeserializeThread to async (#3152)
* Change GetNewThread and DeserializeThread plus ChatMessageStore and AIContextProvider Factories to async

* Merge fixes
2026-01-12 11:25:51 +00:00
3ef67eff10 .NET: [BREAKING] Refactor ChatMessageStore methods to be similar to AIContextProvider and add filtering support (#2604)
* Refactor ChatMessageStore methods to be similar to AIContextProvider

* Fix file encoding

* Ensure that AIContextProvider messages area also persisted.

* Update formatting and seal context classes

* Improve formatting

* Remove optional messages from constructor and add unit test

* Add ChatMessageStore filtering via a decorator

* Update sample and cosmos message store to store AIContextProvider messages in right order. Fix unit tests.

* Update Workflowmessage store to use aicontext provider messages.

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>

* Improve xml docs messaging

* Address code review comments.

* Also notify message store on failure

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
2026-01-05 11:51:15 +00:00
3c322c91e7 .NET: Update to latest Azure.AI.*, OpenAI, and M.E.AI* (#2850)
* Update to latest Azure.AI.*, OpenAI, and M.E.AI*

Absorb breaking changes in Responses surface area

* Update dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/Utilities/ChatClientExtensions.cs

* Update dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/Utilities/ChatClientExtensions.cs

* Update dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/Utilities/ChatClientExtensions.cs

* Update dotnet/samples/GettingStarted/AgentWithOpenAI/Agent_OpenAI_Step04_CreateFromOpenAIResponseClient/Program.cs

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

* Using patch to remove the model is necessary, updated the response client to actually use the the ForAgent

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
2025-12-16 12:41:20 +00:00
SergeyMenshykhandGitHub 69225b4aa2 .NET: [BREAKING] Change namespaces of the Microsoft.Agents.AI.OpenAI classes (#2627)
* change namespaces for agents and extension methods of the Microsoft.Agents.AI.OpenAI package

* remove unnecessary namespace

* remove unused namespaces

* fix compilation issues and rrolled back removed run methods

* sort usings

* add extension methods for AIAgent to work with OpenAI Responses primitives

* Move OpenAIChatClientAgent and OpenAIResponseClientAgent to samples

* sort usings

* sort usings
2025-12-09 12:58:44 +00:00
9c2e800189 Remove unnecessary PackageReferences after .NET 10 update (#2394)
Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
2025-12-04 00:09:51 +00:00
6232dd8305 .NET [Breaking] Simplify and Refactor ChatclientAgentOptions Ctor + Instructions (#1517)
* Point AgentOptions.Instructions to ChatOptions

* Update tests and checks

* Update xml docs

* Removal of agentOptions.Instructions in favor of chatOptions.Instructions

* Instructions and tool check consistency

* Instructions and tool check consistency

* Address comment

* Update .github/upgrades/prompts/SemanticKernelToAgentFramework.md

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>

* Address PR Comment

* Update latest changes to comply with the PR proposal

* Address feedback

* Update dotnet/tests/Microsoft.Agents.AI.UnitTests/ChatClient/ChatClientAgentTests.cs

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>

* Address instructions

* Update declarative to use promptAgent.Instrucitons with chatOptions.Instructions

---------

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
2025-12-03 13:39:47 +00:00
Mark WallaceandGitHub b26108975d .NET: Declarative Agents (#2476)
* Update the declarative agent samples

* Add the Microsoft.Agents.AI.Declarative project

* Make the package non packable

* Use the RecalcEngine when creating the ChatOptions

* Ignore VSTHRD200

* Add geting started samples

* Address code review feedback
2025-12-01 15:15:18 +00:00
SergeyMenshykhandGitHub a89c15d6e6 .NET: Change type of props representing continuation token (#2430)
* change type of props representing continuation token

* use explict cast instead of the as operator
2025-11-25 09:59:43 +00:00
Stephen ToubandGitHub dc2b109b50 .NET: Upgrade to .NET 10 (#2128)
* Upgrade to .NET 10

- Require .NET 10 SDK
- Include net10.0 assets in all assemblies
- Move net9.0-only targets to net10.0
- Update LangVersion to latest
- Remove complicated distinctions between debug target TFMs and release target TFMs
- Remove unnecessary package dependencies when built into netcoreapp
- Clean up some ifdefs
- Clean up some analyzer warnings

* Fix CI
2025-11-22 04:14:15 +00:00
SergeyMenshykhandGitHub caf3c4b92d .NET: Move deep research sample (#2094)
* move catalog samples to the HostedAgents folder

* move the catalog samples' projects to the HostedAgents folder

* move deep research sample out of the HostedAgents folder
2025-11-12 09:22:11 +00:00
westeyandGitHub c0c12df851 .NET: Separate all memory and rag samples into their own folders (#2000)
* Separate all memory and rag samples into their own folders

* Fix broken link.
2025-11-10 15:34:20 +00:00
01f3a3d881 .NET: Remove moved OpenAPI sample and point to SK one. (#1997)
* Remove moved OpenAPI sample and point to SK one.

* Update dotnet/samples/GettingStarted/Agents/README.md

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-10 12:29:26 +00:00
e5d9d74c2d .NET: Chathistory memory provider add (#1867)
* Add ChatHistoryMemoryProvider with unit tests

* Set new project to not packable.

* Fix bugs

* Add serialization support.

* Update dotnet/src/Microsoft.Agents.AI.VectorDataMemory/ChatHistoryMemoryProvider.cs

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

* Remove unnecessary line

* Convert ChatHistoryMemoryProvider to use Dynamic collections.

* Sealing options and scope classes.

* Add sample, add scope to logs and improve scope validation

* Move ChatHistoryMemoryProvider to MAAI project.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-07 11:46:35 +00:00
westeyandGitHub 6e205445be .NET: Add tool calling sample with OpenAPI (#1968)
* Add tool calling sample with OpenAPI

* Address PR comments.

* Rename folders and moved literal to inline.

* Fix broken link.
2025-11-06 14:34:27 +00:00
Roger BarretoandGitHub 6ca907f23f .NET: [Breaking Change] Moving MAAI.AzureAI V1 Package -> MAAI.AzureAI.Persistent (V1) (#1902)
* Update AzureAI -> AzureAI.Persistent

* Fix sample reference
2025-11-05 13:28:00 +00:00
westeyandGitHub 5e38c63455 .NET: [BREAKING] Simplify TextSearchProvider construction and improve Mem0Provider scoping. (#1905)
* Simplify TextSearchProvider construction and improve Mem0Provider scoping

* Fixing indentation.
2025-11-05 13:00:18 +00:00
westeyandGitHub ada5b83c80 .NET: Add rag samples with sample TextSearchStore (#1664)
* Port store for adding text to a vector store to AF

* Fix typo.

* Change TextSearchStore to sample, and add sample to use it and do rag with a custom schema

* Add more tests and fix broken ones

* Fix merge issue

* Fix sample after merge.

* Convert TextSearchStore to use Dynamic mode to be AOT compatible.

* Add some more clarification on when to use assistant messages in rag searches.
2025-11-04 16:24:26 +00:00
a5db641ce3 .NET: Background responses sample (#1831)
* add samples that demonstrate background responses with function calling and agent state persistence

* update readme

* update sample description

* rename sample project

* remove unnecessary namespace and ysed task delay instead thread sleep generated by ai

* change names

* Update dotnet/samples/GettingStarted/Agents/Agent_Step20_BackgroundResponsesWithToolsAndPersistence/AgentStateStore.cs

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

* simplify sample and address pr review comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-31 17:13:43 +00:00
westeyandGitHub 36532e929e .NET: Add a Mem0 usage sample (#1779)
* Add a Mem0 usage sample

* Change charset

* Add variable types
2025-10-30 09:31:29 +00:00
westeyandGitHub f6eadd412e Shorten TextSearchSearchResult to TextSearchResult (#1780) 2025-10-29 21:16:28 +00:00
westeyandGitHub 8a3cab38ee .NET: Add a sample that shows how to do RAG with the TextSearchProvider (#1757)
* Add a sample that shows how to do RAG with the TextSearchProvider

* Update file encoding.
2025-10-29 14:34:00 +00:00
SergeyMenshykhandGitHub c408a2d8c3 update the sample to have more relevant background responses prompts and reference official documentation. (#1654) 2025-10-23 17:47:54 +00:00
1bf520a7c2 .NET: Add support for background responses (#1501)
* add support for background responses

* Update dotnet/src/Microsoft.Agents.AI.Abstractions/AgentRunResponseUpdate.cs

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

* fix broken link

* fix xml comments and background responses properties override funcitonity

* change ai model provider

* use Run{Streaming}Async overloads that don't require messages

* stop using m: prefix in cref attribute of <see/> element.

* reject input messages provided with continuation token + don't extract messages from message store and context provide if continuation token is provided

* use agent thread for background-responses sample

* require agent thread for background responses

* Update dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgent.cs

Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>

* Update dotnet/src/Microsoft.Agents.AI/ChatClient/ChatClientAgent.cs

Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>

* remove CA1200

* Update dotnet/src/Microsoft.Agents.AI.Abstractions/AgentRunOptions.cs

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>

* Update dotnet/src/Microsoft.Agents.AI.Abstractions/AgentRunResponse.cs

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>

* Update dotnet/src/Microsoft.Agents.AI.Abstractions/AgentRunResponse.cs

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>

* address pr review comments

* Update dotnet/samples/GettingStarted/Agents/Agent_Step17_BackgroundResponses/Program.cs

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
2025-10-22 17:43:57 +00:00
Mark WallaceandGitHub d7094d5432 .NET: ChatClientBuilderExtensions should be in the M.E.AI namespace (#1484)
* ChatClientBuilderExtensions should be in the M.E.AI namespace

* ChatClientBuilderExtensions should be in the M.E.AI namespace
2025-10-15 14:58:41 +00:00
ab450078ab Update to M.E.AI 9.10 (#1461)
And other System.*/Microsoft.Extensions.* updated today

Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
2025-10-15 08:33:33 +00:00
westeyandGitHub d6fdb91480 .NET: Inline const values in samples where used only once (#1387)
* Inline const values in samples where used only once

* Fix some spacing issues and use consistent ordering of settings/params
2025-10-10 16:50:53 +00:00
wuwengandGitHub 362652b966 .NET: Add Azure Monitor OpenTelemetry Exporter samples (#1231)
* Add Azure Monitor OpenTelemetry Exporter to enhance observability in agent samples

* add another sample code for application isnights
2025-10-07 23:16:32 +00:00
SergeyMenshykhandGitHub 3fd5768b34 .NET: Improve structured output for chat client agent (#1172)
* 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
2025-10-07 12:04:26 +00:00
westeyandGitHub 3dc14dac79 .NET: Add a CreateAIAgent extension method to IChatClient (#1223)
* Add a CreateAIAgent extension method to IChatClient

* Fix unit tests

* Add tests with null chat clients to ensure appropriate failure

* Switch to similar constructor

* Add ChatClientBuilder BuildAgent extensions

* Address code review comments.
2025-10-07 09:47:33 +00:00
7506046f43 .NET: Add sample to show ChatReducer usage (#1221)
* Add sample to show ChatReducer usage

* Apply suggestion from @Copilot

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-07 08:17:31 +00:00
a414461570 .NET: Re-enable ImplicitUsings in samples and clean up NoWarns (#1060)
* Re-enable ImplicitUsings in samples and clean up NoWarns

* Fix dotnet format

* More dotnet format

* More dotnet format

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-10-01 19:37:03 +00:00
Stephen ToubandGitHub 0fef277c70 Remove System.Linq.Async dependency from src assemblies (#1069)
We shouldn't be shipping any more dependencies on this package, as it's becoming legacy, replaced by System.Linq.AsyncEnumerable.

We'll eventually want to replace it with System.Linq.AsyncEnumerable in all tests/samples, too, but that's hard to do until SK updates to use S.L.AsyncEnumerable once its 10.0.0 version is released. I did remove the package reference from tests/samples where it's not needed.
2025-10-01 17:17:21 +00:00
westeyandGitHub 364188c44f .NET: Add link inspector (#1062)
* Add link inspector

* Comment out excludedirs while it's empty

* Fix broken links

* More links fixes

* Push further fixes

* Fix more links
2025-10-01 16:43:17 +00:00
Glenn CondronandGitHub 43fe7c6dbe Use IApplicationLifetime instead of a custom token (#1031) 2025-10-01 07:21:33 +00:00