Commit Graph
23 Commits
Author SHA1 Message Date
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
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
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
Stephen ToubandGitHub f9e133237d Update M.E.AI and delete a bunch of dead code (#676) 2025-09-11 00:40:58 +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
Roger BarretoandGitHub 8d13809922 Remove the ambiguity by removing extensions for chat options (#620) 2025-09-05 14:19:39 +00:00
1d2f833122 .NET: A2A agent (#520)
* add a2a agent

* Update dotnet/src/Microsoft.Extensions.AI.Agents.A2A/A2AAgent.cs

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

* address pr review feedback

* move unit tests for extension methods to the extensions folder

* address pr review comments

* address pr review comments

* address pr review feedback

* move a2a agent sample to console app

* remove unnecessary Ids set for new projects in the solution file

* remove unnecessary configuration

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-01 08:30:30 +00:00
westeyandGitHub 1ed46e41a7 Further fixes for compatibility with Microsoft.Extensions repo. (#555) 2025-08-29 15:43:16 +00:00
westeyandGitHub 938d91d1db .NET: Fixes for ChatClientAgent to improve MEAI static analysis compliance (#502)
* Fixes for ChatClientAgent to improve MEAI static analysis compliance

* Improve instruction handling and fix unit tests.

* Address PR comments.
2025-08-27 15:27:41 +00:00
westeyandGitHub a40eda48f1 .NET: Add Approval capabilities to FunctionInvokingChatClient (#457)
* Add Approval capabilities to FunctionInvokingChatClient

* Address PR comments.

* Address PR comments.

* Address PR comments.

* Address PR feedback, add sample, and fix bug plus unit test.

* Address PR comments
2025-08-25 10:41:10 +00:00
Roger BarretoandGitHub 531132057b .NET: Update OpenTelemetry Agent - Added Demo, AIAgentMetadata and Agent.GetService() (#356)
* OTEL Demo

* updating telemetry sample

* OTEL updates

* WIP

* Adding GetService and Agent Metadata for Telemetry

* WIP

* Add UT for OTEL System behavior

* Address Unicode problem

* Add logging

* Adjust for new extensions

* Change Logger to LoggerFactory for the extension method

* Address AI Feedback

* Simplify script and readme just for Azure OpenAI

* Increase code converage

* Address merge conflict

* Another slnx fix

* Address PR comments

* Address PR feedback + Add UT

* Added Hosting UT to the solution

* Address PR comments

* Address missing sensitivity tests

* Remove unecessary override

* Address PR comments
2025-08-15 15:41:21 +00:00
ff3e13c2aa .Net: Add support for 3rd party thread storage and thread serialization (#203)
* Add thread storage and serialization POC

* Switch to using JsonElement and add unit tests

* Add additional unit tests.

* Exclude private debugger properties from CodeCoverage.

* Rename IChatMessagesStorable to IChatMessageStore

* Apply suggestions from code review

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

* Improve xml doc.

* Update the message storing thread to always use external store for both local and remote storage.

* Remove threadid from the IChatMessageStore interface, since the store should own the thread id itself, if it requires one.

* Switch GetMessages to IEnumerable

* Address pr comments.

* Make jsonserializer options default consistent on DeserializeThreadAsync

* Move message storing thread functionality into AgentThread and simplify AgentThread behavior.

* Remove embedding generation from VectorStore chat history sample.

* Remove unecessary code and fix formatting.

* Make GetNewThread and DeserializeThread virtual with default implementations.
Remove unsued json utilities.

* Fix formatting

* Remove problem test.

* Add more unit tests

* Remove unused using clause.

* Address pr feedback.

* Address PR comments.

* Make InMemory store internal

* Switch InMemoryChatMessageStore to implement IList instead of inheriting from List.

* Rename store deserialize param.

* Update serialization based on PR comments.

* Remove confusing comment.

* Address Deserialization PR comments in the same way as Serialization

* Add State to IChatMessageStore Serialize and Deserialize names.
Make Thread Deserialize internal.
Make AgentThread type switching fobidden.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-08-05 17:24:25 +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
139f033b05 .Net: Add Structured output ChatClientAgent samples (#250)
* 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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-07-31 11:35:29 +00:00
Reuben BondandGitHub e6aeb9a5db Fix and simplify build (#218) 2025-07-23 17:45:50 +00:00
Reuben BondandGitHub 41d441420e Initial draft of actor runtime abstractions (#197)
* Initial draft of actor runtime abstractions
2025-07-22 16:05:58 -04:00
Stephen ToubandGitHub 6c12b2c0f8 Round 3 of cleanup (#186)
- Enable warnings as errors
- Make the remaining src projects NativeAOT compatible
- Use Throw helpers
2025-07-20 23:07:50 -04:00
westeyandGitHub fc999e2be8 Rename Agent to AIAgent and instroduce DisplayName (#201) 2025-07-18 15:43:38 +00:00
6e57489a44 .Net: Add OpenTelemetry Support and Samples (#182)
* Adding sample and implementation similar to MEAI approach

* Add Telemetry UnitTests

* Fix Async suffix

* Add ADR with the proposal

* Address merge changes

* Fixing const visibility + coverage

* Increase test coverage, add metrics collection code paths

* Fix warnings

* WIp

* Convention adeherence

* Add gen-ai.system logic + UT

* Add convetion reference

* Address PR comments

* Addressing PR comments, Agent name optional

* Remove constant

* Update dotnet/src/Microsoft.Extensions.AI.Agents/ChatCompletion/ChatClientAgent.cs

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

* GetLoggingName

---------

Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
2025-07-16 17:00:24 +00:00
westeyandGitHub 95a3264c8b Add ChatClientAgent constructor overload (#188)
* Add ChatClientAgent constructor overload

* Add unit tests for new constructor

* Up code coverage with extra tests

* Address PR comments.

* Address PR comment

* Add additional test to increase code coverage.
2025-07-16 13:36:17 +00: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
Roger BarretoandGitHub d6c829cddf Fix warnings (#133) 2025-07-07 15:12:02 +00:00
Mark WallaceandGitHub 95738b0ac2 Renaming to use Microsoft.Extensions prefix (#120)
* Rename the folders

* Rename the .csproj files

* Some build file updates

* Update namespaces

* Fix order of imports

* Fix order of imports

* Fix order of imports
2025-07-01 08:15:28 +00:00