Commit Graph
635 Commits
Author SHA1 Message Date
b4ebafa9b1 Python: [Breaking] removed pydantic from types and workflows (#917)
* removed pydantic from types

* fix test

* fix test

* fix tests

* fix assistants client

* Remove Pydantic usage from workflow code.

* updated pydantic removal

* updated lock and test fixes

* fix mypy

* updated build system

* updated chat client parsing

* fix broken test

---------

Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
2025-09-29 21:19:58 +00:00
Ben ThomasandGitHub 647db9635a .NET: Rename workflows projects (#975)
* Renaming Microsoft.Agent.Workflows to Microsoft.Agents.AI.Workflows

* Removing local settings.

* Removing remining old files from merge.
2025-09-29 18:30:45 +00:00
e-straightandGitHub aaf340096e Add transparency FAQ documentation (#976)
This document provides comprehensive transparency information about Microsoft Agent Framework, including intended uses, limitations, evaluation methods, and responsible development practices.
2025-09-29 18:09:52 +00:00
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>
2025-09-29 17:58:04 +00:00
c102706146 Python: basic python a2a support (#906)
* basic python a2a support

* fixes

* small fixes

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-29 17:53:45 +00:00
fe6492ce60 .NET: rename A2A extension methods (#915)
* rename

* simplify via agentProxy

* Update dotnet/src/Microsoft.Extensions.AI.Agents.Hosting.A2A.AspNetCore/WebApplicationExtensions.cs

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

* Update dotnet/src/Microsoft.Extensions.AI.Agents.Hosting.A2A/Microsoft.Extensions.AI.Agents.Hosting.A2A.csproj

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-29 17:43:50 +00:00
westeyandGitHub 9e8f5e62e7 Fix AIContextProvider comments (#971) 2025-09-29 17:11:22 +00:00
e11ec9d941 .NET Workflows - Declarative Workflow Integration Tests (#956)
* Checkpoint / 100% Pass

* Checkpoint: ActionExecutorResult

* Update dotnet/tests/Microsoft.Agents.Workflows.Declarative.IntegrationTests/Testcases/Marketing.json

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

* Namespace

* Sync updates

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-29 16:40:15 +00:00
Eduard van ValkenburgandGitHub 10d10364a9 Python: [BREAKING] cleanup of thread API and serialization (#893)
* cleanup of threads and serialization

* fix for sliding window

* fix redis test

* updated from comments

* updated context provider and threads

* updated lock

* add asyncio default

* fix redis tests

* fix tests

* fix tests

* renamed to invoking

* fixed tests

* fix for instructions
2025-09-29 16:22:34 +00:00
westeyandGitHub bf5931932e .NET: Make serialize methods sync and rename one to match others. (#946)
* Make serialize methods sync and rename one to match others.

* Remove unnecessary async postfixes.

* Remove nullability of ChatMessageStore.Serialize return type, since the default JsonElement already represents an undefined json element.

* Fix unit test
2025-09-29 09:32:01 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7c5b553c7e Bump AWSSDK.Extensions.Bedrock.MEAI from 4.0.3.1 to 4.0.3.2 (#909)
---
updated-dependencies:
- dependency-name: AWSSDK.Extensions.Bedrock.MEAI
  dependency-version: 4.0.3.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>
2025-09-29 08:45:12 +00:00
Dmytro StrukandGitHub 4cd76bf2b0 Small fixes (#969) 2025-09-29 08:43:00 +00:00
d6f2c6b3e5 Remove the private preview docuemntation (#968)
Co-authored-by: Mark Wallace <markwallace@microsoft.com>
2025-09-29 07:48:36 +00:00
Stephen ToubandGitHub ff7d301389 Update System.CommandLine dependency (#918) 2025-09-28 18:55:48 +00:00
Stephen ToubandGitHub 0d9f133e3b [BREAKING] Delete Microsoft.Agents.Orchestration (#949)
Replaced by AgentWorkflowBuilder.
2025-09-28 18:54:52 +00:00
Aditya MandaleekaandGitHub 8ae15f10ed Change RootNamespace for Agent abstractions project. (#958) 2025-09-28 18:54:09 +00:00
Dmytro StrukandGitHub f2f0d40437 Added structured output to agent streaming (#943) 2025-09-27 17:07:17 +00:00
westeyandGitHub 499838565e .NET: Fix samples, improve readme language and add readme to sln. (#942)
* Fix samples, improve readme language and add readme to sln.

* Fix threading in openai samples too.
2025-09-27 06:48:26 +00:00
Aditya MandaleekaandGitHub 28ad256931 .NET: Change Runtime namespaces to Microsoft.Agents.AI.Runtime (#957)
* Rename MEAI.Runtime to MAAI.Runtime.

* Missed.
2025-09-27 06:10:14 +00:00
Eric ZhuandGitHub 514d0209a8 Python: consolidate lab packages into a single one; update contribution guidelines (#940)
* consolidate lab packages into a single one; update contribution guidelines

* update dep list

* add poe tasks; fix tests and lint erros

* add lab tests for CI

* fix test

* update root pyproject.toml
2025-09-27 03:28:05 +00:00
Eric ZhuandGitHub 9fec0f5ef4 Remove workflow design doc to avoid confusion as it is very out of date (#955) 2025-09-26 23:33:14 +00:00
Aditya MandaleekaandGitHub 6222a2cd18 .NET: Change Hosting namespaces to Microsoft.Agents.AI.Hosting (#953)
* Rename MEAI.Hosting to MAAI.Hosting.

* dotnet format.
2025-09-26 22:32:53 +00:00
ChrisandGitHub 4d63899812 .NET Workflows - Introduce support for Local variable scope (#944)
* Prepare for update

* Checkpoint

* Comments

* All fixed

* Mixed casre test added

* Rollback nuget

* Remove redundant restorable

* Namespace
2025-09-26 21:44:19 +00:00
Eric ZhuandGitHub a9608465d9 Python: workflow instance should not be invoked concurrently (#948)
* workflow instance should not be invoked concurrently

* address comments
2025-09-26 20:11:05 +00:00
Tao ChenandGitHub 0d0231b512 Quick fix to make VS Code Extension port functional (#941) 2025-09-26 16:26:56 +00:00
Jacob AlberandGitHub 9614eea875 feat: Solidify Concurrency Model for Inproc Workflows (#925)
* Disallow execution of multiple workflows at once
* Define notion of executor Reset() to allow reuse of workflows with shared executor instances
* Switch to delivering all messages to a single executor sequentially, with executors running in parallel
2025-09-26 15:44:02 +00:00
Dmytro StrukandGitHub eec7f192eb Python: Added chat middleware and more examples (#883)
* Added example with stateful middleware

* Added chat middleware

* Updated middleware example with override scenario

* Small revert

* Small fixes

* Added kwargs to context objects

* Added README

* Added function middleware to chat client

* Small refactoring

* Reverted example files

* Made MiddlewareWrapper generic

* Added Middleware exception

* Small refactoring

* Small fix
2025-09-26 15:10:56 +00:00
westeyandGitHub 863c8d7471 .NET: Adding a few small sample improvements (#914)
* A few small sample improvements

* Address PR comments.

* Simplify Mcp sample further.
2025-09-26 10:25:29 +00:00
ef9c072eab Python: Add support for Mem0 Open Memory (#876)
* Add support for Mem0 Open Memory

* Linting fixes

* Linting fixes

* Add sample and documentation

* Small fixes

* Update sample code imports/class names for new package structure

* Improved typing

---------

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
2025-09-26 09:50:40 +00:00
Eduard van ValkenburgandGitHub 0f2f2263c5 Python: typo fix (#920)
* typo fix

* fixed two other typos
2025-09-26 08:15:54 +00:00
d235e741d0 Update AF lab README (#890)
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-26 04:39:54 +00:00
Evan MattsonandGitHub 2cd7ab342b Python: support checkpoints for workflow orchestrations and sub-workflows (#863)
* Magentic checkpoint wip

* Magentic checkpoint updates

* Support checkpointing for magentic orchestration.

* Checkpointing for sub-workflows

* Use _execute_contexts instead of _pending_requests

* Remove unnecessary type ignores

* Support checkpoints for other orchestrations, refactor some code.

* Regenerate uv.lock
2025-09-26 02:21:06 +00:00
ChrisandGitHub 4b743ea62a Fixed (#921) 2025-09-25 19:37:54 +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
Tao ChenandGitHub a480ccfd16 [BREAKING] Python: Observability cleanup (#905)
* Further observability cleanup and update telemetry samples

* Add VS Code Extension config

* Fix unit tests

* Fix unit tests

* Add more comments

* Remove live metric
2025-09-25 18:50:50 +00:00
f527fbe6ce .NET Workflows - Declarative update for AzureAgentProvider usage (#907)
* Updated

* Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Extensions/IWorkflowContextExtensions.cs

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

* Constant / override

* Namespace

* Protect against race

* Simplify collection usage

* Rollback name resolution

* One more rollback

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-25 17:17:59 +00:00
Eduard van ValkenburgandGitHub 9355329dfd Python: [BREAKING] updated structure and samples (#875)
* updated structure and samples

* updated names and removed cross tests

* updated projects etc

* updated tests

* updated test

* test fixes

* removed devui for now

* updated all-tests task

* removed old style configs

* remove coverage from tests

* updated to unit tests with all-tests

* updated foundry everywhere

* fix azure ai tests

* fix merge tests

* fix mypy
2025-09-25 07:02:53 +00:00
Eric ZhuandGitHub 366a7f7d47 Python: [BREAKING] Remove Request Interceptor Architecture - Simplify Sub-workflow Communication (#898)
* removed intercepts_request and simplified how interception is handled

* parameterize SubWorkflowRequestInfo

* revert back the field rename of RequestResponse

* remove duplicate tests

* ignore type error

* remove SubWorkflowResponse

* Remove SubWorkflowRequestInfo and update RequestInfoMessage with source_executor_id for correlation
2025-09-25 12:43:37 +09:00
Jacob AlberandGitHub 39e071c430 .NET: Update Workflow Input/Output Redesign (#881)
* feat: Make Executor id field mandatory

When checkpointing is involved, it is critical to keep executor ids consistent between runs, even when recreating a new object tree for the workflow.

The default id-setting mechanism generated a guid for part of the id, making it not work when restoring from a checkpoint.

This change prevents this situation from arising.

* feat: Enable running untyped Workflows

With the change to enable delay-instantiation of executors and support for async Executor factory methods, we must instantiate the starting executor to know what are the valid input types for the workflow.

To avoid forcing instantiation every time, and to better support workflows with multiple input types, we enable support for build and interacting with the base Workflow type without type annotations, and remove the requirement to know a valid input type when initiating a run.

* feat: Support Output from any executor and multiple outputs.
2025-09-25 02:03:22 +00:00
Stephen ToubandGitHub 03ef7f054f .NET: Add AgentWorkflowBuilder group chat (#861)
* Add AgentWorkflowBuilder group chat

And fix a variety of issues along the way:
- Use DateTime{Offset}.UtcNow rather than Now
- AIAgentHostExecutor shouldn't be publishing empty messages
- Sequential workflows should be flowing all history and not just the output from the previous agent as the input into the next agent
- Renamed some of the new agent workflow methods... still not super happy with the shape, though
- Simplified handoffs builder, e.g. using a hashset with a custom comparer instead of a dictionary
- Improved multi-service use by trying to change assistant->user role for messages created by other agents
- Changed MessageMerger to rely on M.E.AI's coalescing more and to avoid empty contents / text
- Ensured that messages from ChatClientAgent include MessageId and CreatedAt timestamps
- Avoided including instructions for agents in a handoff workflow that don't have any handoffs
- Removed the unnecessary end function in handoffs
- Improved naming of executors to include agent name for debuggability
- Use "N" formatting with Guid.ToString everywhere, to avoid the unnecessary extra dash character which is also not valid in various places (like function tool names)
- Replace `params T[]` with `params IEnumerable<T>` to make public APIs more flexible in what they consume

* Address feedback

- Fix unintentional provider change in sample
2025-09-24 16:38:34 +00:00
SergeyMenshykhandGitHub 7c70c33157 .NET: Use observability term (#889)
* use observability term instead of telemetry

* rename telemetry folder to observability

* rolledback changed sample description
2025-09-24 15:27:00 +00:00
Dmytro StrukandGitHub 6975309c38 Python: Fixed parameter handling in OpenAI Responses client (#887)
* Small fix in OpenAI Responses parameters

* Updated test
2025-09-24 15:17:40 +00:00
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
Tao ChenandGitHub 36933de345 Python: Clean left-over WorkflowCompletedEvent (#884)
* Clean left-over WorkflowCompletedEvent

* Improve comments

* Fix type check error
2025-09-24 00:52:51 +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
b28e1db478 Python: Allow union types in FanIn edge group (#868)
* Improve type utils

* Add sample

* Add Union

* Add more test cases

* Add more test cases

* Fix RequestResponse typing to only coerce mapping original_request

---------

Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
2025-09-23 21:02:00 +00:00
2133043f11 Python: [Breaking] Remove WorkflowCompletedEvent, introduce workflow output and migrate to ctx.yield_output() + a huge refactoring (#845)
* Introduce input and output types for executor and workflow

* WorkflowOutputContext handles two types

* Remove can_handle_types from Executor

* Update validation

* Move workflow executor

* Move workflow executor

* Fix issues in WorkflowExecutor

* refactor executor

* update execute signature to create workflow context within Executor

* fix simple sub workflow test; fix validation

* fix output types in WorkflowExecutor

* fix issue in Executor handling of SubWorkflowRequestInfo

* update tests to use proper workflow output

* update orchestration patterns to use output

* Update sample -- not finished

* Update python/packages/main/tests/workflow/test_workflow_states.py

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

* Update python/packages/main/tests/workflow/test_concurrent.py

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

* address comments

* WorkflowOutputContext --> WorkflowContext

* remove WorkflowCompletedEvent

* update samples

* Update doc string for important classes; update WorkflowExecutor to support concurrent execution

* use Never instead of None for default type

* Update usage of WorkflowContext[None to WorkflowContext[Never

* address comments

* remove filter for None

* address comments, minor fixes

* quality of life improvement on interceptor types

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-23 20:52:53 +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
Evan MattsonandGitHub 7a0b0b7995 Add agents.md to gitignore (#870) 2025-09-23 15:10:06 +00:00