From ab450078ab8effa4d58f020794fb6cbff7a7f716 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Wed, 15 Oct 2025 04:33:33 -0400 Subject: [PATCH] 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> --- dotnet/Directory.Packages.props | 50 +++++++++---------- .../A2AClient/A2AClient.csproj | 4 +- .../A2AServer/A2AServer.csproj | 4 +- .../AgentWebChat.AgentHost.csproj | 4 +- .../AgentWebChat.Web/AgentWebChat.Web.csproj | 4 +- .../A2AAgent_AsFunctionTools.csproj | 4 +- .../Agent_With_A2A/Agent_With_A2A.csproj | 4 +- .../Agent_Step10_AsMcpTool.csproj | 2 +- .../Agent_MCP_Server/Agent_MCP_Server.csproj | 2 +- .../Agent_MCP_Server_Auth.csproj | 2 +- .../Microsoft.Agents.AI.A2A.csproj | 4 +- ...ft.Agents.AI.Hosting.A2A.AspNetCore.csproj | 4 +- .../Microsoft.Agents.AI.Hosting.A2A.csproj | 4 +- .../Microsoft.Agents.AI.Hosting.OpenAI.csproj | 2 +- .../Microsoft.Agents.AI/OpenTelemetryAgent.cs | 25 +--------- .../Microsoft.Agents.AI.A2A.UnitTests.csproj | 4 +- .../AgentRunResponseUpdateExtensionsTests.cs | 4 +- ...crosoft.Agents.AI.Hosting.A2A.Tests.csproj | 4 +- .../OpenTelemetryAgentTests.cs | 3 ++ 19 files changed, 58 insertions(+), 76 deletions(-) diff --git a/dotnet/Directory.Packages.props b/dotnet/Directory.Packages.props index 118947c7c6..ad99dbd100 100644 --- a/dotnet/Directory.Packages.props +++ b/dotnet/Directory.Packages.props @@ -22,16 +22,16 @@ - - - - - - - + + + + + + + - + @@ -43,25 +43,25 @@ - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/dotnet/samples/A2AClientServer/A2AClient/A2AClient.csproj b/dotnet/samples/A2AClientServer/A2AClient/A2AClient.csproj index 3ba914b69c..77a0588231 100644 --- a/dotnet/samples/A2AClientServer/A2AClient/A2AClient.csproj +++ b/dotnet/samples/A2AClientServer/A2AClient/A2AClient.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/dotnet/samples/A2AClientServer/A2AServer/A2AServer.csproj b/dotnet/samples/A2AClientServer/A2AServer/A2AServer.csproj index 06879c9330..bcff11f17c 100644 --- a/dotnet/samples/A2AClientServer/A2AServer/A2AServer.csproj +++ b/dotnet/samples/A2AClientServer/A2AServer/A2AServer.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/AgentWebChat.AgentHost.csproj b/dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/AgentWebChat.AgentHost.csproj index 128ef4651a..802c864c1f 100644 --- a/dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/AgentWebChat.AgentHost.csproj +++ b/dotnet/samples/AgentWebChat/AgentWebChat.AgentHost/AgentWebChat.AgentHost.csproj @@ -32,8 +32,8 @@ - - + + diff --git a/dotnet/samples/AgentWebChat/AgentWebChat.Web/AgentWebChat.Web.csproj b/dotnet/samples/AgentWebChat/AgentWebChat.Web/AgentWebChat.Web.csproj index 0926f087e8..72541f046f 100644 --- a/dotnet/samples/AgentWebChat/AgentWebChat.Web/AgentWebChat.Web.csproj +++ b/dotnet/samples/AgentWebChat/AgentWebChat.Web/AgentWebChat.Web.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/dotnet/samples/GettingStarted/A2A/A2AAgent_AsFunctionTools/A2AAgent_AsFunctionTools.csproj b/dotnet/samples/GettingStarted/A2A/A2AAgent_AsFunctionTools/A2AAgent_AsFunctionTools.csproj index 341798a38e..2b89b20fbf 100644 --- a/dotnet/samples/GettingStarted/A2A/A2AAgent_AsFunctionTools/A2AAgent_AsFunctionTools.csproj +++ b/dotnet/samples/GettingStarted/A2A/A2AAgent_AsFunctionTools/A2AAgent_AsFunctionTools.csproj @@ -13,8 +13,8 @@ - - + + diff --git a/dotnet/samples/GettingStarted/AgentProviders/Agent_With_A2A/Agent_With_A2A.csproj b/dotnet/samples/GettingStarted/AgentProviders/Agent_With_A2A/Agent_With_A2A.csproj index 4d78bf70c1..e01a9f7458 100644 --- a/dotnet/samples/GettingStarted/AgentProviders/Agent_With_A2A/Agent_With_A2A.csproj +++ b/dotnet/samples/GettingStarted/AgentProviders/Agent_With_A2A/Agent_With_A2A.csproj @@ -10,8 +10,8 @@ - - + + diff --git a/dotnet/samples/GettingStarted/Agents/Agent_Step10_AsMcpTool/Agent_Step10_AsMcpTool.csproj b/dotnet/samples/GettingStarted/Agents/Agent_Step10_AsMcpTool/Agent_Step10_AsMcpTool.csproj index 3ff0cf550a..f0cdbfccc7 100644 --- a/dotnet/samples/GettingStarted/Agents/Agent_Step10_AsMcpTool/Agent_Step10_AsMcpTool.csproj +++ b/dotnet/samples/GettingStarted/Agents/Agent_Step10_AsMcpTool/Agent_Step10_AsMcpTool.csproj @@ -14,7 +14,7 @@ - + diff --git a/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server/Agent_MCP_Server.csproj b/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server/Agent_MCP_Server.csproj index ececa3ea5a..c5e06bc382 100644 --- a/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server/Agent_MCP_Server.csproj +++ b/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server/Agent_MCP_Server.csproj @@ -13,7 +13,7 @@ - + diff --git a/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server_Auth/Agent_MCP_Server_Auth.csproj b/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server_Auth/Agent_MCP_Server_Auth.csproj index e068b6745a..389b504c50 100644 --- a/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server_Auth/Agent_MCP_Server_Auth.csproj +++ b/dotnet/samples/GettingStarted/ModelContextProtocol/Agent_MCP_Server_Auth/Agent_MCP_Server_Auth.csproj @@ -15,7 +15,7 @@ - + diff --git a/dotnet/src/Microsoft.Agents.AI.A2A/Microsoft.Agents.AI.A2A.csproj b/dotnet/src/Microsoft.Agents.AI.A2A/Microsoft.Agents.AI.A2A.csproj index 64b2646e82..46e3c97d8f 100644 --- a/dotnet/src/Microsoft.Agents.AI.A2A/Microsoft.Agents.AI.A2A.csproj +++ b/dotnet/src/Microsoft.Agents.AI.A2A/Microsoft.Agents.AI.A2A.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/dotnet/src/Microsoft.Agents.AI.Hosting.A2A.AspNetCore/Microsoft.Agents.AI.Hosting.A2A.AspNetCore.csproj b/dotnet/src/Microsoft.Agents.AI.Hosting.A2A.AspNetCore/Microsoft.Agents.AI.Hosting.A2A.AspNetCore.csproj index 1f64d8528d..c23796ad56 100644 --- a/dotnet/src/Microsoft.Agents.AI.Hosting.A2A.AspNetCore/Microsoft.Agents.AI.Hosting.A2A.AspNetCore.csproj +++ b/dotnet/src/Microsoft.Agents.AI.Hosting.A2A.AspNetCore/Microsoft.Agents.AI.Hosting.A2A.AspNetCore.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/dotnet/src/Microsoft.Agents.AI.Hosting.A2A/Microsoft.Agents.AI.Hosting.A2A.csproj b/dotnet/src/Microsoft.Agents.AI.Hosting.A2A/Microsoft.Agents.AI.Hosting.A2A.csproj index 170d453ce2..5076e25c05 100644 --- a/dotnet/src/Microsoft.Agents.AI.Hosting.A2A/Microsoft.Agents.AI.Hosting.A2A.csproj +++ b/dotnet/src/Microsoft.Agents.AI.Hosting.A2A/Microsoft.Agents.AI.Hosting.A2A.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/dotnet/src/Microsoft.Agents.AI.Hosting.OpenAI/Microsoft.Agents.AI.Hosting.OpenAI.csproj b/dotnet/src/Microsoft.Agents.AI.Hosting.OpenAI/Microsoft.Agents.AI.Hosting.OpenAI.csproj index f6de518c2b..4fbef3aea7 100644 --- a/dotnet/src/Microsoft.Agents.AI.Hosting.OpenAI/Microsoft.Agents.AI.Hosting.OpenAI.csproj +++ b/dotnet/src/Microsoft.Agents.AI.Hosting.OpenAI/Microsoft.Agents.AI.Hosting.OpenAI.csproj @@ -25,7 +25,7 @@ - + diff --git a/dotnet/src/Microsoft.Agents.AI/OpenTelemetryAgent.cs b/dotnet/src/Microsoft.Agents.AI/OpenTelemetryAgent.cs index 247bd12cbc..e7b3f42bb9 100644 --- a/dotnet/src/Microsoft.Agents.AI/OpenTelemetryAgent.cs +++ b/dotnet/src/Microsoft.Agents.AI/OpenTelemetryAgent.cs @@ -139,33 +139,12 @@ public sealed class OpenTelemetryAgent : DelegatingAIAgent, IDisposable /// State passed from this instance into the inner agent, circumventing the intermediate . private sealed class ForwardedOptions : ChatOptions { - public ForwardedOptions(AgentRunOptions? options, AgentThread? thread, Activity? currentActivity) + public ForwardedOptions(AgentRunOptions? options, AgentThread? thread, Activity? currentActivity) : + base((options as ChatClientAgentRunOptions)?.ChatOptions) { this.Options = options; this.Thread = thread; this.CurrentActivity = currentActivity; - - if (options is ChatClientAgentRunOptions { ChatOptions: { } chatClientOptions }) - { - // Keep this faux copy ctor in sync with public properties on ChatOptions. - this.AdditionalProperties = chatClientOptions.AdditionalProperties; - this.AllowMultipleToolCalls = chatClientOptions.AllowMultipleToolCalls; - this.ConversationId = chatClientOptions.ConversationId; - this.FrequencyPenalty = chatClientOptions.FrequencyPenalty; - this.Instructions = chatClientOptions.Instructions; - this.MaxOutputTokens = chatClientOptions.MaxOutputTokens; - this.ModelId = chatClientOptions.ModelId; - this.PresencePenalty = chatClientOptions.PresencePenalty; - this.RawRepresentationFactory = chatClientOptions.RawRepresentationFactory; - this.ResponseFormat = chatClientOptions.ResponseFormat; - this.Seed = chatClientOptions.Seed; - this.StopSequences = chatClientOptions.StopSequences; - this.Temperature = chatClientOptions.Temperature; - this.Tools = chatClientOptions.Tools; - this.ToolMode = chatClientOptions.ToolMode; - this.TopK = chatClientOptions.TopK; - this.TopP = chatClientOptions.TopP; - } } public AgentRunOptions? Options { get; } diff --git a/dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Microsoft.Agents.AI.A2A.UnitTests.csproj b/dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Microsoft.Agents.AI.A2A.UnitTests.csproj index a956fc8986..f654f3eeec 100644 --- a/dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Microsoft.Agents.AI.A2A.UnitTests.csproj +++ b/dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Microsoft.Agents.AI.A2A.UnitTests.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/dotnet/tests/Microsoft.Agents.AI.Abstractions.UnitTests/AgentRunResponseUpdateExtensionsTests.cs b/dotnet/tests/Microsoft.Agents.AI.Abstractions.UnitTests/AgentRunResponseUpdateExtensionsTests.cs index cc3247416a..a653cf80f5 100644 --- a/dotnet/tests/Microsoft.Agents.AI.Abstractions.UnitTests/AgentRunResponseUpdateExtensionsTests.cs +++ b/dotnet/tests/Microsoft.Agents.AI.Abstractions.UnitTests/AgentRunResponseUpdateExtensionsTests.cs @@ -207,7 +207,7 @@ public class AgentRunResponseUpdateExtensionsTests Assert.Equal("Hello, world!", Assert.IsType(Assert.Single(Assert.Single(response.Messages).Contents)).Text); } - [Theory(Skip = "Reactive once M.E.AI 9.10 is imported")] + [Theory] [InlineData(false)] [InlineData(true)] public async Task ToAgentRunResponse_AlternativeTimestampsAsync(bool useAsync) @@ -275,7 +275,7 @@ public class AgentRunResponseUpdateExtensionsTests } } - [Theory(Skip = "Reactive once M.E.AI 9.10 is imported")] + [Theory] [MemberData(nameof(ToAgentRunResponse_TimestampFolding_MemberData))] public async Task ToAgentRunResponse_TimestampFoldingAsync(bool useAsync, string? timestamp1, string? timestamp2, string? expectedTimestamp) { diff --git a/dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.Tests/Microsoft.Agents.AI.Hosting.A2A.Tests.csproj b/dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.Tests/Microsoft.Agents.AI.Hosting.A2A.Tests.csproj index 5c55317eb4..9e0a79d646 100644 --- a/dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.Tests/Microsoft.Agents.AI.Hosting.A2A.Tests.csproj +++ b/dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.Tests/Microsoft.Agents.AI.Hosting.A2A.Tests.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/dotnet/tests/Microsoft.Agents.AI.UnitTests/OpenTelemetryAgentTests.cs b/dotnet/tests/Microsoft.Agents.AI.UnitTests/OpenTelemetryAgentTests.cs index d8d5c56b0a..2b68cd41a2 100644 --- a/dotnet/tests/Microsoft.Agents.AI.UnitTests/OpenTelemetryAgentTests.cs +++ b/dotnet/tests/Microsoft.Agents.AI.UnitTests/OpenTelemetryAgentTests.cs @@ -567,6 +567,9 @@ public class OpenTelemetryAgentTests ] } }, + { + "type": "web_search" + }, { "type": "function", "name": "GetCurrentWeather",