Commit Graph
158 Commits
Author SHA1 Message Date
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c0e395d4f5 Bump FluentAssertions from 8.6.0 to 8.7.0 (#910)
---
updated-dependencies:
- dependency-name: FluentAssertions
  dependency-version: 8.7.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-30 16:07:51 +00:00
7967983755 Python: .NET: [BREAKING] Remove Actor-based runtime (#977)
* Remove Actor-based runtime

* Fix formatting

* Remove cosmos db vestigials

---------

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
2025-09-30 14:09:32 +00:00
Stephen ToubandGitHub fc4fce7973 Update M.E.AI and MCP versions (#992)
But not yet M.E.AI.OpenAI, which depends on the latest OpenAI, which conflicts with the latest Azure.AI.OpenAI.
2025-09-30 07:17:59 +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
Stephen ToubandGitHub ff7d301389 Update System.CommandLine dependency (#918) 2025-09-28 18:55:48 +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
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
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
Stephen ToubandGitHub 09bdd64dcb Add a sample using multiple services (#851) 2025-09-23 01:07:51 +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
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
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
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
Stephen ToubandGitHub 5e5761b288 Enable more analyzers and various code tweaks/cleanup (#738) 2025-09-18 01:48:25 +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
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
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
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
Stephen ToubandGitHub f9e133237d Update M.E.AI and delete a bunch of dead code (#676) 2025-09-11 00:40:58 +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
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
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
dbc961c869 .NET: AI agent as an MCP tool (#612)
* add sample demostrating how to expose ai-agent as an mcp tool

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

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

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

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

* remove threadId parameter

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-05 09:57:30 +00:00
24ad03af6f .NET: Add Declarative Workflow Interpreter (#401)
* test: Add Reflection/Invocation tests

* fix: Terminate on Completion event

* refactor: Update public API surface

* feat: Add support for external requests

* feat: Support hosting AIAgent instances in Workflows

* fix: Fix routing to go through Executor.ExecuteAsync

* test: Update samples for "must SendMessage" semantics

* Add invoking samples to unit tests to avoid future breaks

* fix: ExternalRequest should block Workflow completion

* feat: Normalize API surface against Python

* Also adds xmldoc to all public APIs

* refactor: Normalize UnitTest and Sample namespaces

* fix: Formatting

* refactor: Normalize project/folder names

* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure

* fix: Fix ILTrim warnings

* docs: Add missing docs and fix typos

* feat: Hosted Agents should report Run events

* fix: Fix type propagation for ILTrim changes

* refactor: Simplify DynamicallyAccessedMembers annotations

* sample: Use static-Type construction of InputPort

* feat: Support non-Streaming Run Mode

* test: Add test for non-streaming execution

* Conversion checkpoint

* Fix namespace error

* Restructure

* Completion

* Executor checkpoint

* Conditional checkpoint

* Cleanup

* Exception cleanup

* Sample cleanup

* Updates

* feat: Define Workflow and Executor APIs

* feat: Define IExecutionContext and Events

* feat: Simple Workflow Demos

* refactor: Move Workflows classes to separate assembly

* feat: Move FanOut/In to LowLevel API with new semantics

* feat: Implement Local Execution

* refactor: Assembly name .Workflow => .Workflows

* feat: Enable Default Message Handling

* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)

* feat: Implement StreamingHandle APIs

This allows the user to respond to WorkflowEvents with external messages, enabling HIL.

* feat: Add checks for duplicate edges and chain cycles

* feat: Add built-in WorkflowEvents

* refactor: Pull classes into own files

* refactor: Simplify Disposal pattern in Executor

* refactor: Break EdgeRunner file into per-type files

* refactor: Use Throw.IfNull()

* refactor: Remove AddLoop()

Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.

* refactor: Normalize use of ValueTask

* fix: Build Break from removing .AddLoop

* refactor: Explicit routing and RouteBuilder

Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.

* test: Add Reflection/Invocation tests

* fix: Terminate on Completion event

* refactor: Update public API surface

* feat: Add support for external requests

* feat: Support hosting AIAgent instances in Workflows

* fix: Fix routing to go through Executor.ExecuteAsync

* test: Update samples for "must SendMessage" semantics

* Add invoking samples to unit tests to avoid future breaks

* fix: ExternalRequest should block Workflow completion

* feat: Normalize API surface against Python

* Also adds xmldoc to all public APIs

* refactor: Normalize UnitTest and Sample namespaces

* fix: Formatting

* refactor: Normalize project/folder names

* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure

* fix: Fix ILTrim warnings

* docs: Add missing docs and fix typos

* feat: Hosted Agents should report Run events

* fix: Fix type propagation for ILTrim changes

* refactor: Simplify DynamicallyAccessedMembers annotations

* sample: Use static-Type construction of InputPort

* feat: Support non-Streaming Run Mode

* test: Add test for non-streaming execution

* refactor: Remove unused types

* refactor: Simplify Event and EdgeData type hierarchies

* feat: Add Switch (=Conditional Edge Group) control flow

* Fix unit-tests

* Add sample

* Comment cleanup

* Fix debug output

* Formating helpers

* feat: Define Workflow and Executor APIs

* feat: Define IExecutionContext and Events

* feat: Simple Workflow Demos

* refactor: Move Workflows classes to separate assembly

* feat: Move FanOut/In to LowLevel API with new semantics

* feat: Implement Local Execution

* refactor: Assembly name .Workflow => .Workflows

* feat: Enable Default Message Handling

* also lifts Bind in MessageHandlerInfo to better be able to direclty invoke handlers (for AOT, later)

* feat: Implement StreamingHandle APIs

This allows the user to respond to WorkflowEvents with external messages, enabling HIL.

* feat: Add checks for duplicate edges and chain cycles

* feat: Add built-in WorkflowEvents

* refactor: Pull classes into own files

* refactor: Simplify Disposal pattern in Executor

* refactor: Break EdgeRunner file into per-type files

* refactor: Use Throw.IfNull()

* refactor: Remove AddLoop()

Per https://github.com/microsoft/agent-framework/pull/272#discussion_r2241739079 we decided this was not very useful.

* refactor: Normalize use of ValueTask

* fix: Build Break from removing .AddLoop

* refactor: Explicit routing and RouteBuilder

Split out reflection from MessageRouter implemention into build phase, enabling AOT compilation to drive RouteBuilding without reflection.

* test: Add Reflection/Invocation tests

* fix: Terminate on Completion event

* refactor: Update public API surface

* feat: Add support for external requests

* feat: Support hosting AIAgent instances in Workflows

* fix: Fix routing to go through Executor.ExecuteAsync

* test: Update samples for "must SendMessage" semantics

* Add invoking samples to unit tests to avoid future breaks

* fix: ExternalRequest should block Workflow completion

* feat: Normalize API surface against Python

* Also adds xmldoc to all public APIs

* refactor: Normalize UnitTest and Sample namespaces

* fix: Formatting

* refactor: Normalize project/folder names

* feat: Remove DynamicCodeExecution from ValueTaskTypeErasure

* fix: Fix ILTrim warnings

* docs: Add missing docs and fix typos

* feat: Hosted Agents should report Run events

* fix: Fix type propagation for ILTrim changes

* refactor: Simplify DynamicallyAccessedMembers annotations

* sample: Use static-Type construction of InputPort

* feat: Support non-Streaming Run Mode

* test: Add test for non-streaming execution

* refactor: Remove unused types

* refactor: Simplify Event and EdgeData type hierarchies

* feat: Add Switch (=Conditional Edge Group) control flow

* feat: Make .NET AutoSend the MessageHandler result

* feat: Implement State APIs

* Add tests

* Fix merge from main

* Test coverage

* Message event

* Comments and clean-up

* Format

* Cleanup

* Test checkpoint

* Clean-up - comments / test

* Test baseline - 100%

* More clean-up

* Comments

* Streaming...sort've...

* Fix build / test

* Stable

* Checkpoint

* Checkpoint

* Stable

* Update sample after merge

* Add "Question" workflow

* State clean-up checkpoint

* State clean-up

* Sample updated

* Expression bug fix

* Sample formatting

* Add unit test

* Comments

* Scope cleanup

* Refine cleanup

* Fill gaps

* fcs

* Finalize data-types

* Add unit-test

* Debug cleanup

* Bug fixes

* Demo progress

* Sample clean-up

* Update samples

* Sample updates

* Sync demo workflows

* Sample formatting

* Sample formatting

* Demo complete

* Workflow formatting

* Demo formatting #2

* Readme + Sample clean-up

* Scope update

* Update diagnostics

* Variable initiaization

* Rollback

* Tune research summary

* State management

* Fix merge

* Fix merge - demo

* Add readme

* Overload for workflow builder

* Fault tolerance - scope equivalency

* Fix feed

* Update sample

* Add default for "Bot"

* Nuget.config patchwork

* Scope assignment check

* Rollback nuget.config haxx

* Sample format

* Namespace

* Namespace

* Agent-Provider

* Clean-up extra files

* Renaming

* Update sample

* Prune junk files

* Clean-up

* Use transform

* agent provider fix

* Typo

* Null check fix

* Fix merge

* Checkpoint

* Cleanup

* Exception cleanup

* Exception message

* Clean-up

* Sample config update

* Update handling of "Env" scope

* Sample agent templates

* Add readme

* Event cleanup

* Rename event

* Update workflows/README.md

Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>

---------

Co-authored-by: Jacob Alber <jaalber@microsoft.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
2025-09-03 16:32:15 +00:00
Roger BarretoandGitHub dac17a8f48 .NET: Adding Semantic Kernel - Migration Samples (#499)
* Guidance

* Guidance

* WIP Migration Preps

* Move to single file projects

* Update guidance code and final adjustments to ensure all feature compatibility

* Move from demos to samples

* Address format

* Address chat client pipeline order

* Update project naming

* Revisition on README

* Remove unused ctor

* Address feedback

* Address feedback

* Address merge conflict fix

* Address SK versioning

* Address folder naming

* Address feedback
2025-08-29 14:29:03 +00:00
fe1941d25f .NET: Add samples to show how to create an AIAgent for each provider. (#525)
* Add samples to show how to create an AIAgent for each provider.

* Update dotnet/samples/HowToCreateAnAIAgentByProvider/README.md

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

* Address PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-28 14:25:19 +00:00
6ec21859cf .NET: feat: Microsoft.Extensions.AI.Agents.Hosting.A2A package (#390)
* add timeout handling for message send

* prepare a2a proj

* fix it finally

* add a holder for selected protocol

* init types ;

* see discoveredAgentCardJson

* prettify json

* correct usage

* client setup for card

* setp?

* message:send

* init task based communication

* try call it via the agent thread

* okay i got back the message wooooow!

* nit

* fix duplicates

* yea matey!

* fix knights-knaves for A2A-Task-based communication

* fix a2a agents csproj

* AI feedback

* a2a does not support netstandard / netfx

* try fix build + refactor

* bump a2a for net9 only

* rollback System.Net.ServerSentEvents & Microsoft.Bcl.AsyncInterfaces version upgrade; override in-place and retarget to net9;net8 for A2A

* address PR comments x1

* refactor a2a interfaces

* address PR comments x2

* fix cancel usage

* separate project for A2A.AspNetCore

* simplify

* cleanup

* cleanup dependencies

* generate convertor tests / fix namespaces etc

* setup actor client!

* fix build

* backoff conversations

* fix duplicate message streaming

* address PR comments x1

* remove internalsvisibleto

* dont implement agent card query on my own: give it to the user

* nit

* rename and move projects

* fix dotnet-format

* address PR comments x1

* remove unreferenced project

* rollback

* rename

* nit

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
2025-08-25 11:14:55 +00:00
Korolev DmitryandGitHub 25291de8cb .NET: chore: support retries on Cosmos storage creation (#402)
* support retries

* tests + registration options

* fix ordering ..

* HK + update packages

* fix paths

* Update dotnet/tests/CosmosDB.IntegrationTests/Microsoft.Extensions.AI.Agents.Runtime.Storage.CosmosDB.Tests/CosmosTestFixture.cs

* re create project and fix some pk usage

* fix all tests

* try workflow?

* wip 1

* fix definition

* try with cosmos_use_emulator env?

* try ignore SSL errors?

* other cert verifications

* hardcode to 8081?

* proper valuation of ENV

* logging

* ensure db exsists for CI

* bump

* cleanup

* fix usage

* nit comment

* try only release for stability?

* try skip some flaky tests

* merge fixes + rollback container

* reimplement with iasyncdisposable pattern

* remove example doc struct
2025-08-21 18:37:12 +00:00
Roger BarretoandGitHub 9f934d8b55 Fix AzureOpenAI version (#466) 2025-08-21 16:37:59 +00:00
Roger BarretoandGitHub 753f336a3a .NET: Update MEAI 9.8.0 and accepted proposed abstractions (#427)
* Update MEAI 9.8.0 and accepted proposed abstractions

* Address manual change in samples

* Address warnings

* Revert "Address warnings"

This reverts commit 52a7d60129.
2025-08-15 17:34:56 +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
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
895151a304 Bump Aspire.Hosting.Azure.CognitiveServices from 9.3.1 to 9.4.0 (#368)
---
updated-dependencies:
- dependency-name: Aspire.Hosting.Azure.CognitiveServices
  dependency-version: 9.4.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-08-07 23:53:34 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
440d74ad53 Bump Aspire.Hosting.Azure.CosmosDB from 9.3.1 to 9.4.0 (#369)
---
updated-dependencies:
- dependency-name: Aspire.Hosting.Azure.CosmosDB
  dependency-version: 9.4.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-08-07 22:49:23 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3c96b258b3 Bump Aspire.Hosting.AppHost from 9.3.1 to 9.4.0 (#367)
---
updated-dependencies:
- dependency-name: Aspire.Hosting.AppHost
  dependency-version: 9.4.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-08-07 22:16:54 +00:00
e7441ee29e .NET: Add agent hosting package and update sample (#296)
* Add agent hosting package and update sample

* Review feedback and cleanup

* Include the narrator

* wip

* wip

* Remove workaround for empty state writes.

* Handle changes to AgentThread.

* One more.

* Fix.

---------

Co-authored-by: Aditya Mandaleeka <adityam@microsoft.com>
2025-08-06 21:26:36 +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
Aditya MandaleekaandGitHub f5b35d8403 .NET: CosmosDB Actor State Storage (#262)
* Implement CosmosDB actor state storage.

* Fix.

* Minor fixes.

* Fixes.

* Make CosmosDB initialization be lazy.

* Remove unnecessary read from write path.

* Throw on empty writes.

* Add arg validation for read.

* Add CosmosIdSanitizer.

* Fix.

* Fix.

* Simplify doc IDs.

* Update comment.

* fb

* Make LazyCosmosContainer internal and add tests.

* Make test constants public and remove IVT.

* Use source generated JSON context for future nativeAOT support.

* Re-add dropped comments.
2025-08-05 00:11:49 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Roger Barreto
92c6e26054 .Net: Bump Azure.AI.Agents.Persistent and 6 others (#243)
* Bump Azure.AI.Agents.Persistent and 6 others

Bumps Azure.AI.Agents.Persistent from 1.1.0-beta.4 to 1.1.0
Bumps Microsoft.Agents.CopilotStudio.Client from 1.1.125-beta to 1.1.151
Bumps Roslynator.Analyzers from 4.12.10 to 4.14.0
Bumps Roslynator.CodeAnalysis.Analyzers from 4.12.4 to 4.14.0
Bumps Roslynator.Formatting.Analyzers from 4.12.11 to 4.14.0
Bumps xunit from 2.9.2 to 2.9.3
Bumps xunit.runner.visualstudio from 3.0.2 to 3.1.3

---
updated-dependencies:
- dependency-name: Azure.AI.Agents.Persistent
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.Agents.CopilotStudio.Client
  dependency-version: 1.1.151
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Roslynator.Analyzers
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: Roslynator.CodeAnalysis.Analyzers
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: Roslynator.Formatting.Analyzers
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: xunit
  dependency-version: 2.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: xunit.runner.visualstudio
  dependency-version: 3.1.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Missing extra bump

---------

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-07-28 08:37:36 +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
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
Dmytro StrukandGitHub fa96f74ee9 Removed Persistent SDK IChatClient implementation (#190) 2025-07-15 17:37:42 +00:00
Stephen ToubandGitHub 59bf7343af Update {Azure.AI.}OpenAI package versions (#187) 2025-07-14 18:04:52 -04:00
Stephen ToubandGitHub 456e7d1b65 Round 2 of cleanup for agent runtime and orchestrations (#164)
- Moved InProcessRuntime type into abstractions package and deleted InProcess package.
- Moved several members of IAgentRuntime to be extension methods instead, e.g. multiple GetActorAsync overloads.
- Added synchronous RegisterMessageHandler overloads and used them to avoid unnecessary async usage at call sites.
- Removed unnecessary surface area from InProcessRuntime, e.g. StopAsync, RunUntilIdleAsync, etc.
- Fixed spin loop in InProcessRuntime that would consume an entire core for the duration of the orchestration's operation.
- Removed a bunch of allocation from InProcessRuntime.
- Made a runtime optional for orchestrations, defaulting to using a temporary InProcessRuntime if none is provided.
- Removed custom delegate types from orchestrations.
- Consolidated namespaces.
- Used records to simplify message classes.
- Tweaked naming on AgentActor to make purpose of protected methods more clear.
- Removed invocation in AgentActor.InvokeAsync of empty update / isFinal parameter.
- Changed OrchestrationHandoffs to avoid needing to pass in agents duplicatively.
- Made various extension methods, such as those on OrchestrationHandoffsExtensions, into instance methods.
2025-07-11 11:12:18 -04:00
westeyandGitHub b708e2507d Add PoC CopilotStudio agent (#84)
* Add project and skeleton files.

* Add CopilotStudioAgent implementation

* Add CopilotStudio integration tests

* Fix typos and PR feedback.

* Fix .net framework build errors.

* Address PR comments

* Remove temp test.

* Add rawresponse for streaming updates and more comments.

* Add TODO to review streaming updates

* Address PR comments and fix some issues with streaming messages.

* Map additional properties to agent reponses

* Update CopilotStudio integration tests to match new approach.

* Update copilot studio namespaces/project names to match new naming

* Add todo's for AIContent types.

* Remove files from PR.

* Fix up sln file.

* Update .gitignore.

* Remove duplicate package version items.
2025-07-11 09:20:40 +00:00
fef4fd2c18 .Net: Update Code Interpreter Sample as a Step. (#148)
* Updating code interpreter samples

* Small adjustments to ensure it works as expected

* Update dotnet/samples/GettingStarted/Steps/Step03_ChatClientAgent_UsingCodeInterpreterTools.cs

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

* Address xmldoc

* Addressing PR coment, external implementaions + ChatClients update, removing RawRepresentationFactory requirement

* Address warnings

* Update Fix warnings

* Proposed changes for the OpenAIAssistantChatClient

* Address PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
2025-07-10 15:26:41 +00:00
Stephen ToubandGitHub 01fd74a80c Update some dependency version (#162) 2025-07-10 14:22:17 +00:00