Roger Barreto 7a8b456294 .NET: Add Agent Filtering Middleware (#478)
* WIP

* Wip

* Updated ADR

* Updated ADR

* Update files

* Address copilot comments

* Update filters from Task<T> to Task only

* Project endpoint

* Add agent ctor filter

* Other Agent Framework investigation

* Remove SK Java, no support

* Update LlamaIndex info

* Removing unrelated files

* Implementation with specialization

* Remove the specialization option as extra unecessary complexity

* Move middleware responsibility to a decorator

* Update readme

* Function invocation wip

* Add Agent Builder

* Adding comparison samples

* Reorganize Samples and Processor vs Decorator

* Remove merge files

* Address formating warnigs

* Update ADR

* Step13 README's update

* Address PR feedback

* Address PR feedback

* Remove configure await from ADR samples

* Update variables

* Address feedback

* Address Agent level tool invocation with Options.ToolsTransformer strategy

* Removing the Processor approach

* Proposal design for Middleware in CreateAIAgent extensions

* Examples clean up and consolitation

* Update middlewares to work with ApprovalREquiredFunction

* Clean-up sample

* Update override function call sample

* Drop configuration from the extensions, looks overkill

* Builder interface ..

* Revert IAIBuilder interface approach

* Cleanup sample

* Adding unit tests

* Fix UT

* Cleanup sample

* Remove unneeded dependency

* Address PR comment + Readme Samples

* Add missing comments for Program.cs Middleware

* Address mor PR comments + add client factory for OpenAI extensions

* Add OpenAI UnitTests for extensions

* Add AzureAI PersistentChatClient UT

* Addess feedback

* Add function invoking UT

* Add builder extension UT

* Address feedback + Rearange abstractions + UT fixes

* Drop context based middleware for full decorating impl

* Update unit tests

* Update UT coverage

* Removing Middelware namespace

* Add missing UT

* Remove internal ToolTransformation Property

* Adjust xmldoc

* Remove transient file

* Address merge conflict

* Add xmldoc remark for clarity

* Address comment

* Address feedback

* Update UT

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
7a8b456294 · 2025-09-29 17:58:04 +00:00
432 Commits
2025-09-23 15:10:06 +00:00
2025-04-28 12:54:43 -07:00
2025-04-28 12:54:42 -07:00
2025-09-02 12:18:12 +00:00

Microsoft Agent Framework

Welcome to the Private Preview of Agent Framework!

You're getting early access to Microsoft's comprehensive multi-language framework for building, orchestrating, and deploying AI agents with support for both .NET and Python implementations. This framework provides everything from simple chat agents to complex multi-agent workflows with graph-based orchestration.

📋 Important Setup Information

Package Availability: Public PyPI and NuGet packages are not yet available. You have two options:

Option 1: Run samples directly from this repository (no package installation needed)

  • Clone this repository
  • For .NET: Run samples with dotnet run from any sample directory (e.g., dotnet/samples/GettingStarted/Agents/Agent_Step01_Running)
  • For Python: Run samples from any sample directory (e.g., python/samples/getting_started/minimal_sample.py) after setting up the local dev environment following this guide.

Option 2: Install packages in your own project

Stay Updated: This is an active project - sync your local repository regularly to get the latest updates.

💬 We want your feedback!

Highlights

  • Flexible Agent Framework: build, orchestrate, and deploy AI agents and workflows
  • Multi-Agent Orchestration: group chat, sequential, concurrent, and handoff patterns
  • Graph-based Workflows: connect agents and deterministic functions using data flows with streaming, checkpointing, time-travel, and Human-in-the-loop.
  • Plugin Ecosystem: extend with native functions, OpenAPI, Model Context Protocol (MCP), and more
  • LLM Support: OpenAI, Azure OpenAI, Azure AI Foundry, and more
  • Runtime Support: in-process and distributed agent execution
  • Multimodal: text, vision, and function calling
  • Cross-Platform: .NET and Python implementations

Below are the basics for each language implementation. For more details on python see here and for .NET see here.

More Examples & Samples

Python

.NET

Agent Framework Documentation

Languages
Python 50.9%
C# 45.8%
TypeScript 2.7%
HTML 0.2%
PowerShell 0.1%
Other 0.1%