From 5eaeaf8ffecb5e5ef4b83e2441dff4cf8c63122a Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Mon, 17 Nov 2025 22:08:39 +0800 Subject: [PATCH 01/13] Add support for custom headers in HostedMcpServerTool Introduces a Headers property to HostedMcpServerTool for specifying additional request headers. Updates OpenAIResponsesChatClient to pass these headers when creating MCP tools and adds unit tests to verify header roundtripping. --- .../Tools/HostedMcpServerTool.cs | 5 +++++ .../OpenAIResponsesChatClient.cs | 4 ++-- .../Tools/HostedMcpServerToolTests.cs | 11 +++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Libraries/Microsoft.Extensions.AI.Abstractions/Tools/HostedMcpServerTool.cs b/src/Libraries/Microsoft.Extensions.AI.Abstractions/Tools/HostedMcpServerTool.cs index aa33a581710..f50d66be48f 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Abstractions/Tools/HostedMcpServerTool.cs +++ b/src/Libraries/Microsoft.Extensions.AI.Abstractions/Tools/HostedMcpServerTool.cs @@ -99,4 +99,9 @@ private static string ValidateUrl(Uri serverUrl) /// /// public HostedMcpServerToolApprovalMode? ApprovalMode { get; set; } + + /// + /// Gets or sets additional headers to include in requests to the remote MCP server. + /// + public IDictionary? Headers { get; set; } } diff --git a/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIResponsesChatClient.cs b/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIResponsesChatClient.cs index d14c0036358..6f06247ea3c 100644 --- a/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIResponsesChatClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIResponsesChatClient.cs @@ -537,12 +537,12 @@ void IDisposable.Dispose() mcpTool.ServerName, url, mcpTool.AuthorizationToken, - mcpTool.ServerDescription) : + mcpTool.ServerDescription, mcpTool.Headers) : ResponseTool.CreateMcpTool( mcpTool.ServerName, new McpToolConnectorId(mcpTool.ServerAddress), mcpTool.AuthorizationToken, - mcpTool.ServerDescription); + mcpTool.ServerDescription, mcpTool.Headers); if (mcpTool.AllowedTools is not null) { diff --git a/test/Libraries/Microsoft.Extensions.AI.Abstractions.Tests/Tools/HostedMcpServerToolTests.cs b/test/Libraries/Microsoft.Extensions.AI.Abstractions.Tests/Tools/HostedMcpServerToolTests.cs index ec1dc407973..6461b4e7a9b 100644 --- a/test/Libraries/Microsoft.Extensions.AI.Abstractions.Tests/Tools/HostedMcpServerToolTests.cs +++ b/test/Libraries/Microsoft.Extensions.AI.Abstractions.Tests/Tools/HostedMcpServerToolTests.cs @@ -62,6 +62,17 @@ public void Constructor_Roundtrips() tool.ApprovalMode = HostedMcpServerToolApprovalMode.AlwaysRequire; Assert.Same(HostedMcpServerToolApprovalMode.AlwaysRequire, tool.ApprovalMode); + Assert.Null(tool.Headers); + IDictionary headers = new Dictionary + { + ["X-Custom-Header"] = "value1", + }; + tool.Headers = headers; + Assert.Same(headers, tool.Headers); + + tool.Headers = null; + Assert.Null(tool.Headers); + var customApprovalMode = new HostedMcpServerToolRequireSpecificApprovalMode(["tool1"], ["tool2"]); tool.ApprovalMode = customApprovalMode; Assert.Same(customApprovalMode, tool.ApprovalMode); From 00acd8acaf2a18b6e46510298af140303fe60078 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Mon, 17 Nov 2025 23:16:06 +0800 Subject: [PATCH 02/13] Update API baselines for .NET 10 and add new AI libraries Updated MakeApiBaselines.ps1 and all API baseline JSONs to target .NET 10.0.0.0. Added new API baseline files for Microsoft.Extensions.AI.AzureAIInference, Evaluation.NLP, Evaluation.Safety, AmbientMetadata.Build, DataIngestion, DataIngestion.Abstractions, DataIngestion.MarkItDown, and DataIngestion.Markdig. The Microsoft.Extensions.AI.Abstractions API baseline includes significant additions and changes for experimental AI features, image generation, tool approval, and continuation tokens. --- scripts/MakeApiBaselines.ps1 | 4 +- .../Microsoft.AspNetCore.AsyncState.json | 2 +- ...oft.AspNetCore.Diagnostics.Middleware.json | 2 +- .../Microsoft.AspNetCore.HeaderParsing.json | 2 +- .../Microsoft.AspNetCore.Testing.json | 2 +- .../Microsoft.Extensions.AI.Abstractions.json | 895 ++++++++++++++++-- ...rosoft.Extensions.AI.AzureAIInference.json | 23 + ...soft.Extensions.AI.Evaluation.Console.json | 2 +- ...icrosoft.Extensions.AI.Evaluation.NLP.json | 145 +++ ...soft.Extensions.AI.Evaluation.Quality.json | 165 +++- ...ensions.AI.Evaluation.Reporting.Azure.json | 12 +- ...osoft.Extensions.AI.Evaluation.Safety.json | 329 +++++++ .../Microsoft.Extensions.AI.Evaluation.json | 22 +- .../Microsoft.Extensions.AI.OpenAI.json | 143 +++ .../Microsoft.Extensions.AI.json | 407 +++++++- ...xtensions.AmbientMetadata.Application.json | 2 +- ...soft.Extensions.AmbientMetadata.Build.json | 47 + .../Microsoft.Extensions.AsyncState.json | 4 +- .../Microsoft.Extensions.Caching.Hybrid.json | 2 +- ...ft.Extensions.Compliance.Abstractions.json | 28 +- ...osoft.Extensions.Compliance.Redaction.json | 2 +- ...crosoft.Extensions.Compliance.Testing.json | 2 +- ...Extensions.DataIngestion.Abstractions.json | 275 ++++++ ...t.Extensions.DataIngestion.MarkItDown.json | 41 + ...soft.Extensions.DataIngestion.Markdig.json | 23 + .../Microsoft.Extensions.DataIngestion.json | 315 ++++++ ...ns.DependencyInjection.AutoActivation.json | 2 +- ...ns.Diagnostics.ExceptionSummarization.json | 2 +- ...sions.Diagnostics.HealthChecks.Common.json | 2 +- ...tics.HealthChecks.ResourceUtilization.json | 8 +- ...crosoft.Extensions.Diagnostics.Probes.json | 78 +- ...nsions.Diagnostics.ResourceMonitoring.json | 126 ++- ...rosoft.Extensions.Diagnostics.Testing.json | 12 +- .../Microsoft.Extensions.Hosting.Testing.json | 2 +- ...Microsoft.Extensions.Http.Diagnostics.json | 29 +- .../Microsoft.Extensions.Http.Resilience.json | 20 +- ...nsions.ObjectPool.DependencyInjection.json | 2 +- ...crosoft.Extensions.Options.Contextual.json | 80 +- .../Microsoft.Extensions.Resilience.json | 4 +- ...ensions.ServiceDiscovery.Abstractions.json | 167 ++++ ...osoft.Extensions.ServiceDiscovery.Dns.json | 127 +++ ...soft.Extensions.ServiceDiscovery.Yarp.json | 23 + ...Microsoft.Extensions.ServiceDiscovery.json | 121 +++ ...oft.Extensions.Telemetry.Abstractions.json | 2 +- ...osoft.Extensions.TimeProvider.Testing.json | 2 +- 45 files changed, 3407 insertions(+), 298 deletions(-) create mode 100644 src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json create mode 100644 src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json create mode 100644 src/Libraries/Microsoft.Extensions.AmbientMetadata.Build/Microsoft.Extensions.AmbientMetadata.Build.json create mode 100644 src/Libraries/Microsoft.Extensions.DataIngestion.Abstractions/Microsoft.Extensions.DataIngestion.Abstractions.json create mode 100644 src/Libraries/Microsoft.Extensions.DataIngestion.MarkItDown/Microsoft.Extensions.DataIngestion.MarkItDown.json create mode 100644 src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/Microsoft.Extensions.DataIngestion.Markdig.json create mode 100644 src/Libraries/Microsoft.Extensions.DataIngestion/Microsoft.Extensions.DataIngestion.json diff --git a/scripts/MakeApiBaselines.ps1 b/scripts/MakeApiBaselines.ps1 index dcebd769a3e..ae0d9c11eeb 100644 --- a/scripts/MakeApiBaselines.ps1 +++ b/scripts/MakeApiBaselines.ps1 @@ -16,7 +16,7 @@ Write-Output "Installing required toolset" InitializeDotNetCli -install $true | Out-Null $Project = $PSScriptRoot + "/../eng/Tools/ApiChief/ApiChief.csproj" -$Command = $PSScriptRoot + "/../artifacts/bin/ApiChief/Debug/net9.0/ApiChief.dll" +$Command = $PSScriptRoot + "/../artifacts/bin/ApiChief/Debug/net10.0/ApiChief.dll" $LibrariesFolder = $PSScriptRoot + "/../src/Libraries" Write-Output "Building ApiChief tool" @@ -28,7 +28,7 @@ Write-Output "Creating API baseline files in the src/Libraries folder" Get-ChildItem -Path $LibrariesFolder -Depth 1 -Include *.csproj | ForEach-Object ` { $name = Split-Path $_.FullName -LeafBase - $path = "$PSScriptRoot\..\artifacts\bin\$name\Debug\net9.0\$name.dll" + $path = "$PSScriptRoot\..\artifacts\bin\$name\Debug\net10.0\$name.dll" Write-Host " Processing" $name dotnet $Command $path emit baseline -o "$LibrariesFolder/$name/$name.json" } diff --git a/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json b/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json index 7b89260c4ab..c2e13956145 100644 --- a/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json +++ b/src/Libraries/Microsoft.AspNetCore.AsyncState/Microsoft.AspNetCore.AsyncState.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.AsyncState, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.AsyncState, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.AsyncStateHttpContextExtensions", diff --git a/src/Libraries/Microsoft.AspNetCore.Diagnostics.Middleware/Microsoft.AspNetCore.Diagnostics.Middleware.json b/src/Libraries/Microsoft.AspNetCore.Diagnostics.Middleware/Microsoft.AspNetCore.Diagnostics.Middleware.json index f445bb581f5..54a369c6c7c 100644 --- a/src/Libraries/Microsoft.AspNetCore.Diagnostics.Middleware/Microsoft.AspNetCore.Diagnostics.Middleware.json +++ b/src/Libraries/Microsoft.AspNetCore.Diagnostics.Middleware/Microsoft.AspNetCore.Diagnostics.Middleware.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.Diagnostics.Middleware, Version=9.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.Diagnostics.Middleware, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.HttpLoggingServiceCollectionExtensions", diff --git a/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json b/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json index 95411a10a94..ebf371171ca 100644 --- a/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json +++ b/src/Libraries/Microsoft.AspNetCore.HeaderParsing/Microsoft.AspNetCore.HeaderParsing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.HeaderParsing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.HeaderParsing, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.AspNetCore.HeaderParsing.CommonHeaders", diff --git a/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json b/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json index 1d15f67bee5..9918fdbf33c 100644 --- a/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json +++ b/src/Libraries/Microsoft.AspNetCore.Testing/Microsoft.AspNetCore.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.AspNetCore.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.AspNetCore.Testing, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Hosting.ServiceFakesHostExtensions", diff --git a/src/Libraries/Microsoft.Extensions.AI.Abstractions/Microsoft.Extensions.AI.Abstractions.json b/src/Libraries/Microsoft.Extensions.AI.Abstractions/Microsoft.Extensions.AI.Abstractions.json index b5ef3774b45..6e8e230c59d 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Abstractions/Microsoft.Extensions.AI.Abstractions.json +++ b/src/Libraries/Microsoft.Extensions.AI.Abstractions/Microsoft.Extensions.AI.Abstractions.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AI.Abstractions, Version=9.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AI.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.AI.AdditionalPropertiesDictionary : Microsoft.Extensions.AI.AdditionalPropertiesDictionary", @@ -134,11 +134,11 @@ ], "Properties": [ { - "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.AIAnnotation.AnnotatedRegions { get; set; }", + "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.AIAnnotation.AdditionalProperties { get; set; }", "Stage": "Stable" }, { - "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.AIAnnotation.AdditionalProperties { get; set; }", + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.AIAnnotation.AnnotatedRegions { get; set; }", "Stage": "Stable" }, { @@ -180,15 +180,15 @@ "Stage": "Stable" }, { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.AIFunction.InvokeAsync(Microsoft.Extensions.AI.AIFunctionArguments? arguments = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Member": "Microsoft.Extensions.AI.AIFunctionDeclaration Microsoft.Extensions.AI.AIFunction.AsDeclarationOnly();", "Stage": "Stable" }, { - "Member": "abstract System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.AIFunction.InvokeCoreAsync(Microsoft.Extensions.AI.AIFunctionArguments arguments, System.Threading.CancellationToken cancellationToken);", + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.AIFunction.InvokeAsync(Microsoft.Extensions.AI.AIFunctionArguments? arguments = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", "Stage": "Stable" }, { - "Member": "Microsoft.Extensions.AI.AIFunctionDeclaration Microsoft.Extensions.AI.AIFunction.AsDeclarationOnly();", + "Member": "abstract System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.AIFunction.InvokeCoreAsync(Microsoft.Extensions.AI.AIFunctionArguments arguments, System.Threading.CancellationToken cancellationToken);", "Stage": "Stable" } ], @@ -203,26 +203,6 @@ } ] }, - { - "Type": "abstract class Microsoft.Extensions.AI.AIFunctionDeclaration : Microsoft.Extensions.AI.AITool", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.AIFunctionDeclaration.AIFunctionDeclaration();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "virtual System.Text.Json.JsonElement Microsoft.Extensions.AI.AIFunctionDeclaration.JsonSchema { get; }", - "Stage": "Stable" - }, - { - "Member": "virtual System.Text.Json.JsonElement? Microsoft.Extensions.AI.AIFunctionDeclaration.ReturnJsonSchema { get; }", - "Stage": "Stable" - } - ] - }, { "Type": "class Microsoft.Extensions.AI.AIFunctionArguments : System.Collections.Generic.IDictionary, System.Collections.Generic.ICollection>, System.Collections.Generic.IEnumerable>, System.Collections.IEnumerable, System.Collections.Generic.IReadOnlyDictionary, System.Collections.Generic.IReadOnlyCollection>", "Stage": "Stable", @@ -299,6 +279,26 @@ } ] }, + { + "Type": "abstract class Microsoft.Extensions.AI.AIFunctionDeclaration : Microsoft.Extensions.AI.AITool", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.AIFunctionDeclaration.AIFunctionDeclaration();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "virtual System.Text.Json.JsonElement Microsoft.Extensions.AI.AIFunctionDeclaration.JsonSchema { get; }", + "Stage": "Stable" + }, + { + "Member": "virtual System.Text.Json.JsonElement? Microsoft.Extensions.AI.AIFunctionDeclaration.ReturnJsonSchema { get; }", + "Stage": "Stable" + } + ] + }, { "Type": "static class Microsoft.Extensions.AI.AIFunctionFactory", "Stage": "Stable", @@ -723,6 +723,16 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.ApprovalRequiredAIFunction : Microsoft.Extensions.AI.DelegatingAIFunction", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ApprovalRequiredAIFunction.ApprovalRequiredAIFunction(Microsoft.Extensions.AI.AIFunction innerFunction);", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.AutoChatToolMode : Microsoft.Extensions.AI.ChatToolMode", "Stage": "Stable", @@ -997,20 +1007,28 @@ "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.ChatOptions.AdditionalProperties { get; set; }", "Stage": "Stable" }, + { + "Member": "bool? Microsoft.Extensions.AI.ChatOptions.AllowBackgroundResponses { get; set; }", + "Stage": "Experimental" + }, { "Member": "bool? Microsoft.Extensions.AI.ChatOptions.AllowMultipleToolCalls { get; set; }", "Stage": "Stable" }, + { + "Member": "object? Microsoft.Extensions.AI.ChatOptions.ContinuationToken { get; set; }", + "Stage": "Experimental" + }, { "Member": "string? Microsoft.Extensions.AI.ChatOptions.ConversationId { get; set; }", "Stage": "Stable" }, { - "Member": "string? Microsoft.Extensions.AI.ChatOptions.Instructions { get; set; }", + "Member": "float? Microsoft.Extensions.AI.ChatOptions.FrequencyPenalty { get; set; }", "Stage": "Stable" }, { - "Member": "float? Microsoft.Extensions.AI.ChatOptions.FrequencyPenalty { get; set; }", + "Member": "string? Microsoft.Extensions.AI.ChatOptions.Instructions { get; set; }", "Stage": "Stable" }, { @@ -1093,6 +1111,10 @@ "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.ChatResponse.AdditionalProperties { get; set; }", "Stage": "Stable" }, + { + "Member": "object? Microsoft.Extensions.AI.ChatResponse.ContinuationToken { get; set; }", + "Stage": "Experimental" + }, { "Member": "string? Microsoft.Extensions.AI.ChatResponse.ConversationId { get; set; }", "Stage": "Stable" @@ -1269,6 +1291,10 @@ "Member": "System.Collections.Generic.IList Microsoft.Extensions.AI.ChatResponseUpdate.Contents { get; set; }", "Stage": "Stable" }, + { + "Member": "object? Microsoft.Extensions.AI.ChatResponseUpdate.ContinuationToken { get; set; }", + "Stage": "Experimental" + }, { "Member": "string? Microsoft.Extensions.AI.ChatResponseUpdate.ConversationId { get; set; }", "Stage": "Stable" @@ -1419,6 +1445,14 @@ } ], "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.CitationAnnotation.FileId { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.AI.CitationAnnotation.Snippet { get; set; }", + "Stage": "Stable" + }, { "Member": "string? Microsoft.Extensions.AI.CitationAnnotation.Title { get; set; }", "Stage": "Stable" @@ -1430,14 +1464,46 @@ { "Member": "System.Uri? Microsoft.Extensions.AI.CitationAnnotation.Url { get; set; }", "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.CodeInterpreterToolCallContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.CodeInterpreterToolCallContent.CodeInterpreterToolCallContent();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.CodeInterpreterToolCallContent.CallId { get; set; }", + "Stage": "Experimental" }, { - "Member": "string? Microsoft.Extensions.AI.CitationAnnotation.FileId { get; set; }", - "Stage": "Stable" + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.CodeInterpreterToolCallContent.Inputs { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.CodeInterpreterToolResultContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.CodeInterpreterToolResultContent.CodeInterpreterToolResultContent();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.CodeInterpreterToolResultContent.CallId { get; set; }", + "Stage": "Experimental" }, { - "Member": "string? Microsoft.Extensions.AI.CitationAnnotation.Snippet { get; set; }", - "Stage": "Stable" + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.CodeInterpreterToolResultContent.Outputs { get; set; }", + "Stage": "Experimental" } ] }, @@ -1472,11 +1538,11 @@ "Stage": "Stable" }, { - "Member": "string? Microsoft.Extensions.AI.DataContent.Name { get; set; }", + "Member": "string Microsoft.Extensions.AI.DataContent.MediaType { get; }", "Stage": "Stable" }, { - "Member": "string Microsoft.Extensions.AI.DataContent.MediaType { get; }", + "Member": "string? Microsoft.Extensions.AI.DataContent.Name { get; set; }", "Stage": "Stable" }, { @@ -1503,20 +1569,20 @@ }, { "Member": "override string Microsoft.Extensions.AI.DelegatingAIFunction.ToString();", - "Stage": "Experimental" + "Stage": "Stable" } ], "Properties": [ { - "Member": "Microsoft.Extensions.AI.AIFunction Microsoft.Extensions.AI.DelegatingAIFunction.InnerFunction { get; }", + "Member": "override System.Collections.Generic.IReadOnlyDictionary Microsoft.Extensions.AI.DelegatingAIFunction.AdditionalProperties { get; }", "Stage": "Stable" }, { - "Member": "override System.Collections.Generic.IReadOnlyDictionary Microsoft.Extensions.AI.DelegatingAIFunction.AdditionalProperties { get; }", + "Member": "override string Microsoft.Extensions.AI.DelegatingAIFunction.Description { get; }", "Stage": "Stable" }, { - "Member": "override string Microsoft.Extensions.AI.DelegatingAIFunction.Description { get; }", + "Member": "Microsoft.Extensions.AI.AIFunction Microsoft.Extensions.AI.DelegatingAIFunction.InnerFunction { get; }", "Stage": "Stable" }, { @@ -1609,6 +1675,38 @@ } ] }, + { + "Type": "class Microsoft.Extensions.AI.DelegatingImageGenerator : Microsoft.Extensions.AI.IImageGenerator, System.IDisposable", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.DelegatingImageGenerator.DelegatingImageGenerator(Microsoft.Extensions.AI.IImageGenerator innerGenerator);", + "Stage": "Experimental" + }, + { + "Member": "void Microsoft.Extensions.AI.DelegatingImageGenerator.Dispose();", + "Stage": "Experimental" + }, + { + "Member": "virtual void Microsoft.Extensions.AI.DelegatingImageGenerator.Dispose(bool disposing);", + "Stage": "Experimental" + }, + { + "Member": "virtual System.Threading.Tasks.Task Microsoft.Extensions.AI.DelegatingImageGenerator.GenerateAsync(Microsoft.Extensions.AI.ImageGenerationRequest request, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "virtual object? Microsoft.Extensions.AI.DelegatingImageGenerator.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.IImageGenerator Microsoft.Extensions.AI.DelegatingImageGenerator.InnerGenerator { get; }", + "Stage": "Experimental" + } + ] + }, { "Type": "class Microsoft.Extensions.AI.DelegatingSpeechToTextClient : Microsoft.Extensions.AI.ISpeechToTextClient, System.IDisposable", "Stage": "Experimental", @@ -1811,6 +1909,46 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.FunctionApprovalRequestContent : Microsoft.Extensions.AI.UserInputRequestContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.FunctionApprovalRequestContent.FunctionApprovalRequestContent(string id, Microsoft.Extensions.AI.FunctionCallContent functionCall);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.FunctionApprovalResponseContent Microsoft.Extensions.AI.FunctionApprovalRequestContent.CreateResponse(bool approved);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.FunctionCallContent Microsoft.Extensions.AI.FunctionApprovalRequestContent.FunctionCall { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.FunctionApprovalResponseContent : Microsoft.Extensions.AI.UserInputResponseContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.FunctionApprovalResponseContent.FunctionApprovalResponseContent(string id, bool approved, Microsoft.Extensions.AI.FunctionCallContent functionCall);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "bool Microsoft.Extensions.AI.FunctionApprovalResponseContent.Approved { get; }", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.FunctionCallContent Microsoft.Extensions.AI.FunctionApprovalResponseContent.FunctionCall { get; }", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.FunctionCallContent : Microsoft.Extensions.AI.AIContent", "Stage": "Stable", @@ -1964,108 +2102,266 @@ ] }, { - "Type": "class Microsoft.Extensions.AI.HostedFileSearchTool : Microsoft.Extensions.AI.AITool", + "Type": "sealed class Microsoft.Extensions.AI.HostedFileContent : Microsoft.Extensions.AI.AIContent", "Stage": "Stable", "Methods": [ { - "Member": "Microsoft.Extensions.AI.HostedFileSearchTool.HostedFileSearchTool();", + "Member": "Microsoft.Extensions.AI.HostedFileContent.HostedFileContent(string fileId);", + "Stage": "Stable" + }, + { + "Member": "bool Microsoft.Extensions.AI.HostedFileContent.HasTopLevelMediaType(string topLevelType);", "Stage": "Stable" } ], "Properties": [ { - "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.HostedFileSearchTool.Inputs { get; set; }", + "Member": "string Microsoft.Extensions.AI.HostedFileContent.FileId { get; set; }", "Stage": "Stable" }, { - "Member": "int? Microsoft.Extensions.AI.HostedFileSearchTool.MaximumResultCount { get; set; }", + "Member": "string? Microsoft.Extensions.AI.HostedFileContent.MediaType { get; set; }", "Stage": "Stable" }, { - "Member": "override string Microsoft.Extensions.AI.HostedFileSearchTool.Name { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "class Microsoft.Extensions.AI.HostedWebSearchTool : Microsoft.Extensions.AI.AITool", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.HostedWebSearchTool.HostedWebSearchTool();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "override string Microsoft.Extensions.AI.HostedWebSearchTool.Name { get; }", + "Member": "string? Microsoft.Extensions.AI.HostedFileContent.Name { get; set; }", "Stage": "Stable" } ] }, { - "Type": "sealed class Microsoft.Extensions.AI.HostedFileContent : Microsoft.Extensions.AI.AIContent", + "Type": "class Microsoft.Extensions.AI.HostedFileSearchTool : Microsoft.Extensions.AI.AITool", "Stage": "Stable", "Methods": [ { - "Member": "Microsoft.Extensions.AI.HostedFileContent.HostedFileContent(string fileId);", - "Stage": "Stable" - }, - { - "Member": "bool Microsoft.Extensions.AI.HostedFileContent.HasTopLevelMediaType(string topLevelType);", + "Member": "Microsoft.Extensions.AI.HostedFileSearchTool.HostedFileSearchTool();", "Stage": "Stable" } ], "Properties": [ { - "Member": "string Microsoft.Extensions.AI.HostedFileContent.FileId { get; set; }", + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.HostedFileSearchTool.Inputs { get; set; }", "Stage": "Stable" }, { - "Member": "string? Microsoft.Extensions.AI.HostedFileContent.MediaType { get; set; }", + "Member": "int? Microsoft.Extensions.AI.HostedFileSearchTool.MaximumResultCount { get; set; }", "Stage": "Stable" }, { - "Member": "string? Microsoft.Extensions.AI.HostedFileContent.Name { get; set; }", + "Member": "override string Microsoft.Extensions.AI.HostedFileSearchTool.Name { get; }", "Stage": "Stable" } ] }, { - "Type": "sealed class Microsoft.Extensions.AI.HostedVectorStoreContent : Microsoft.Extensions.AI.AIContent", - "Stage": "Stable", + "Type": "class Microsoft.Extensions.AI.HostedImageGenerationTool : Microsoft.Extensions.AI.AITool", + "Stage": "Experimental", "Methods": [ { - "Member": "Microsoft.Extensions.AI.HostedVectorStoreContent.HostedVectorStoreContent(string vectorStoreId);", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedImageGenerationTool.HostedImageGenerationTool();", + "Stage": "Experimental" } ], "Properties": [ { - "Member": "string Microsoft.Extensions.AI.HostedVectorStoreContent.VectorStoreId { get; set; }", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.ImageGenerationOptions? Microsoft.Extensions.AI.HostedImageGenerationTool.Options { get; set; }", + "Stage": "Experimental" } ] }, { - "Type": "interface Microsoft.Extensions.AI.IChatClient : System.IDisposable", - "Stage": "Stable", + "Type": "class Microsoft.Extensions.AI.HostedMcpServerTool : Microsoft.Extensions.AI.AITool", + "Stage": "Experimental", "Methods": [ { - "Member": "System.Threading.Tasks.Task Microsoft.Extensions.AI.IChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedMcpServerTool.HostedMcpServerTool(string serverName, string serverAddress);", + "Stage": "Experimental" }, { - "Member": "object? Microsoft.Extensions.AI.IChatClient.GetService(System.Type serviceType, object? serviceKey = null);", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedMcpServerTool.HostedMcpServerTool(string serverName, System.Uri serverUrl);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.HostedMcpServerTool.AllowedTools { get; set; }", + "Stage": "Experimental" }, { - "Member": "System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.IChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ] - }, - { + "Member": "Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode? Microsoft.Extensions.AI.HostedMcpServerTool.ApprovalMode { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.HostedMcpServerTool.AuthorizationToken { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IDictionary? Microsoft.Extensions.AI.HostedMcpServerTool.Headers { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "override string Microsoft.Extensions.AI.HostedMcpServerTool.Name { get; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.HostedMcpServerTool.ServerAddress { get; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.HostedMcpServerTool.ServerDescription { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.HostedMcpServerTool.ServerName { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode : Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode.HostedMcpServerToolAlwaysRequireApprovalMode();", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode.Equals(object? obj);", + "Stage": "Experimental" + }, + { + "Member": "override int Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode.GetHashCode();", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode.RequireSpecific(System.Collections.Generic.IList? alwaysRequireApprovalToolNames, System.Collections.Generic.IList? neverRequireApprovalToolNames);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "static Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode.AlwaysRequire { get; }", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode.NeverRequire { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode : Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode.HostedMcpServerToolNeverRequireApprovalMode();", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode.Equals(object? obj);", + "Stage": "Experimental" + }, + { + "Member": "override int Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode.GetHashCode();", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode : Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode.HostedMcpServerToolRequireSpecificApprovalMode(System.Collections.Generic.IList? alwaysRequireApprovalToolNames, System.Collections.Generic.IList? neverRequireApprovalToolNames);", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode.Equals(object? obj);", + "Stage": "Experimental" + }, + { + "Member": "override int Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode.GetHashCode();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode.AlwaysRequireApprovalToolNames { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode.NeverRequireApprovalToolNames { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.HostedVectorStoreContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.HostedVectorStoreContent.HostedVectorStoreContent(string vectorStoreId);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.HostedVectorStoreContent.VectorStoreId { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.HostedWebSearchTool : Microsoft.Extensions.AI.AITool", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.HostedWebSearchTool.HostedWebSearchTool();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "override string Microsoft.Extensions.AI.HostedWebSearchTool.Name { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.AI.IChatClient : System.IDisposable", + "Stage": "Stable", + "Methods": [ + { + "Member": "System.Threading.Tasks.Task Microsoft.Extensions.AI.IChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "object? Microsoft.Extensions.AI.IChatClient.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.IChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.AI.IChatReducer", + "Stage": "Experimental", + "Methods": [ + { + "Member": "System.Threading.Tasks.Task> Microsoft.Extensions.AI.IChatReducer.ReduceAsync(System.Collections.Generic.IEnumerable messages, System.Threading.CancellationToken cancellationToken);", + "Stage": "Experimental" + } + ] + }, + { "Type": "interface Microsoft.Extensions.AI.IEmbeddingGenerator : System.IDisposable", "Stage": "Stable", "Methods": [ @@ -2085,6 +2381,249 @@ } ] }, + { + "Type": "interface Microsoft.Extensions.AI.IImageGenerator : System.IDisposable", + "Stage": "Experimental", + "Methods": [ + { + "Member": "System.Threading.Tasks.Task Microsoft.Extensions.AI.IImageGenerator.GenerateAsync(Microsoft.Extensions.AI.ImageGenerationRequest request, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "object? Microsoft.Extensions.AI.IImageGenerator.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.ImageGenerationOptions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGenerationOptions.ImageGenerationOptions();", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGenerationOptions.ImageGenerationOptions(Microsoft.Extensions.AI.ImageGenerationOptions? other);", + "Stage": "Experimental" + }, + { + "Member": "virtual Microsoft.Extensions.AI.ImageGenerationOptions Microsoft.Extensions.AI.ImageGenerationOptions.Clone();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.ImageGenerationOptions.AdditionalProperties { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "int? Microsoft.Extensions.AI.ImageGenerationOptions.Count { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Drawing.Size? Microsoft.Extensions.AI.ImageGenerationOptions.ImageSize { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.ImageGenerationOptions.MediaType { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.ImageGenerationOptions.ModelId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Func? Microsoft.Extensions.AI.ImageGenerationOptions.RawRepresentationFactory { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGenerationResponseFormat? Microsoft.Extensions.AI.ImageGenerationOptions.ResponseFormat { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "int? Microsoft.Extensions.AI.ImageGenerationOptions.StreamingCount { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.ImageGenerationRequest", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGenerationRequest.ImageGenerationRequest();", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGenerationRequest.ImageGenerationRequest(string prompt);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGenerationRequest.ImageGenerationRequest(string prompt, System.Collections.Generic.IEnumerable? originalImages);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IEnumerable? Microsoft.Extensions.AI.ImageGenerationRequest.OriginalImages { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.ImageGenerationRequest.Prompt { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.ImageGenerationResponse", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGenerationResponse.ImageGenerationResponse();", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGenerationResponse.ImageGenerationResponse(System.Collections.Generic.IList? contents);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.AI.ImageGenerationResponse.Contents { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "object? Microsoft.Extensions.AI.ImageGenerationResponse.RawRepresentation { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.UsageDetails? Microsoft.Extensions.AI.ImageGenerationResponse.Usage { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "enum Microsoft.Extensions.AI.ImageGenerationResponseFormat", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGenerationResponseFormat.ImageGenerationResponseFormat();", + "Stage": "Experimental" + } + ], + "Fields": [ + { + "Member": "const Microsoft.Extensions.AI.ImageGenerationResponseFormat Microsoft.Extensions.AI.ImageGenerationResponseFormat.Data", + "Stage": "Experimental", + "Value": "1" + }, + { + "Member": "const Microsoft.Extensions.AI.ImageGenerationResponseFormat Microsoft.Extensions.AI.ImageGenerationResponseFormat.Hosted", + "Stage": "Experimental", + "Value": "2" + }, + { + "Member": "const Microsoft.Extensions.AI.ImageGenerationResponseFormat Microsoft.Extensions.AI.ImageGenerationResponseFormat.Uri", + "Stage": "Experimental", + "Value": "0" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.ImageGenerationToolCallContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGenerationToolCallContent.ImageGenerationToolCallContent();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.ImageGenerationToolCallContent.ImageId { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.ImageGenerationToolResultContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGenerationToolResultContent.ImageGenerationToolResultContent();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.ImageGenerationToolResultContent.ImageId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.ImageGenerationToolResultContent.Outputs { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.ImageGeneratorExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static System.Threading.Tasks.Task Microsoft.Extensions.AI.ImageGeneratorExtensions.EditImageAsync(this Microsoft.Extensions.AI.IImageGenerator generator, Microsoft.Extensions.AI.DataContent originalImage, string prompt, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "static System.Threading.Tasks.Task Microsoft.Extensions.AI.ImageGeneratorExtensions.EditImageAsync(this Microsoft.Extensions.AI.IImageGenerator generator, System.ReadOnlyMemory originalImageData, string fileName, string prompt, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "static System.Threading.Tasks.Task Microsoft.Extensions.AI.ImageGeneratorExtensions.EditImagesAsync(this Microsoft.Extensions.AI.IImageGenerator generator, System.Collections.Generic.IEnumerable originalImages, string prompt, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "static System.Threading.Tasks.Task Microsoft.Extensions.AI.ImageGeneratorExtensions.GenerateImagesAsync(this Microsoft.Extensions.AI.IImageGenerator generator, string prompt, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "static object Microsoft.Extensions.AI.ImageGeneratorExtensions.GetRequiredService(this Microsoft.Extensions.AI.IImageGenerator generator, System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + }, + { + "Member": "static TService Microsoft.Extensions.AI.ImageGeneratorExtensions.GetRequiredService(this Microsoft.Extensions.AI.IImageGenerator generator, object? serviceKey = null);", + "Stage": "Experimental" + }, + { + "Member": "static TService? Microsoft.Extensions.AI.ImageGeneratorExtensions.GetService(this Microsoft.Extensions.AI.IImageGenerator generator, object? serviceKey = null);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.ImageGeneratorMetadata", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGeneratorMetadata.ImageGeneratorMetadata(string? providerName = null, System.Uri? providerUri = null, string? defaultModelId = null);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.ImageGeneratorMetadata.DefaultModelId { get; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.ImageGeneratorMetadata.ProviderName { get; }", + "Stage": "Experimental" + }, + { + "Member": "System.Uri? Microsoft.Extensions.AI.ImageGeneratorMetadata.ProviderUri { get; }", + "Stage": "Experimental" + } + ] + }, { "Type": "interface Microsoft.Extensions.AI.ISpeechToTextClient : System.IDisposable", "Stage": "Experimental", @@ -2103,6 +2642,100 @@ } ] }, + { + "Type": "interface Microsoft.Extensions.AI.IToolReductionStrategy", + "Stage": "Experimental", + "Methods": [ + { + "Member": "System.Threading.Tasks.Task> Microsoft.Extensions.AI.IToolReductionStrategy.SelectToolsForRequestAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.McpServerToolApprovalRequestContent : Microsoft.Extensions.AI.UserInputRequestContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.McpServerToolApprovalRequestContent.McpServerToolApprovalRequestContent(string id, Microsoft.Extensions.AI.McpServerToolCallContent toolCall);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.McpServerToolApprovalResponseContent Microsoft.Extensions.AI.McpServerToolApprovalRequestContent.CreateResponse(bool approved);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.McpServerToolCallContent Microsoft.Extensions.AI.McpServerToolApprovalRequestContent.ToolCall { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.McpServerToolApprovalResponseContent : Microsoft.Extensions.AI.UserInputResponseContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.McpServerToolApprovalResponseContent.McpServerToolApprovalResponseContent(string id, bool approved);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "bool Microsoft.Extensions.AI.McpServerToolApprovalResponseContent.Approved { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.McpServerToolCallContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.McpServerToolCallContent.McpServerToolCallContent(string callId, string toolName, string? serverName);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyDictionary? Microsoft.Extensions.AI.McpServerToolCallContent.Arguments { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.McpServerToolCallContent.CallId { get; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.McpServerToolCallContent.ServerName { get; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.McpServerToolCallContent.ToolName { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.McpServerToolResultContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.McpServerToolResultContent.McpServerToolResultContent(string callId);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.McpServerToolResultContent.CallId { get; }", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.McpServerToolResultContent.Output { get; set; }", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.NoneChatToolMode : Microsoft.Extensions.AI.ChatToolMode", "Stage": "Stable", @@ -2145,6 +2778,46 @@ } ] }, + { + "Type": "class Microsoft.Extensions.AI.ResponseContinuationToken", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ResponseContinuationToken.ResponseContinuationToken();", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ResponseContinuationToken.ResponseContinuationToken(System.ReadOnlyMemory bytes);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.ResponseContinuationToken Microsoft.Extensions.AI.ResponseContinuationToken.FromBytes(System.ReadOnlyMemory bytes);", + "Stage": "Experimental" + }, + { + "Member": "virtual System.ReadOnlyMemory Microsoft.Extensions.AI.ResponseContinuationToken.ToBytes();", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.ResponseContinuationToken.Converter", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ResponseContinuationToken.Converter.Converter();", + "Stage": "Experimental" + }, + { + "Member": "override Microsoft.Extensions.AI.ResponseContinuationToken Microsoft.Extensions.AI.ResponseContinuationToken.Converter.Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options);", + "Stage": "Experimental" + }, + { + "Member": "override void Microsoft.Extensions.AI.ResponseContinuationToken.Converter.Write(System.Text.Json.Utf8JsonWriter writer, Microsoft.Extensions.AI.ResponseContinuationToken value, System.Text.Json.JsonSerializerOptions options);", + "Stage": "Experimental" + } + ] + }, { "Type": "static class Microsoft.Extensions.AI.SpeechToTextClientExtensions", "Stage": "Experimental", @@ -2195,6 +2868,10 @@ "Member": "Microsoft.Extensions.AI.SpeechToTextOptions.SpeechToTextOptions();", "Stage": "Experimental" }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextOptions.SpeechToTextOptions(Microsoft.Extensions.AI.SpeechToTextOptions? other);", + "Stage": "Experimental" + }, { "Member": "virtual Microsoft.Extensions.AI.SpeechToTextOptions Microsoft.Extensions.AI.SpeechToTextOptions.Clone();", "Stage": "Experimental" @@ -2284,6 +2961,10 @@ { "Member": "string Microsoft.Extensions.AI.SpeechToTextResponse.Text { get; }", "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.UsageDetails? Microsoft.Extensions.AI.SpeechToTextResponse.Usage { get; set; }", + "Stage": "Experimental" } ] }, @@ -2478,11 +3159,11 @@ ], "Properties": [ { - "Member": "string Microsoft.Extensions.AI.TextReasoningContent.Text { get; set; }", + "Member": "string? Microsoft.Extensions.AI.TextReasoningContent.ProtectedData { get; set; }", "Stage": "Stable" }, { - "Member": "string? Microsoft.Extensions.AI.TextReasoningContent.ProtectedData { get; set; }", + "Member": "string Microsoft.Extensions.AI.TextReasoningContent.Text { get; set; }", "Stage": "Stable" } ] @@ -2498,11 +3179,11 @@ ], "Properties": [ { - "Member": "int? Microsoft.Extensions.AI.TextSpanAnnotatedRegion.StartIndex { get; set; }", + "Member": "int? Microsoft.Extensions.AI.TextSpanAnnotatedRegion.EndIndex { get; set; }", "Stage": "Stable" }, { - "Member": "int? Microsoft.Extensions.AI.TextSpanAnnotatedRegion.EndIndex { get; set; }", + "Member": "int? Microsoft.Extensions.AI.TextSpanAnnotatedRegion.StartIndex { get; set; }", "Stage": "Stable" } ] @@ -2586,6 +3267,38 @@ "Stage": "Stable" } ] + }, + { + "Type": "class Microsoft.Extensions.AI.UserInputRequestContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.UserInputRequestContent.UserInputRequestContent(string id);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.UserInputRequestContent.Id { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.UserInputResponseContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.UserInputResponseContent.UserInputResponseContent(string id);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.UserInputResponseContent.Id { get; }", + "Stage": "Experimental" + } + ] } ] -} +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/Microsoft.Extensions.AI.AzureAIInference.json b/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/Microsoft.Extensions.AI.AzureAIInference.json index e69de29bb2d..02592601650 100644 --- a/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/Microsoft.Extensions.AI.AzureAIInference.json +++ b/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/Microsoft.Extensions.AI.AzureAIInference.json @@ -0,0 +1,23 @@ +{ + "Name": "Microsoft.Extensions.AI.AzureAIInference, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "static class Microsoft.Extensions.AI.AzureAIInferenceExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.IChatClient Microsoft.Extensions.AI.AzureAIInferenceExtensions.AsIChatClient(this Azure.AI.Inference.ChatCompletionsClient chatCompletionsClient, string? modelId = null);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IEmbeddingGenerator> Microsoft.Extensions.AI.AzureAIInferenceExtensions.AsIEmbeddingGenerator(this Azure.AI.Inference.EmbeddingsClient embeddingsClient, string? defaultModelId = null, int? defaultModelDimensions = null);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IEmbeddingGenerator> Microsoft.Extensions.AI.AzureAIInferenceExtensions.AsIEmbeddingGenerator(this Azure.AI.Inference.ImageEmbeddingsClient imageEmbeddingsClient, string? defaultModelId = null, int? defaultModelDimensions = null);", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Console/Microsoft.Extensions.AI.Evaluation.Console.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Console/Microsoft.Extensions.AI.Evaluation.Console.json index 4ccf4435382..4584a091dee 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Console/Microsoft.Extensions.AI.Evaluation.Console.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Console/Microsoft.Extensions.AI.Evaluation.Console.json @@ -1,4 +1,4 @@ { - "Name": "Microsoft.Extensions.AI.Evaluation.Console, Version=9.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AI.Evaluation.Console, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [] } \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json new file mode 100644 index 00000000000..02d2736cdfd --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json @@ -0,0 +1,145 @@ +{ + "Name": "Microsoft.Extensions.AI.Evaluation.NLP, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.BLEUEvaluator();", + "Stage": "Stable" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.BLEUMetricName { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.EvaluationMetricNames { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.BLEUEvaluatorContext(System.Collections.Generic.IEnumerable references);", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.BLEUEvaluatorContext(params string[] references);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.References { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.ReferencesContextName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.F1Evaluator();", + "Stage": "Stable" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.EvaluationMetricNames { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.F1MetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.F1EvaluatorContext(string groundTruth);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.GroundTruth { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.GroundTruthContextName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.GLEUEvaluator();", + "Stage": "Stable" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.EvaluationMetricNames { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.GLEUMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.GLEUEvaluatorContext(System.Collections.Generic.IEnumerable references);", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.GLEUEvaluatorContext(params string[] references);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.References { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.ReferencesContextName { get; }", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json index d09ee7c900a..b3c0a3ae572 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AI.Evaluation.Quality, Version=9.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AI.Evaluation.Quality, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.CoherenceEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", @@ -50,10 +50,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.CompletenessEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.CompletenessEvaluatorContext(string groundTruth) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", "Stage": "Stable", "Methods": [ { @@ -97,10 +94,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.EquivalenceEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.EquivalenceEvaluatorContext(string groundTruth) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", "Stage": "Stable", "Methods": [ { @@ -168,10 +162,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.GroundednessEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.GroundednessEvaluatorContext(string groundingContext) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", "Stage": "Stable", "Methods": [ { @@ -190,6 +181,54 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.IntentResolutionEvaluator();", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.EvaluationMetricNames { get; }", + "Stage": "Experimental" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.IntentResolutionMetricName { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.IntentResolutionEvaluatorContext(params Microsoft.Extensions.AI.AITool[] toolDefinitions);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.IntentResolutionEvaluatorContext(System.Collections.Generic.IEnumerable toolDefinitions);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.ToolDefinitions { get; }", + "Stage": "Experimental" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.ToolDefinitionsContextName { get; }", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.RelevanceEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", "Stage": "Stable", @@ -275,11 +314,11 @@ "Stage": "Stable", "Methods": [ { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.RetrievalEvaluatorContext.RetrievalEvaluatorContext(System.Collections.Generic.IEnumerable retrievedContextChunks);", + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.RetrievalEvaluatorContext.RetrievalEvaluatorContext(params string[] retrievedContextChunks);", "Stage": "Stable" }, { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.RetrievalEvaluatorContext.RetrievalEvaluatorContext(params string[] retrievedContextChunks);", + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.RetrievalEvaluatorContext.RetrievalEvaluatorContext(System.Collections.Generic.IEnumerable retrievedContextChunks);", "Stage": "Stable" } ], @@ -293,6 +332,102 @@ "Stage": "Stable" } ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.TaskAdherenceEvaluator();", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.EvaluationMetricNames { get; }", + "Stage": "Experimental" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.TaskAdherenceMetricName { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.TaskAdherenceEvaluatorContext(params Microsoft.Extensions.AI.AITool[] toolDefinitions);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.TaskAdherenceEvaluatorContext(System.Collections.Generic.IEnumerable toolDefinitions);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.ToolDefinitions { get; }", + "Stage": "Experimental" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.ToolDefinitionsContextName { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.ToolCallAccuracyEvaluator();", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.EvaluationMetricNames { get; }", + "Stage": "Experimental" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.ToolCallAccuracyMetricName { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolCallAccuracyEvaluatorContext(params Microsoft.Extensions.AI.AITool[] toolDefinitions);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolCallAccuracyEvaluatorContext(System.Collections.Generic.IEnumerable toolDefinitions);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolDefinitions { get; }", + "Stage": "Experimental" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolDefinitionsContextName { get; }", + "Stage": "Experimental" + } + ] } ] } \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json index 80e1bcb9377..ac9962e5708 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AI.Evaluation.Reporting.Azure, Version=9.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AI.Evaluation.Reporting.Azure, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageReportingConfiguration", @@ -12,10 +12,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResponseCacheProvider : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResponseCacheProvider", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResponseCacheProvider(Azure.Storage.Files.DataLake.DataLakeDirectoryClient client, System.TimeSpan? timeToLiveForCacheEntries = null) : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResponseCacheProvider", "Stage": "Stable", "Methods": [ { @@ -37,10 +34,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResultStore : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResultStore", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResultStore(Azure.Storage.Files.DataLake.DataLakeDirectoryClient client) : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResultStore", "Stage": "Stable", "Methods": [ { diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json new file mode 100644 index 00000000000..d9a248378bb --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json @@ -0,0 +1,329 @@ +{ + "Name": "Microsoft.Extensions.AI.Evaluation.Safety, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator.CodeVulnerabilityEvaluator();", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator.CodeVulnerabilityMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator.ContentHarmEvaluator(System.Collections.Generic.IDictionary? metricNames = null);", + "Stage": "Stable" + }, + { + "Member": "sealed override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator(string contentSafetyServiceAnnotationTask, System.Collections.Generic.IDictionary metricNames) : Microsoft.Extensions.AI.Evaluation.IEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.ContentSafetyEvaluator(string contentSafetyServiceAnnotationTask, System.Collections.Generic.IDictionary metricNames);", + "Stage": "Stable" + }, + { + "Member": "virtual System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.EvaluateContentSafetyAsync(Microsoft.Extensions.AI.IChatClient contentSafetyServiceChatClient, System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, System.Collections.Generic.IEnumerable? additionalContext = null, string contentSafetyServicePayloadFormat = \"HumanSystem\", bool includeMetricNamesInContentSafetyServicePayload = true, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "virtual System.Collections.Generic.IReadOnlyList? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.FilterAdditionalContext(System.Collections.Generic.IEnumerable? additionalContext);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.EvaluationMetricNames { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ContentSafetyServiceConfiguration(Azure.Core.TokenCredential credential, string subscriptionId, string resourceGroupName, string projectName, System.Net.Http.HttpClient? httpClient = null, int timeoutInSecondsForRetries = 300);", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ContentSafetyServiceConfiguration(Azure.Core.TokenCredential credential, System.Uri endpoint, System.Net.Http.HttpClient? httpClient = null, int timeoutInSecondsForRetries = 300);", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ContentSafetyServiceConfiguration(Azure.Core.TokenCredential credential, string endpointUrl, System.Net.Http.HttpClient? httpClient = null, int timeoutInSecondsForRetries = 300);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "Azure.Core.TokenCredential Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.Credential { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Uri? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.Endpoint { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Net.Http.HttpClient? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.HttpClient { get; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ProjectName { get; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ResourceGroupName { get; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.SubscriptionId { get; }", + "Stage": "Stable" + }, + { + "Member": "int Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.TimeoutInSecondsForRetries { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfigurationExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.Evaluation.ChatConfiguration Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfigurationExtensions.ToChatConfiguration(this Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration contentSafetyServiceConfiguration, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? originalChatConfiguration = null);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.Evaluation.ChatConfiguration Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfigurationExtensions.ToChatConfiguration(this Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration contentSafetyServiceConfiguration, Microsoft.Extensions.AI.IChatClient originalChatClient);", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.GroundednessProEvaluator();", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IReadOnlyList? Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.FilterAdditionalContext(System.Collections.Generic.IEnumerable? additionalContext);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.GroundednessProMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext(string groundingContext) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext.GroundednessProEvaluatorContext(string groundingContext);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext.GroundingContext { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext.GroundingContextName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.HateAndUnfairnessEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.HateAndUnfairnessEvaluator.HateAndUnfairnessEvaluator();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.HateAndUnfairnessEvaluator.HateAndUnfairnessMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.IndirectAttackEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.IndirectAttackEvaluator.IndirectAttackEvaluator();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.IndirectAttackEvaluator.IndirectAttackMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedMaterialEvaluator();", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedArtworkMetricName { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedFictionalCharactersMetricName { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedLogosAndBrandsMetricName { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedMaterialMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.SelfHarmEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.SelfHarmEvaluator.SelfHarmEvaluator();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.SelfHarmEvaluator.SelfHarmMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.SexualEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.SexualEvaluator.SexualEvaluator();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.SexualEvaluator.SexualMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.UngroundedAttributesEvaluator();", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IReadOnlyList? Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.FilterAdditionalContext(System.Collections.Generic.IEnumerable? additionalContext);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.UngroundedAttributesMetricName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext(string groundingContext) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext.UngroundedAttributesEvaluatorContext(string groundingContext);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext.GroundingContext { get; }", + "Stage": "Stable" + }, + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext.GroundingContextName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.ViolenceEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ViolenceEvaluator.ViolenceEvaluator();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ViolenceEvaluator.ViolenceMetricName { get; }", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json index d9b464ef6b4..d057ca8cc24 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AI.Evaluation, Version=9.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AI.Evaluation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.AI.Evaluation.BooleanMetric : Microsoft.Extensions.AI.Evaluation.EvaluationMetric", @@ -12,10 +12,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.ChatConfiguration", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.ChatConfiguration(Microsoft.Extensions.AI.IChatClient chatClient)", "Stage": "Stable", "Methods": [ { @@ -115,10 +112,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationDiagnostic", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationDiagnostic(Microsoft.Extensions.AI.Evaluation.EvaluationDiagnosticSeverity severity, string message)", "Stage": "Stable", "Methods": [ { @@ -181,10 +175,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "class Microsoft.Extensions.AI.Evaluation.EvaluationMetric", + "Type": "class Microsoft.Extensions.AI.Evaluation.EvaluationMetric(string name, string? reason = null)", "Stage": "Stable", "Methods": [ { @@ -278,10 +269,7 @@ ] }, { - // After generating the baseline, manually edit this file to remove primary constructor portion - // This is needed until ICSharpCode.Decompiler adds support for primary constructors - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationMetricInterpretation", + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationMetricInterpretation(Microsoft.Extensions.AI.Evaluation.EvaluationRating rating = Microsoft.Extensions.AI.Evaluation.EvaluationRating.Unknown, bool failed = false, string? reason = null)", "Stage": "Stable", "Methods": [ { diff --git a/src/Libraries/Microsoft.Extensions.AI.OpenAI/Microsoft.Extensions.AI.OpenAI.json b/src/Libraries/Microsoft.Extensions.AI.OpenAI/Microsoft.Extensions.AI.OpenAI.json index e69de29bb2d..23fa9fb45e0 100644 --- a/src/Libraries/Microsoft.Extensions.AI.OpenAI/Microsoft.Extensions.AI.OpenAI.json +++ b/src/Libraries/Microsoft.Extensions.AI.OpenAI/Microsoft.Extensions.AI.OpenAI.json @@ -0,0 +1,143 @@ +{ + "Name": "Microsoft.Extensions.AI.OpenAI, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "static class OpenAI.Assistants.MicrosoftExtensionsAIAssistantsExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static OpenAI.Assistants.FunctionToolDefinition OpenAI.Assistants.MicrosoftExtensionsAIAssistantsExtensions.AsOpenAIAssistantsFunctionToolDefinition(this Microsoft.Extensions.AI.AIFunctionDeclaration function);", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class OpenAI.Chat.MicrosoftExtensionsAIChatExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static System.Collections.Generic.IEnumerable OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsChatMessages(this System.Collections.Generic.IEnumerable messages);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.ChatResponse OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsChatResponse(this OpenAI.Chat.ChatCompletion chatCompletion, OpenAI.Chat.ChatCompletionOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static System.Collections.Generic.IAsyncEnumerable OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsChatResponseUpdatesAsync(this System.Collections.Generic.IAsyncEnumerable chatCompletionUpdates, OpenAI.Chat.ChatCompletionOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Chat.ChatCompletion OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatCompletion(this Microsoft.Extensions.AI.ChatResponse response);", + "Stage": "Stable" + }, + { + "Member": "static System.Collections.Generic.IEnumerable OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatMessages(this System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Chat.ChatResponseFormat? OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatResponseFormat(this Microsoft.Extensions.AI.ChatResponseFormat? format, Microsoft.Extensions.AI.ChatOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Chat.ChatTool OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIChatTool(this Microsoft.Extensions.AI.AIFunctionDeclaration function);", + "Stage": "Stable" + }, + { + "Member": "static System.Collections.Generic.IAsyncEnumerable OpenAI.Chat.MicrosoftExtensionsAIChatExtensions.AsOpenAIStreamingChatCompletionUpdatesAsync(this System.Collections.Generic.IAsyncEnumerable responseUpdates, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class OpenAI.Realtime.MicrosoftExtensionsAIRealtimeExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static OpenAI.Realtime.ConversationFunctionTool OpenAI.Realtime.MicrosoftExtensionsAIRealtimeExtensions.AsOpenAIConversationFunctionTool(this Microsoft.Extensions.AI.AIFunctionDeclaration function);", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static void OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.Add(this System.Collections.Generic.IList tools, OpenAI.Responses.ResponseTool tool);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.AITool OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsAITool(this OpenAI.Responses.ResponseTool tool);", + "Stage": "Stable" + }, + { + "Member": "static System.Collections.Generic.IEnumerable OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsChatMessages(this System.Collections.Generic.IEnumerable items);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.ChatResponse OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsChatResponse(this OpenAI.Responses.OpenAIResponse response, OpenAI.Responses.ResponseCreationOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static System.Collections.Generic.IAsyncEnumerable OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsChatResponseUpdatesAsync(this System.Collections.Generic.IAsyncEnumerable responseUpdates, OpenAI.Responses.ResponseCreationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Responses.OpenAIResponse OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponse(this Microsoft.Extensions.AI.ChatResponse response, Microsoft.Extensions.AI.ChatOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static System.Collections.Generic.IEnumerable OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponseItems(this System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Responses.ResponseTextFormat? OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponseTextFormat(this Microsoft.Extensions.AI.ChatResponseFormat? format, Microsoft.Extensions.AI.ChatOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Responses.FunctionTool OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponseTool(this Microsoft.Extensions.AI.AIFunctionDeclaration function);", + "Stage": "Stable" + }, + { + "Member": "static OpenAI.Responses.ResponseTool? OpenAI.Responses.MicrosoftExtensionsAIResponsesExtensions.AsOpenAIResponseTool(this Microsoft.Extensions.AI.AITool tool);", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.OpenAIClientExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.IChatClient Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(this OpenAI.Chat.ChatClient chatClient);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IChatClient Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(this OpenAI.Responses.OpenAIResponseClient responseClient);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IChatClient Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(this OpenAI.Assistants.AssistantClient assistantClient, string assistantId, string? threadId = null);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IChatClient Microsoft.Extensions.AI.OpenAIClientExtensions.AsIChatClient(this OpenAI.Assistants.AssistantClient assistantClient, OpenAI.Assistants.Assistant assistant, string? threadId = null);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IEmbeddingGenerator> Microsoft.Extensions.AI.OpenAIClientExtensions.AsIEmbeddingGenerator(this OpenAI.Embeddings.EmbeddingClient embeddingClient, int? defaultModelDimensions = null);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.AI.IImageGenerator Microsoft.Extensions.AI.OpenAIClientExtensions.AsIImageGenerator(this OpenAI.Images.ImageClient imageClient);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.ISpeechToTextClient Microsoft.Extensions.AI.OpenAIClientExtensions.AsISpeechToTextClient(this OpenAI.Audio.AudioClient audioClient);", + "Stage": "Experimental" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json b/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json index 45b72f0aad1..987979c33cb 100644 --- a/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json +++ b/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AI, Version=9.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AI, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "abstract class Microsoft.Extensions.AI.CachingChatClient : Microsoft.Extensions.AI.DelegatingChatClient", @@ -10,14 +10,11 @@ "Stage": "Stable" }, { - // After generating the baseline, manually edit this file to have 'params' instead of 'scoped' - // This is needed until ICSharpCode.Decompiler adds params collection support - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Member": "abstract string Microsoft.Extensions.AI.CachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, params System.ReadOnlySpan additionalValues);", + "Member": "virtual bool Microsoft.Extensions.AI.CachingChatClient.EnableCaching(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options);", "Stage": "Stable" }, { - "Member": "virtual bool Microsoft.Extensions.AI.CachingChatClient.EnableCaching(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options);", + "Member": "abstract string Microsoft.Extensions.AI.CachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, scoped System.ReadOnlySpan additionalValues);", "Stage": "Stable" }, { @@ -65,10 +62,7 @@ "Stage": "Stable" }, { - // After generating the baseline, manually edit this file to have 'params' instead of 'scoped' - // This is needed until ICSharpCode.Decompiler adds params collection support - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Member": "abstract string Microsoft.Extensions.AI.CachingEmbeddingGenerator.GetCacheKey(params System.ReadOnlySpan values);", + "Member": "abstract string Microsoft.Extensions.AI.CachingEmbeddingGenerator.GetCacheKey(scoped System.ReadOnlySpan values);", "Stage": "Stable" }, { @@ -147,6 +141,16 @@ } ] }, + { + "Type": "static class Microsoft.Extensions.AI.ChatClientBuilderToolReductionExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ChatClientBuilder Microsoft.Extensions.AI.ChatClientBuilderToolReductionExtensions.UseToolReduction(this Microsoft.Extensions.AI.ChatClientBuilder builder, Microsoft.Extensions.AI.IToolReductionStrategy strategy);", + "Stage": "Experimental" + } + ] + }, { "Type": "static class Microsoft.Extensions.AI.ChatClientStructuredOutputExtensions", "Stage": "Stable", @@ -249,6 +253,30 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.ConfigureOptionsImageGenerator : Microsoft.Extensions.AI.DelegatingImageGenerator", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ConfigureOptionsImageGenerator.ConfigureOptionsImageGenerator(Microsoft.Extensions.AI.IImageGenerator innerGenerator, System.Action configure);", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.ConfigureOptionsImageGenerator.GenerateAsync(Microsoft.Extensions.AI.ImageGenerationRequest request, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.ConfigureOptionsImageGeneratorBuilderExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.AI.ConfigureOptionsImageGeneratorBuilderExtensions.ConfigureOptions(this Microsoft.Extensions.AI.ImageGeneratorBuilder builder, System.Action configure);", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.ConfigureOptionsSpeechToTextClient : Microsoft.Extensions.AI.DelegatingSpeechToTextClient", "Stage": "Experimental", @@ -286,10 +314,7 @@ "Stage": "Stable" }, { - // After generating the baseline, manually edit this file to have 'params' instead of 'scoped' - // This is needed until ICSharpCode.Decompiler adds params collection support - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Member": "override string Microsoft.Extensions.AI.DistributedCachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, params System.ReadOnlySpan additionalValues);", + "Member": "override string Microsoft.Extensions.AI.DistributedCachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, scoped System.ReadOnlySpan additionalValues);", "Stage": "Stable" }, { @@ -339,10 +364,7 @@ "Stage": "Stable" }, { - // After generating the baseline, manually edit this file to have 'params' instead of 'scoped' - // This is needed until ICSharpCode.Decompiler adds params collection support - // See: https://github.com/icsharpcode/ILSpy/issues/829 - "Member": "override string Microsoft.Extensions.AI.DistributedCachingEmbeddingGenerator.GetCacheKey(params System.ReadOnlySpan values);", + "Member": "override string Microsoft.Extensions.AI.DistributedCachingEmbeddingGenerator.GetCacheKey(scoped System.ReadOnlySpan values);", "Stage": "Stable" }, { @@ -437,6 +459,42 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.EmbeddingToolReductionStrategy : Microsoft.Extensions.AI.IToolReductionStrategy", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.EmbeddingToolReductionStrategy(Microsoft.Extensions.AI.IEmbeddingGenerator> embeddingGenerator, int toolLimit);", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.Task> Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.SelectToolsForRequestAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Func Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.IsRequiredTool { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Func, System.Threading.Tasks.ValueTask> Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.MessagesEmbeddingTextSelector { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "bool Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.PreserveOriginalOrdering { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Func, System.ReadOnlyMemory, float> Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.Similarity { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Func Microsoft.Extensions.AI.EmbeddingToolReductionStrategy.ToolEmbeddingTextSelector { get; set; }", + "Stage": "Experimental" + } + ] + }, { "Type": "class Microsoft.Extensions.AI.FunctionInvocationContext", "Stage": "Stable", @@ -616,6 +674,123 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.ImageGeneratingChatClient : Microsoft.Extensions.AI.DelegatingChatClient", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGeneratingChatClient.ImageGeneratingChatClient(Microsoft.Extensions.AI.IChatClient innerClient, Microsoft.Extensions.AI.IImageGenerator imageGenerator, Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling dataContentHandling = Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling.AllImages);", + "Stage": "Experimental" + }, + { + "Member": "override void Microsoft.Extensions.AI.ImageGeneratingChatClient.Dispose(bool disposing);", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.ImageGeneratingChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.ImageGeneratingChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "Type": "enum Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling.DataContentHandling();", + "Stage": "Experimental" + } + ], + "Fields": [ + { + "Member": "const Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling.AllImages", + "Stage": "Experimental", + "Value": "1" + }, + { + "Member": "const Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling.GeneratedImages", + "Stage": "Experimental", + "Value": "2" + }, + { + "Member": "const Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling Microsoft.Extensions.AI.ImageGeneratingChatClient.DataContentHandling.None", + "Stage": "Experimental", + "Value": "0" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.ImageGeneratingChatClientBuilderExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ChatClientBuilder Microsoft.Extensions.AI.ImageGeneratingChatClientBuilderExtensions.UseImageGeneration(this Microsoft.Extensions.AI.ChatClientBuilder builder, Microsoft.Extensions.AI.IImageGenerator? imageGenerator = null, System.Action? configure = null);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.ImageGeneratorBuilder", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ImageGeneratorBuilder.ImageGeneratorBuilder(Microsoft.Extensions.AI.IImageGenerator innerGenerator);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGeneratorBuilder.ImageGeneratorBuilder(System.Func innerGeneratorFactory);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.IImageGenerator Microsoft.Extensions.AI.ImageGeneratorBuilder.Build(System.IServiceProvider? services = null);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.AI.ImageGeneratorBuilder.Use(System.Func generatorFactory);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.AI.ImageGeneratorBuilder.Use(System.Func generatorFactory);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.ImageGeneratorBuilderImageGeneratorExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.AI.ImageGeneratorBuilderImageGeneratorExtensions.AsBuilder(this Microsoft.Extensions.AI.IImageGenerator innerGenerator);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.DependencyInjection.ImageGeneratorBuilderServiceCollectionExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.DependencyInjection.ImageGeneratorBuilderServiceCollectionExtensions.AddImageGenerator(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Microsoft.Extensions.AI.IImageGenerator innerGenerator, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.DependencyInjection.ImageGeneratorBuilderServiceCollectionExtensions.AddImageGenerator(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, System.Func innerGeneratorFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.DependencyInjection.ImageGeneratorBuilderServiceCollectionExtensions.AddKeyedImageGenerator(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, object? serviceKey, Microsoft.Extensions.AI.IImageGenerator innerGenerator, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.DependencyInjection.ImageGeneratorBuilderServiceCollectionExtensions.AddKeyedImageGenerator(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, object? serviceKey, System.Func innerGeneratorFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", + "Stage": "Experimental" + } + ] + }, { "Type": "class Microsoft.Extensions.AI.LoggingChatClient : Microsoft.Extensions.AI.DelegatingChatClient", "Stage": "Stable", @@ -680,6 +855,36 @@ } ] }, + { + "Type": "class Microsoft.Extensions.AI.LoggingImageGenerator : Microsoft.Extensions.AI.DelegatingImageGenerator", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.LoggingImageGenerator.LoggingImageGenerator(Microsoft.Extensions.AI.IImageGenerator innerGenerator, Microsoft.Extensions.Logging.ILogger logger);", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.LoggingImageGenerator.GenerateAsync(Microsoft.Extensions.AI.ImageGenerationRequest request, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Text.Json.JsonSerializerOptions Microsoft.Extensions.AI.LoggingImageGenerator.JsonSerializerOptions { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.LoggingImageGeneratorBuilderExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.AI.LoggingImageGeneratorBuilderExtensions.UseLogging(this Microsoft.Extensions.AI.ImageGeneratorBuilder builder, Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory = null, System.Action? configure = null);", + "Stage": "Experimental" + } + ] + }, { "Type": "class Microsoft.Extensions.AI.LoggingSpeechToTextClient : Microsoft.Extensions.AI.DelegatingSpeechToTextClient", "Stage": "Experimental", @@ -714,6 +919,20 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.MessageCountingChatReducer : Microsoft.Extensions.AI.IChatReducer", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.MessageCountingChatReducer.MessageCountingChatReducer(int targetCount);", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.Task> Microsoft.Extensions.AI.MessageCountingChatReducer.ReduceAsync(System.Collections.Generic.IEnumerable messages, System.Threading.CancellationToken cancellationToken);", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.OpenTelemetryChatClient : Microsoft.Extensions.AI.DelegatingChatClient", "Stage": "Stable", @@ -798,6 +1017,114 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.OpenTelemetryImageGenerator : Microsoft.Extensions.AI.DelegatingImageGenerator", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.OpenTelemetryImageGenerator.OpenTelemetryImageGenerator(Microsoft.Extensions.AI.IImageGenerator innerGenerator, Microsoft.Extensions.Logging.ILogger? logger = null, string? sourceName = null);", + "Stage": "Experimental" + }, + { + "Member": "override void Microsoft.Extensions.AI.OpenTelemetryImageGenerator.Dispose(bool disposing);", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.OpenTelemetryImageGenerator.GenerateAsync(Microsoft.Extensions.AI.ImageGenerationRequest request, Microsoft.Extensions.AI.ImageGenerationOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "override object? Microsoft.Extensions.AI.OpenTelemetryImageGenerator.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "bool Microsoft.Extensions.AI.OpenTelemetryImageGenerator.EnableSensitiveData { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.OpenTelemetryImageGeneratorBuilderExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ImageGeneratorBuilder Microsoft.Extensions.AI.OpenTelemetryImageGeneratorBuilderExtensions.UseOpenTelemetry(this Microsoft.Extensions.AI.ImageGeneratorBuilder builder, Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory = null, string? sourceName = null, System.Action? configure = null);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient : Microsoft.Extensions.AI.DelegatingSpeechToTextClient", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient.OpenTelemetrySpeechToTextClient(Microsoft.Extensions.AI.ISpeechToTextClient innerClient, Microsoft.Extensions.Logging.ILogger? logger = null, string? sourceName = null);", + "Stage": "Experimental" + }, + { + "Member": "override void Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient.Dispose(bool disposing);", + "Stage": "Experimental" + }, + { + "Member": "override object? Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient.GetStreamingTextAsync(System.IO.Stream audioSpeechStream, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient.GetTextAsync(System.IO.Stream audioSpeechStream, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "bool Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClient.EnableSensitiveData { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClientBuilderExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextClientBuilder Microsoft.Extensions.AI.OpenTelemetrySpeechToTextClientBuilderExtensions.UseOpenTelemetry(this Microsoft.Extensions.AI.SpeechToTextClientBuilder builder, Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory = null, string? sourceName = null, System.Action? configure = null);", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.ReducingChatClient : Microsoft.Extensions.AI.DelegatingChatClient", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ReducingChatClient.ReducingChatClient(Microsoft.Extensions.AI.IChatClient innerClient, Microsoft.Extensions.AI.IChatReducer reducer);", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.ReducingChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.ReducingChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.ReducingChatClientBuilderExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.ChatClientBuilder Microsoft.Extensions.AI.ReducingChatClientBuilderExtensions.UseChatReducer(this Microsoft.Extensions.AI.ChatClientBuilder builder, Microsoft.Extensions.AI.IChatReducer? reducer = null, System.Action? configure = null);", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.SpeechToTextClientBuilder", "Stage": "Experimental", @@ -829,11 +1156,11 @@ "Stage": "Experimental", "Methods": [ { - "Member": "static Microsoft.Extensions.AI.SpeechToTextClientBuilder Microsoft.Extensions.DependencyInjection.SpeechToTextClientBuilderServiceCollectionExtensions.AddKeyedSpeechToTextClient(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, object serviceKey, Microsoft.Extensions.AI.ISpeechToTextClient innerClient, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", + "Member": "static Microsoft.Extensions.AI.SpeechToTextClientBuilder Microsoft.Extensions.DependencyInjection.SpeechToTextClientBuilderServiceCollectionExtensions.AddKeyedSpeechToTextClient(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, object? serviceKey, Microsoft.Extensions.AI.ISpeechToTextClient innerClient, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.AI.SpeechToTextClientBuilder Microsoft.Extensions.DependencyInjection.SpeechToTextClientBuilderServiceCollectionExtensions.AddKeyedSpeechToTextClient(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, object serviceKey, System.Func innerClientFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", + "Member": "static Microsoft.Extensions.AI.SpeechToTextClientBuilder Microsoft.Extensions.DependencyInjection.SpeechToTextClientBuilderServiceCollectionExtensions.AddKeyedSpeechToTextClient(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, object? serviceKey, System.Func innerClientFactory, Microsoft.Extensions.DependencyInjection.ServiceLifetime lifetime = Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton);", "Stage": "Experimental" }, { @@ -855,6 +1182,44 @@ "Stage": "Experimental" } ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.SummarizingChatReducer : Microsoft.Extensions.AI.IChatReducer", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.SummarizingChatReducer.SummarizingChatReducer(Microsoft.Extensions.AI.IChatClient chatClient, int targetCount, int? threshold);", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.Task> Microsoft.Extensions.AI.SummarizingChatReducer.ReduceAsync(System.Collections.Generic.IEnumerable messages, System.Threading.CancellationToken cancellationToken);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.SummarizingChatReducer.SummarizationPrompt { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.ToolReducingChatClient : Microsoft.Extensions.AI.DelegatingChatClient", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.ToolReducingChatClient.ToolReducingChatClient(Microsoft.Extensions.AI.IChatClient innerClient, Microsoft.Extensions.AI.IToolReductionStrategy strategy);", + "Stage": "Experimental" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.ToolReducingChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.ToolReducingChatClient.GetStreamingResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] } ] -} +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json b/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json index ecdcf8916fa..cc11d33237b 100644 --- a/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json +++ b/src/Libraries/Microsoft.Extensions.AmbientMetadata.Application/Microsoft.Extensions.AmbientMetadata.Application.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AmbientMetadata.Application, Version=9.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AmbientMetadata.Application, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.AmbientMetadata.ApplicationMetadata", diff --git a/src/Libraries/Microsoft.Extensions.AmbientMetadata.Build/Microsoft.Extensions.AmbientMetadata.Build.json b/src/Libraries/Microsoft.Extensions.AmbientMetadata.Build/Microsoft.Extensions.AmbientMetadata.Build.json new file mode 100644 index 00000000000..519b5726ba3 --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.AmbientMetadata.Build/Microsoft.Extensions.AmbientMetadata.Build.json @@ -0,0 +1,47 @@ +{ + "Name": "Microsoft.Extensions.AmbientMetadata.Build, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "class Microsoft.Extensions.AmbientMetadata.BuildMetadata", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AmbientMetadata.BuildMetadata.BuildMetadata();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AmbientMetadata.BuildMetadata.BuildId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AmbientMetadata.BuildMetadata.BuildNumber { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AmbientMetadata.BuildMetadata.SourceBranchName { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AmbientMetadata.BuildMetadata.SourceVersion { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.DependencyInjection.BuildMetadataServiceCollectionExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.BuildMetadataServiceCollectionExtensions.AddBuildMetadata(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.Configuration.IConfigurationSection section);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.BuildMetadataServiceCollectionExtensions.AddBuildMetadata(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure);", + "Stage": "Experimental" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json b/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json index 10e393a4766..8c4353f05b0 100644 --- a/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json +++ b/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.AsyncState, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.AsyncState, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.AsyncStateExtensions", @@ -61,7 +61,7 @@ }, { "Type": "interface Microsoft.Extensions.AsyncState.IAsyncLocalContext : Microsoft.Extensions.AsyncState.IAsyncContext where T : class", - "Stage": "Experimental" + "Stage": "Stable" }, { "Type": "interface Microsoft.Extensions.AsyncState.IAsyncState", diff --git a/src/Libraries/Microsoft.Extensions.Caching.Hybrid/Microsoft.Extensions.Caching.Hybrid.json b/src/Libraries/Microsoft.Extensions.Caching.Hybrid/Microsoft.Extensions.Caching.Hybrid.json index 10be31168ba..70331320786 100644 --- a/src/Libraries/Microsoft.Extensions.Caching.Hybrid/Microsoft.Extensions.Caching.Hybrid.json +++ b/src/Libraries/Microsoft.Extensions.Caching.Hybrid/Microsoft.Extensions.Caching.Hybrid.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Caching.Hybrid, Version=9.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Caching.Hybrid, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.HybridCacheBuilderExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json b/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json index 23b530ae2a9..a72c8371f5e 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json +++ b/src/Libraries/Microsoft.Extensions.Compliance.Abstractions/Microsoft.Extensions.Compliance.Abstractions.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Compliance.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Compliance.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "readonly struct Microsoft.Extensions.Compliance.Classification.DataClassification : System.IEquatable", @@ -123,6 +123,32 @@ } ] }, + { + "Type": "class Microsoft.Extensions.Compliance.Classification.DataClassificationTypeConverter : System.ComponentModel.TypeConverter", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.Compliance.Classification.DataClassificationTypeConverter.DataClassificationTypeConverter();", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.Compliance.Classification.DataClassificationTypeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Type sourceType);", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.Compliance.Classification.DataClassificationTypeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Type? destinationType);", + "Stage": "Experimental" + }, + { + "Member": "override object? Microsoft.Extensions.Compliance.Classification.DataClassificationTypeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object value);", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.Compliance.Classification.DataClassificationTypeConverter.IsValid(System.ComponentModel.ITypeDescriptorContext? context, object? value);", + "Stage": "Experimental" + } + ] + }, { "Type": "interface Microsoft.Extensions.Compliance.Redaction.IRedactionBuilder", "Stage": "Stable", diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json b/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json index 7c646a7e9b1..487120f0d54 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json +++ b/src/Libraries/Microsoft.Extensions.Compliance.Redaction/Microsoft.Extensions.Compliance.Redaction.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Compliance.Redaction, Version=8.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Compliance.Redaction, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Compliance.Redaction.ErasingRedactor : Microsoft.Extensions.Compliance.Redaction.Redactor", diff --git a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json index 4d709edce76..6fef00b2e6f 100644 --- a/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Compliance.Testing/Microsoft.Extensions.Compliance.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Compliance.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Compliance.Testing, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Compliance.Redaction.FakeRedactionBuilderExtensions", diff --git a/src/Libraries/Microsoft.Extensions.DataIngestion.Abstractions/Microsoft.Extensions.DataIngestion.Abstractions.json b/src/Libraries/Microsoft.Extensions.DataIngestion.Abstractions/Microsoft.Extensions.DataIngestion.Abstractions.json new file mode 100644 index 00000000000..568e5a2f7da --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.DataIngestion.Abstractions/Microsoft.Extensions.DataIngestion.Abstractions.json @@ -0,0 +1,275 @@ +{ + "Name": "Microsoft.Extensions.DataIngestion.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionChunk", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionChunk.IngestionChunk(T content, Microsoft.Extensions.DataIngestion.IngestionDocument document, string? context = null);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "T Microsoft.Extensions.DataIngestion.IngestionChunk.Content { get; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.DataIngestion.IngestionChunk.Context { get; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocument Microsoft.Extensions.DataIngestion.IngestionChunk.Document { get; }", + "Stage": "Stable" + }, + { + "Member": "bool Microsoft.Extensions.DataIngestion.IngestionChunk.HasMetadata { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IDictionary Microsoft.Extensions.DataIngestion.IngestionChunk.Metadata { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.DataIngestion.IngestionChunker", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionChunker.IngestionChunker();", + "Stage": "Stable" + }, + { + "Member": "abstract System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.IngestionChunker.ProcessAsync(Microsoft.Extensions.DataIngestion.IngestionDocument document, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.DataIngestion.IngestionChunkProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionChunkProcessor.IngestionChunkProcessor();", + "Stage": "Stable" + }, + { + "Member": "abstract System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.IngestionChunkProcessor.ProcessAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.DataIngestion.IngestionChunkWriter : System.IDisposable", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionChunkWriter.IngestionChunkWriter();", + "Stage": "Stable" + }, + { + "Member": "void Microsoft.Extensions.DataIngestion.IngestionChunkWriter.Dispose();", + "Stage": "Stable" + }, + { + "Member": "virtual void Microsoft.Extensions.DataIngestion.IngestionChunkWriter.Dispose(bool disposing);", + "Stage": "Stable" + }, + { + "Member": "abstract System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.IngestionChunkWriter.WriteAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocument", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocument.IngestionDocument(string identifier);", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IEnumerable Microsoft.Extensions.DataIngestion.IngestionDocument.EnumerateContent();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.DataIngestion.IngestionDocument.Identifier { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.DataIngestion.IngestionDocument.Sections { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "virtual string Microsoft.Extensions.DataIngestion.IngestionDocumentElement.GetMarkdown();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "bool Microsoft.Extensions.DataIngestion.IngestionDocumentElement.HasMetadata { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IDictionary Microsoft.Extensions.DataIngestion.IngestionDocumentElement.Metadata { get; }", + "Stage": "Stable" + }, + { + "Member": "int? Microsoft.Extensions.DataIngestion.IngestionDocumentElement.PageNumber { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.DataIngestion.IngestionDocumentElement.Text { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocumentFooter : Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentFooter.IngestionDocumentFooter(string markdown);", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocumentHeader : Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentHeader.IngestionDocumentHeader(string markdown);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "int? Microsoft.Extensions.DataIngestion.IngestionDocumentHeader.Level { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocumentImage : Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentImage.IngestionDocumentImage(string markdown);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.DataIngestion.IngestionDocumentImage.AlternativeText { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.ReadOnlyMemory? Microsoft.Extensions.DataIngestion.IngestionDocumentImage.Content { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.DataIngestion.IngestionDocumentImage.MediaType { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocumentParagraph : Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentParagraph.IngestionDocumentParagraph(string markdown);", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.DataIngestion.IngestionDocumentProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentProcessor.IngestionDocumentProcessor();", + "Stage": "Stable" + }, + { + "Member": "abstract System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.IngestionDocumentProcessor.ProcessAsync(Microsoft.Extensions.DataIngestion.IngestionDocument document, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.DataIngestion.IngestionDocumentReader", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentReader.IngestionDocumentReader();", + "Stage": "Stable" + }, + { + "Member": "System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.IngestionDocumentReader.ReadAsync(System.IO.FileInfo source, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "virtual System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.IngestionDocumentReader.ReadAsync(System.IO.FileInfo source, string identifier, string? mediaType = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "abstract System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.IngestionDocumentReader.ReadAsync(System.IO.Stream source, string identifier, string mediaType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocumentSection : Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentSection.IngestionDocumentSection(string markdown);", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentSection.IngestionDocumentSection();", + "Stage": "Stable" + }, + { + "Member": "override string Microsoft.Extensions.DataIngestion.IngestionDocumentSection.GetMarkdown();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.DataIngestion.IngestionDocumentSection.Elements { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionDocumentTable : Microsoft.Extensions.DataIngestion.IngestionDocumentElement", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentTable.IngestionDocumentTable(string markdown, Microsoft.Extensions.DataIngestion.IngestionDocumentElement?[, ] cells);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocumentElement?[, ] Microsoft.Extensions.DataIngestion.IngestionDocumentTable.Cells { get; }", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.DataIngestion.MarkItDown/Microsoft.Extensions.DataIngestion.MarkItDown.json b/src/Libraries/Microsoft.Extensions.DataIngestion.MarkItDown/Microsoft.Extensions.DataIngestion.MarkItDown.json new file mode 100644 index 00000000000..eba59c305da --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.DataIngestion.MarkItDown/Microsoft.Extensions.DataIngestion.MarkItDown.json @@ -0,0 +1,41 @@ +{ + "Name": "Microsoft.Extensions.DataIngestion.MarkItDown, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "class Microsoft.Extensions.DataIngestion.MarkItDownMcpReader : Microsoft.Extensions.DataIngestion.IngestionDocumentReader", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.MarkItDownMcpReader.MarkItDownMcpReader(System.Uri mcpServerUri, ModelContextProtocol.Client.McpClientOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.MarkItDownMcpReader.ReadAsync(System.IO.FileInfo source, string identifier, string? mediaType = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.MarkItDownMcpReader.ReadAsync(System.IO.Stream source, string identifier, string mediaType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.DataIngestion.MarkItDownReader : Microsoft.Extensions.DataIngestion.IngestionDocumentReader", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.MarkItDownReader.MarkItDownReader(System.IO.FileInfo? exePath = null, bool extractImages = false);", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.MarkItDownReader.ReadAsync(System.IO.FileInfo source, string identifier, string? mediaType = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.MarkItDownReader.ReadAsync(System.IO.Stream source, string identifier, string mediaType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/Microsoft.Extensions.DataIngestion.Markdig.json b/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/Microsoft.Extensions.DataIngestion.Markdig.json new file mode 100644 index 00000000000..ad116dbe0f5 --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.DataIngestion.Markdig/Microsoft.Extensions.DataIngestion.Markdig.json @@ -0,0 +1,23 @@ +{ + "Name": "Microsoft.Extensions.DataIngestion.Markdig, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.MarkdownReader : Microsoft.Extensions.DataIngestion.IngestionDocumentReader", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.MarkdownReader.MarkdownReader();", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.MarkdownReader.ReadAsync(System.IO.FileInfo source, string identifier, string? mediaType = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.MarkdownReader.ReadAsync(System.IO.Stream source, string identifier, string mediaType, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.DataIngestion/Microsoft.Extensions.DataIngestion.json b/src/Libraries/Microsoft.Extensions.DataIngestion/Microsoft.Extensions.DataIngestion.json new file mode 100644 index 00000000000..7d53b20f72e --- /dev/null +++ b/src/Libraries/Microsoft.Extensions.DataIngestion/Microsoft.Extensions.DataIngestion.json @@ -0,0 +1,315 @@ +{ + "Name": "Microsoft.Extensions.DataIngestion, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Types": [ + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.ClassificationEnricher : Microsoft.Extensions.DataIngestion.IngestionChunkProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.ClassificationEnricher.ClassificationEnricher(Microsoft.Extensions.DataIngestion.EnricherOptions options, System.ReadOnlySpan predefinedClasses, string? fallbackClass = null);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.ClassificationEnricher.ProcessAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.DataIngestion.ClassificationEnricher.MetadataKey { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.DataIngestion.EnricherOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.EnricherOptions.EnricherOptions(Microsoft.Extensions.AI.IChatClient chatClient);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "int Microsoft.Extensions.DataIngestion.EnricherOptions.BatchSize { get; set; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.AI.IChatClient Microsoft.Extensions.DataIngestion.EnricherOptions.ChatClient { get; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.AI.ChatOptions? Microsoft.Extensions.DataIngestion.EnricherOptions.ChatOptions { get; set; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.Extensions.Logging.ILoggerFactory? Microsoft.Extensions.DataIngestion.EnricherOptions.LoggerFactory { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.HeaderChunker : Microsoft.Extensions.DataIngestion.IngestionChunker", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.HeaderChunker.HeaderChunker(Microsoft.Extensions.DataIngestion.IngestionChunkerOptions options);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.HeaderChunker.ProcessAsync(Microsoft.Extensions.DataIngestion.IngestionDocument document, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.ImageAlternativeTextEnricher : Microsoft.Extensions.DataIngestion.IngestionDocumentProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.ImageAlternativeTextEnricher.ImageAlternativeTextEnricher(Microsoft.Extensions.DataIngestion.EnricherOptions options);", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.ImageAlternativeTextEnricher.ProcessAsync(Microsoft.Extensions.DataIngestion.IngestionDocument document, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.DataIngestion.IngestionChunkerOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionChunkerOptions.IngestionChunkerOptions(Microsoft.ML.Tokenizers.Tokenizer tokenizer);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "int Microsoft.Extensions.DataIngestion.IngestionChunkerOptions.MaxTokensPerChunk { get; set; }", + "Stage": "Stable" + }, + { + "Member": "int Microsoft.Extensions.DataIngestion.IngestionChunkerOptions.OverlapTokens { get; set; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.ML.Tokenizers.Tokenizer Microsoft.Extensions.DataIngestion.IngestionChunkerOptions.Tokenizer { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionPipeline : System.IDisposable", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionPipeline.IngestionPipeline(Microsoft.Extensions.DataIngestion.IngestionDocumentReader reader, Microsoft.Extensions.DataIngestion.IngestionChunker chunker, Microsoft.Extensions.DataIngestion.IngestionChunkWriter writer, Microsoft.Extensions.DataIngestion.IngestionPipelineOptions? options = null, Microsoft.Extensions.Logging.ILoggerFactory? loggerFactory = null);", + "Stage": "Stable" + }, + { + "Member": "void Microsoft.Extensions.DataIngestion.IngestionPipeline.Dispose();", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.DataIngestion.IngestionPipeline.ProcessAsync(System.IO.DirectoryInfo directory, string searchPattern = \"*.*\", System.IO.SearchOption searchOption = System.IO.SearchOption.TopDirectoryOnly, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.DataIngestion.IngestionPipeline.ProcessAsync(System.Collections.Generic.IEnumerable files, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IList> Microsoft.Extensions.DataIngestion.IngestionPipeline.ChunkProcessors { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.DataIngestion.IngestionPipeline.DocumentProcessors { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionPipelineOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionPipelineOptions.IngestionPipelineOptions();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.DataIngestion.IngestionPipelineOptions.ActivitySourceName { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.IngestionResult", + "Stage": "Stable", + "Properties": [ + { + "Member": "Microsoft.Extensions.DataIngestion.IngestionDocument? Microsoft.Extensions.DataIngestion.IngestionResult.Document { get; }", + "Stage": "Stable" + }, + { + "Member": "string Microsoft.Extensions.DataIngestion.IngestionResult.DocumentId { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Exception? Microsoft.Extensions.DataIngestion.IngestionResult.Exception { get; }", + "Stage": "Stable" + }, + { + "Member": "bool Microsoft.Extensions.DataIngestion.IngestionResult.Succeeded { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.KeywordEnricher : Microsoft.Extensions.DataIngestion.IngestionChunkProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.KeywordEnricher.KeywordEnricher(Microsoft.Extensions.DataIngestion.EnricherOptions options, System.ReadOnlySpan predefinedKeywords, int? maxKeywords = null, double? confidenceThreshold = null);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.KeywordEnricher.ProcessAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.DataIngestion.KeywordEnricher.MetadataKey { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.Chunkers.SectionChunker : Microsoft.Extensions.DataIngestion.IngestionChunker", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.Chunkers.SectionChunker.SectionChunker(Microsoft.Extensions.DataIngestion.IngestionChunkerOptions options);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.Chunkers.SectionChunker.ProcessAsync(Microsoft.Extensions.DataIngestion.IngestionDocument document, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.Chunkers.SemanticSimilarityChunker : Microsoft.Extensions.DataIngestion.IngestionChunker", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.Chunkers.SemanticSimilarityChunker.SemanticSimilarityChunker(Microsoft.Extensions.AI.IEmbeddingGenerator> embeddingGenerator, Microsoft.Extensions.DataIngestion.IngestionChunkerOptions options, float? thresholdPercentile = null);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.Chunkers.SemanticSimilarityChunker.ProcessAsync(Microsoft.Extensions.DataIngestion.IngestionDocument document, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.SentimentEnricher : Microsoft.Extensions.DataIngestion.IngestionChunkProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.SentimentEnricher.SentimentEnricher(Microsoft.Extensions.DataIngestion.EnricherOptions options, double? confidenceThreshold = null);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.SentimentEnricher.ProcessAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.DataIngestion.SentimentEnricher.MetadataKey { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.SummaryEnricher : Microsoft.Extensions.DataIngestion.IngestionChunkProcessor", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.SummaryEnricher.SummaryEnricher(Microsoft.Extensions.DataIngestion.EnricherOptions options, int? maxWordCount = null);", + "Stage": "Stable" + }, + { + "Member": "override System.Collections.Generic.IAsyncEnumerable> Microsoft.Extensions.DataIngestion.SummaryEnricher.ProcessAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "static string Microsoft.Extensions.DataIngestion.SummaryEnricher.MetadataKey { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.VectorStoreWriter : Microsoft.Extensions.DataIngestion.IngestionChunkWriter", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.VectorStoreWriter.VectorStoreWriter(Microsoft.Extensions.VectorData.VectorStore vectorStore, int dimensionCount, Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions? options = null);", + "Stage": "Stable" + }, + { + "Member": "override void Microsoft.Extensions.DataIngestion.VectorStoreWriter.Dispose(bool disposing);", + "Stage": "Stable" + }, + { + "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.DataIngestion.VectorStoreWriter.WriteAsync(System.Collections.Generic.IAsyncEnumerable> chunks, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.VectorData.VectorStoreCollection> Microsoft.Extensions.DataIngestion.VectorStoreWriter.VectorStoreCollection { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions.VectorStoreWriterOptions();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions.CollectionName { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions.DistanceFunction { get; set; }", + "Stage": "Stable" + }, + { + "Member": "bool Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions.IncrementalIngestion { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.DataIngestion.VectorStoreWriterOptions.IndexKind { get; set; }", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json b/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json index 4eba1e17f8b..8bda62b2cfc 100644 --- a/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json +++ b/src/Libraries/Microsoft.Extensions.DependencyInjection.AutoActivation/Microsoft.Extensions.DependencyInjection.AutoActivation.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.DependencyInjection.AutoActivation, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.DependencyInjection.AutoActivation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.AutoActivationExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json b/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json index 3b673ee41b0..46370f378e5 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ExceptionSummarization/Microsoft.Extensions.Diagnostics.ExceptionSummarization.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.ExceptionSummarization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.ExceptionSummarization, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.Diagnostics.ExceptionSummarization.ExceptionSummarizationBuilderExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json index 9b6ea8171f1..3eee5b95a15 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.Common/Microsoft.Extensions.Diagnostics.HealthChecks.Common.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.CommonHealthChecksExtensions", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json index 600bd3248f4..0c751abd167 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUsageThresholds", @@ -79,7 +79,11 @@ }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilizationHealthCheckOptions.SamplingWindow { get; set; }", - "Stage": "Stable" + "Stage": "Obsolete" + }, + { + "Member": "bool Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilizationHealthCheckOptions.UseObservableResourceMonitoringInstruments { get; set; }", + "Stage": "Experimental" } ] } diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json index 47774532c72..9c0cb52738a 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.Probes/Microsoft.Extensions.Diagnostics.Probes.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.Probes, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.Probes, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.KubernetesProbesExtensions", @@ -30,65 +30,95 @@ ], "Properties": [ { - "Member": "Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.LivenessProbe { get; set; }", + "Member": "Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.LivenessProbe { get; set; }", "Stage": "Experimental" }, { - "Member": "Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.ReadinessProbe { get; set; }", + "Member": "Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.ReadinessProbe { get; set; }", "Stage": "Experimental" }, { - "Member": "Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.StartupProbe { get; set; }", + "Member": "Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.StartupProbe { get; set; }", "Stage": "Experimental" } ] }, { - "Type": "class Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions", + "Type": "static class Microsoft.Extensions.Diagnostics.Probes.ProbeTags", + "Stage": "Experimental", + "Fields": [ + { + "Member": "const string Microsoft.Extensions.Diagnostics.Probes.ProbeTags.Liveness", + "Stage": "Experimental", + "Value": "_probe_liveness" + }, + { + "Member": "const string Microsoft.Extensions.Diagnostics.Probes.ProbeTags.Readiness", + "Stage": "Experimental", + "Value": "_probe_readiness" + }, + { + "Member": "const string Microsoft.Extensions.Diagnostics.Probes.ProbeTags.Startup", + "Stage": "Experimental", + "Value": "_probe_startup" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions", "Stage": "Experimental", "Methods": [ { - "Member": "Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.EndpointOptions();", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions.AddTcpEndpointProbe(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", "Stage": "Experimental" - } - ], - "Properties": [ + }, { - "Member": "System.Func? Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.FilterChecks { get; set; }", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions.AddTcpEndpointProbe(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string name);", "Stage": "Experimental" }, { - "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.HealthAssessmentPeriod { get; set; }", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions.AddTcpEndpointProbe(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure);", "Stage": "Experimental" }, { - "Member": "int Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.MaxPendingConnections { get; set; }", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions.AddTcpEndpointProbe(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string name, System.Action configure);", "Stage": "Experimental" }, { - "Member": "int Microsoft.Extensions.Diagnostics.Probes.KubernetesProbesOptions.EndpointOptions.TcpPort { get; set; }", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions.AddTcpEndpointProbe(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.Configuration.IConfigurationSection configurationSection);", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.TcpEndpointProbesExtensions.AddTcpEndpointProbe(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string name, Microsoft.Extensions.Configuration.IConfigurationSection configurationSection);", "Stage": "Experimental" } ] }, { - "Type": "static class Microsoft.Extensions.Diagnostics.Probes.ProbeTags", + "Type": "class Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions", "Stage": "Experimental", - "Fields": [ + "Methods": [ { - "Member": "const string Microsoft.Extensions.Diagnostics.Probes.ProbeTags.Liveness", - "Stage": "Experimental", - "Value": "_probe_liveness" + "Member": "Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions.TcpEndpointProbesOptions();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.Func? Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions.FilterChecks { get; set; }", + "Stage": "Experimental" }, { - "Member": "const string Microsoft.Extensions.Diagnostics.Probes.ProbeTags.Readiness", - "Stage": "Experimental", - "Value": "_probe_readiness" + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions.HealthAssessmentPeriod { get; set; }", + "Stage": "Experimental" }, { - "Member": "const string Microsoft.Extensions.Diagnostics.Probes.ProbeTags.Startup", - "Stage": "Experimental", - "Value": "_probe_startup" + "Member": "int Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions.MaxPendingConnections { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "int Microsoft.Extensions.Diagnostics.Probes.TcpEndpointProbesOptions.TcpPort { get; set; }", + "Stage": "Experimental" } ] } diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json index f20b3d49685..4d732737e14 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json @@ -1,53 +1,69 @@ { - "Name": "Microsoft.Extensions.Diagnostics.ResourceMonitoring, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.ResourceMonitoring, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor", - "Stage": "Stable", + "Stage": "Obsolete", "Methods": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor.GetUtilization(System.TimeSpan window);", - "Stage": "Stable" + "Stage": "Obsolete" } ] }, { "Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder", - "Stage": "Stable", + "Stage": "Obsolete", "Methods": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder.AddPublisher();", - "Stage": "Stable" + "Stage": "Obsolete" } ], "Properties": [ { "Member": "Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder.Services { get; }", - "Stage": "Stable" + "Stage": "Obsolete" } ] }, { "Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceUtilizationPublisher", - "Stage": "Stable", + "Stage": "Obsolete", "Methods": [ { "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceUtilizationPublisher.PublishAsync(Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization utilization, System.Threading.CancellationToken cancellationToken);", - "Stage": "Stable" + "Stage": "Obsolete" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.GetSnapshot();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.Resources { get; }", + "Stage": "Experimental" } ] }, { "Type": "static class Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringBuilderExtensions", - "Stage": "Stable", + "Stage": "Obsolete", "Methods": [ { "Member": "static Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringBuilderExtensions.ConfigureMonitor(this Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder builder, System.Action configure);", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "static Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringBuilderExtensions.ConfigureMonitor(this Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder builder, Microsoft.Extensions.Configuration.IConfigurationSection section);", - "Stage": "Stable" + "Stage": "Obsolete" } ] }, @@ -63,27 +79,39 @@ "Properties": [ { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.CollectionWindow { get; set; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.CpuConsumptionRefreshInterval { get; set; }", - "Stage": "Stable" + "Stage": "Obsolete" + }, + { + "Member": "bool Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.EnableSystemDiskIoMetrics { get; set; }", + "Stage": "Experimental" }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.MemoryConsumptionRefreshInterval { get; set; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.PublishingWindow { get; set; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.SamplingInterval { get; set; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "System.Collections.Generic.ISet Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.SourceIpAddresses { get; set; }", "Stage": "Stable" + }, + { + "Member": "bool Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.UseLinuxCalculationV2 { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "bool Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.UseZeroToOneRangeForMetrics { get; set; }", + "Stage": "Experimental" } ] }, @@ -97,71 +125,107 @@ }, { "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ResourceMonitoringServiceCollectionExtensions.AddResourceMonitoring(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure);", - "Stage": "Stable" + "Stage": "Obsolete" } ] }, { "Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization", - "Stage": "Stable", + "Stage": "Obsolete", "Methods": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.ResourceUtilization(double cpuUsedPercentage, ulong memoryUsedInBytes, Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources systemResources);", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.ResourceUtilization();", - "Stage": "Stable" + "Stage": "Obsolete" } ], "Properties": [ { "Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.CpuUsedPercentage { get; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.MemoryUsedInBytes { get; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.MemoryUsedPercentage { get; }", - "Stage": "Stable" + "Stage": "Obsolete" + }, + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.Snapshot { get; }", + "Stage": "Experimental" }, { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.SystemResources { get; }", - "Stage": "Stable" + "Stage": "Obsolete" + } + ] + }, + { + "Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot(System.TimeSpan totalTimeSinceStart, System.TimeSpan kernelTimeSinceStart, System.TimeSpan userTimeSinceStart, ulong memoryUsageInBytes);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.KernelTimeSinceStart { get; }", + "Stage": "Experimental" + }, + { + "Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.MemoryUsageInBytes { get; }", + "Stage": "Experimental" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.TotalTimeSinceStart { get; }", + "Stage": "Experimental" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.UserTimeSinceStart { get; }", + "Stage": "Experimental" } ] }, { "Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources", - "Stage": "Stable", + "Stage": "Obsolete", "Methods": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.SystemResources(double guaranteedCpuUnits, double maximumCpuUnits, ulong guaranteedMemoryInBytes, ulong maximumMemoryInBytes);", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.SystemResources();", - "Stage": "Stable" + "Stage": "Obsolete" } ], "Properties": [ { "Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.GuaranteedCpuUnits { get; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.GuaranteedMemoryInBytes { get; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.MaximumCpuUnits { get; }", - "Stage": "Stable" + "Stage": "Obsolete" }, { "Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.MaximumMemoryInBytes { get; }", - "Stage": "Stable" + "Stage": "Obsolete" } ] } diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json b/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json index b2e7a70ed15..1ad951ed9d2 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Diagnostics.Testing, Version=8.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Diagnostics.Testing, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Diagnostics.Metrics.Testing.CollectedMeasurement where T : struct", @@ -87,6 +87,10 @@ "Member": "bool Microsoft.Extensions.Logging.Testing.FakeLogCollectorOptions.CollectRecordsForDisabledLogLevels { get; set; }", "Stage": "Stable" }, + { + "Member": "System.Func? Microsoft.Extensions.Logging.Testing.FakeLogCollectorOptions.CustomFilter { get; set; }", + "Stage": "Experimental" + }, { "Member": "System.Collections.Generic.ISet Microsoft.Extensions.Logging.Testing.FakeLogCollectorOptions.FilteredCategories { get; set; }", "Stage": "Stable" @@ -110,7 +114,7 @@ ] }, { - "Type": "class Microsoft.Extensions.Logging.Testing.FakeLogger : Microsoft.Extensions.Logging.ILogger", + "Type": "class Microsoft.Extensions.Logging.Testing.FakeLogger : Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.Abstractions.IBufferedLogger", "Stage": "Stable", "Methods": [ { @@ -136,6 +140,10 @@ { "Member": "void Microsoft.Extensions.Logging.Testing.FakeLogger.Log(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception? exception, System.Func formatter);", "Stage": "Stable" + }, + { + "Member": "void Microsoft.Extensions.Logging.Testing.FakeLogger.LogRecords(System.Collections.Generic.IEnumerable records);", + "Stage": "Experimental" } ], "Properties": [ diff --git a/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json b/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json index b0cb5025dd5..e67dca8c641 100644 --- a/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Hosting.Testing/Microsoft.Extensions.Hosting.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Hosting.Testing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Hosting.Testing, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.Hosting.Testing.FakeHost : Microsoft.Extensions.Hosting.IHost, System.IDisposable", diff --git a/src/Libraries/Microsoft.Extensions.Http.Diagnostics/Microsoft.Extensions.Http.Diagnostics.json b/src/Libraries/Microsoft.Extensions.Http.Diagnostics/Microsoft.Extensions.Http.Diagnostics.json index eabd53cbf75..f1a016d8374 100644 --- a/src/Libraries/Microsoft.Extensions.Http.Diagnostics/Microsoft.Extensions.Http.Diagnostics.json +++ b/src/Libraries/Microsoft.Extensions.Http.Diagnostics/Microsoft.Extensions.Http.Diagnostics.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Http.Diagnostics, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Http.Diagnostics, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.HttpClientLatencyTelemetryExtensions", @@ -123,6 +123,11 @@ "Member": "const string Microsoft.Extensions.Http.Logging.HttpClientLoggingTagNames.StatusCode", "Stage": "Stable", "Value": "http.response.status_code" + }, + { + "Member": "const string Microsoft.Extensions.Http.Logging.HttpClientLoggingTagNames.UrlQuery", + "Stage": "Experimental", + "Value": "url.query" } ], "Properties": [ @@ -132,6 +137,20 @@ } ] }, + { + "Type": "abstract class Microsoft.Extensions.Http.Diagnostics.HttpDependencyMetadataResolver", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.Http.Diagnostics.HttpDependencyMetadataResolver.HttpDependencyMetadataResolver(System.Collections.Generic.IEnumerable dependencyMetadata);", + "Stage": "Experimental" + }, + { + "Member": "virtual Microsoft.Extensions.Http.Diagnostics.RequestMetadata? Microsoft.Extensions.Http.Diagnostics.HttpDependencyMetadataResolver.GetRequestMetadata(System.Net.Http.HttpRequestMessage requestMessage);", + "Stage": "Experimental" + } + ] + }, { "Type": "static class System.Net.Http.HttpDiagnosticsHttpRequestMessageExtensions", "Stage": "Stable", @@ -206,6 +225,10 @@ "Member": "bool Microsoft.Extensions.Http.Logging.LoggingOptions.LogBody { get; set; }", "Stage": "Stable" }, + { + "Member": "bool Microsoft.Extensions.Http.Logging.LoggingOptions.LogContentHeaders { get; set; }", + "Stage": "Experimental" + }, { "Member": "bool Microsoft.Extensions.Http.Logging.LoggingOptions.LogRequestStart { get; set; }", "Stage": "Stable" @@ -226,6 +249,10 @@ "Member": "Microsoft.Extensions.Http.Diagnostics.HttpRouteParameterRedactionMode Microsoft.Extensions.Http.Logging.LoggingOptions.RequestPathParameterRedactionMode { get; set; }", "Stage": "Stable" }, + { + "Member": "System.Collections.Generic.IDictionary Microsoft.Extensions.Http.Logging.LoggingOptions.RequestQueryParametersDataClasses { get; set; }", + "Stage": "Experimental" + }, { "Member": "System.Collections.Generic.ISet Microsoft.Extensions.Http.Logging.LoggingOptions.ResponseBodyContentTypes { get; set; }", "Stage": "Stable" diff --git a/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json b/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json index 15644943c60..1fed3ba5a43 100644 --- a/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json +++ b/src/Libraries/Microsoft.Extensions.Http.Resilience/Microsoft.Extensions.Http.Resilience.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Http.Resilience, Version=9.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Http.Resilience, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Http.Resilience.HedgingEndpointOptions", @@ -141,6 +141,20 @@ } ] }, + { + "Type": "static class Microsoft.Extensions.Http.Resilience.HttpRetryStrategyOptionsExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static void Microsoft.Extensions.Http.Resilience.HttpRetryStrategyOptionsExtensions.DisableFor(this Microsoft.Extensions.Http.Resilience.HttpRetryStrategyOptions options, params System.Net.Http.HttpMethod[] methods);", + "Stage": "Experimental" + }, + { + "Member": "static void Microsoft.Extensions.Http.Resilience.HttpRetryStrategyOptionsExtensions.DisableForUnsafeHttpMethods(this Microsoft.Extensions.Http.Resilience.HttpRetryStrategyOptions options);", + "Stage": "Experimental" + } + ] + }, { "Type": "class Microsoft.Extensions.Http.Resilience.HttpStandardHedgingResilienceOptions", "Stage": "Stable", @@ -394,6 +408,10 @@ { "Member": "static Microsoft.Extensions.Http.Resilience.IHttpStandardResiliencePipelineBuilder Microsoft.Extensions.DependencyInjection.ResilienceHttpClientBuilderExtensions.AddStandardResilienceHandler(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder);", "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder Microsoft.Extensions.DependencyInjection.ResilienceHttpClientBuilderExtensions.RemoveAllResilienceHandlers(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder);", + "Stage": "Experimental" } ] }, diff --git a/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json b/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json index 9c04b5c83be..ca0dd417866 100644 --- a/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json +++ b/src/Libraries/Microsoft.Extensions.ObjectPool.DependencyInjection/Microsoft.Extensions.ObjectPool.DependencyInjection.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.ObjectPool.DependencyInjection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.ObjectPool.DependencyInjection, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "sealed class Microsoft.Extensions.ObjectPool.DependencyInjectionPoolOptions", diff --git a/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json b/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json index 64828e66eb9..dfbb3ec33c3 100644 --- a/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json +++ b/src/Libraries/Microsoft.Extensions.Options.Contextual/Microsoft.Extensions.Options.Contextual.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Options.Contextual, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Options.Contextual, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions", @@ -10,89 +10,67 @@ "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func>> loadOptions);", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func>> loadOptions);", "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string name, System.Func>> loadOptions);", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Func>> loadOptions);", "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure);", "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string name, System.Action configureOptions);", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.Configure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Action configure);", "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.PostConfigure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.ConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func>> loadOptions);", "Stage": "Experimental" }, { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.PostConfigure(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? name, System.Action configureOptions);", - "Stage": "Experimental" - }, - { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.PostConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", - "Stage": "Experimental" - }, - { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.ValidateContextualOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Func validate, string failureMessage);", - "Stage": "Experimental" - }, - { - "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.ValidateContextualOptions(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string name, System.Func validate, string failureMessage);", - "Stage": "Experimental" - } - ] - }, - { - "Type": "interface Microsoft.Extensions.Options.Contextual.IConfigureContextualOptions : System.IDisposable where TOptions : class", - "Stage": "Experimental", - "Methods": [ - { - "Member": "void Microsoft.Extensions.Options.Contextual.IConfigureContextualOptions.Configure(TOptions options);", + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ContextualOptionsServiceCollectionExtensions.ConfigureAll(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configure);", "Stage": "Experimental" } ] }, { - "Type": "interface Microsoft.Extensions.Options.Contextual.IContextualOptions where TOptions : class", + "Type": "interface Microsoft.Extensions.Options.Contextual.Provider.IConfigureContextualOptions : System.IDisposable where TOptions : class", "Stage": "Experimental", "Methods": [ { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Options.Contextual.IContextualOptions.GetAsync(in TContext context, System.Threading.CancellationToken cancellationToken);", + "Member": "void Microsoft.Extensions.Options.Contextual.Provider.IConfigureContextualOptions.Configure(TOptions options);", "Stage": "Experimental" } ] }, { - "Type": "interface Microsoft.Extensions.Options.Contextual.IContextualOptionsFactory where TOptions : class", + "Type": "interface Microsoft.Extensions.Options.Contextual.IContextualOptions where TOptions : class where TContext : Microsoft.Extensions.Options.Contextual.IOptionsContext", "Stage": "Experimental", "Methods": [ { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Options.Contextual.IContextualOptionsFactory.CreateAsync(string name, in TContext context, System.Threading.CancellationToken cancellationToken);", + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Options.Contextual.IContextualOptions.GetAsync(in TContext context, System.Threading.CancellationToken cancellationToken);", "Stage": "Experimental" } ] }, { - "Type": "interface Microsoft.Extensions.Options.Contextual.ILoadContextualOptions where TOptions : class", + "Type": "interface Microsoft.Extensions.Options.Contextual.Provider.ILoadContextualOptions where TOptions : class", "Stage": "Experimental", "Methods": [ { - "Member": "System.Threading.Tasks.ValueTask> Microsoft.Extensions.Options.Contextual.ILoadContextualOptions.LoadAsync(string name, in TContext context, System.Threading.CancellationToken cancellationToken);", + "Member": "System.Threading.Tasks.ValueTask> Microsoft.Extensions.Options.Contextual.Provider.ILoadContextualOptions.LoadAsync(string name, in TContext context, System.Threading.CancellationToken cancellationToken);", "Stage": "Experimental" } ] }, { - "Type": "interface Microsoft.Extensions.Options.Contextual.INamedContextualOptions : Microsoft.Extensions.Options.Contextual.IContextualOptions where TOptions : class", + "Type": "interface Microsoft.Extensions.Options.Contextual.INamedContextualOptions : Microsoft.Extensions.Options.Contextual.IContextualOptions where TOptions : class where TContext : Microsoft.Extensions.Options.Contextual.IOptionsContext", "Stage": "Experimental", "Methods": [ { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Options.Contextual.INamedContextualOptions.GetAsync(string name, in TContext context, System.Threading.CancellationToken cancellationToken);", + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Options.Contextual.INamedContextualOptions.GetAsync(string name, in TContext context, System.Threading.CancellationToken cancellationToken);", "Stage": "Experimental" } ] @@ -108,41 +86,21 @@ ] }, { - "Type": "interface Microsoft.Extensions.Options.Contextual.IOptionsContextReceiver", - "Stage": "Experimental", - "Methods": [ - { - "Member": "void Microsoft.Extensions.Options.Contextual.IOptionsContextReceiver.Receive(string key, T value);", - "Stage": "Experimental" - } - ] - }, - { - "Type": "interface Microsoft.Extensions.Options.Contextual.IPostConfigureContextualOptions where TOptions : class", - "Stage": "Experimental", - "Methods": [ - { - "Member": "void Microsoft.Extensions.Options.Contextual.IPostConfigureContextualOptions.PostConfigure(string name, in TContext context, TOptions options);", - "Stage": "Experimental" - } - ] - }, - { - "Type": "interface Microsoft.Extensions.Options.Contextual.IValidateContextualOptions where TOptions : class", + "Type": "interface Microsoft.Extensions.Options.Contextual.Provider.IOptionsContextReceiver", "Stage": "Experimental", "Methods": [ { - "Member": "Microsoft.Extensions.Options.ValidateOptionsResult Microsoft.Extensions.Options.Contextual.IValidateContextualOptions.Validate(string? name, TOptions options);", + "Member": "void Microsoft.Extensions.Options.Contextual.Provider.IOptionsContextReceiver.Receive(string key, T value);", "Stage": "Experimental" } ] }, { - "Type": "static class Microsoft.Extensions.Options.Contextual.NullConfigureContextualOptions", + "Type": "static class Microsoft.Extensions.Options.Contextual.Provider.NullConfigureContextualOptions", "Stage": "Experimental", "Methods": [ { - "Member": "static Microsoft.Extensions.Options.Contextual.IConfigureContextualOptions Microsoft.Extensions.Options.Contextual.NullConfigureContextualOptions.GetInstance();", + "Member": "static Microsoft.Extensions.Options.Contextual.Provider.IConfigureContextualOptions Microsoft.Extensions.Options.Contextual.Provider.NullConfigureContextualOptions.GetInstance();", "Stage": "Experimental" } ] diff --git a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json index 2474bf8ab61..85d16634693 100644 --- a/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json +++ b/src/Libraries/Microsoft.Extensions.Resilience/Microsoft.Extensions.Resilience.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Resilience, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Resilience, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "static class Polly.ResilienceContextExtensions", @@ -26,4 +26,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.json b/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.json index e69de29bb2d..866cd49c586 100644 --- a/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.json +++ b/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.json @@ -0,0 +1,167 @@ +{ + "Name": "Microsoft.Extensions.ServiceDiscovery.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51", + "Types": [ + { + "Type": "interface Microsoft.Extensions.ServiceDiscovery.IHostNameFeature", + "Stage": "Stable", + "Properties": [ + { + "Member": "string Microsoft.Extensions.ServiceDiscovery.IHostNameFeature.HostName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.ServiceDiscovery.IServiceEndpointBuilder", + "Stage": "Stable", + "Methods": [ + { + "Member": "void Microsoft.Extensions.ServiceDiscovery.IServiceEndpointBuilder.AddChangeToken(Microsoft.Extensions.Primitives.IChangeToken changeToken);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.ServiceDiscovery.IServiceEndpointBuilder.Endpoints { get; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.AspNetCore.Http.Features.IFeatureCollection Microsoft.Extensions.ServiceDiscovery.IServiceEndpointBuilder.Features { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.ServiceDiscovery.IServiceEndpointProvider : System.IAsyncDisposable", + "Stage": "Stable", + "Methods": [ + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.ServiceDiscovery.IServiceEndpointProvider.PopulateAsync(Microsoft.Extensions.ServiceDiscovery.IServiceEndpointBuilder endpoints, System.Threading.CancellationToken cancellationToken);", + "Stage": "Stable" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.ServiceDiscovery.IServiceEndpointProviderFactory", + "Stage": "Stable", + "Methods": [ + { + "Member": "bool Microsoft.Extensions.ServiceDiscovery.IServiceEndpointProviderFactory.TryCreateProvider(Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery query, out Microsoft.Extensions.ServiceDiscovery.IServiceEndpointProvider? provider);", + "Stage": "Stable" + } + ] + }, + { + "Type": "abstract class Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint.ServiceEndpoint();", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint.Create(System.Net.EndPoint endPoint, Microsoft.AspNetCore.Http.Features.IFeatureCollection? features = null);", + "Stage": "Stable" + }, + { + "Member": "static bool Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint.TryParse(string? value, out Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint? serviceEndpoint);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "abstract System.Net.EndPoint Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint.EndPoint { get; }", + "Stage": "Stable" + }, + { + "Member": "abstract Microsoft.AspNetCore.Http.Features.IFeatureCollection Microsoft.Extensions.ServiceDiscovery.ServiceEndpoint.Features { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery", + "Stage": "Stable", + "Methods": [ + { + "Member": "override string? Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery.ToString();", + "Stage": "Stable" + }, + { + "Member": "static bool Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery.TryParse(string input, out Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery? query);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery.EndpointName { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery.IncludedSchemes { get; }", + "Stage": "Stable" + }, + { + "Member": "string Microsoft.Extensions.ServiceDiscovery.ServiceEndpointQuery.ServiceName { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.ServiceDiscovery.ServiceEndpointSource", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.ServiceEndpointSource.ServiceEndpointSource(System.Collections.Generic.List? endpoints, Microsoft.Extensions.Primitives.IChangeToken changeToken, Microsoft.AspNetCore.Http.Features.IFeatureCollection features);", + "Stage": "Stable" + }, + { + "Member": "override string Microsoft.Extensions.ServiceDiscovery.ServiceEndpointSource.ToString();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.Primitives.IChangeToken Microsoft.Extensions.ServiceDiscovery.ServiceEndpointSource.ChangeToken { get; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.ServiceDiscovery.ServiceEndpointSource.Endpoints { get; }", + "Stage": "Stable" + }, + { + "Member": "Microsoft.AspNetCore.Http.Features.IFeatureCollection Microsoft.Extensions.ServiceDiscovery.ServiceEndpointSource.Features { get; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.ServiceDiscovery.UriEndPoint : System.Net.EndPoint", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.UriEndPoint.UriEndPoint(System.Uri uri);", + "Stage": "Stable" + }, + { + "Member": "override bool Microsoft.Extensions.ServiceDiscovery.UriEndPoint.Equals(object? obj);", + "Stage": "Stable" + }, + { + "Member": "override int Microsoft.Extensions.ServiceDiscovery.UriEndPoint.GetHashCode();", + "Stage": "Stable" + }, + { + "Member": "override string? Microsoft.Extensions.ServiceDiscovery.UriEndPoint.ToString();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.Uri Microsoft.Extensions.ServiceDiscovery.UriEndPoint.Uri { get; }", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/Microsoft.Extensions.ServiceDiscovery.Dns.json b/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/Microsoft.Extensions.ServiceDiscovery.Dns.json index e69de29bb2d..41d58052493 100644 --- a/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/Microsoft.Extensions.ServiceDiscovery.Dns.json +++ b/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/Microsoft.Extensions.ServiceDiscovery.Dns.json @@ -0,0 +1,127 @@ +{ + "Name": "Microsoft.Extensions.ServiceDiscovery.Dns, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51", + "Types": [ + { + "Type": "class Microsoft.Extensions.ServiceDiscovery.Dns.DnsResolverOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.Dns.DnsResolverOptions.DnsResolverOptions();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "int Microsoft.Extensions.ServiceDiscovery.Dns.DnsResolverOptions.MaxAttempts { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.ServiceDiscovery.Dns.DnsResolverOptions.Servers { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsResolverOptions.Timeout { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions.DnsServiceEndpointProviderOptions();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions.DefaultRefreshPeriod { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions.MaxRetryPeriod { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions.MinRetryPeriod { get; set; }", + "Stage": "Stable" + }, + { + "Member": "double Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions.RetryBackOffFactor { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.Func Microsoft.Extensions.ServiceDiscovery.Dns.DnsServiceEndpointProviderOptions.ShouldApplyHostNameMetadata { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "class Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.DnsSrvServiceEndpointProviderOptions();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.DefaultRefreshPeriod { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.MaxRetryPeriod { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.MinRetryPeriod { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.QuerySuffix { get; set; }", + "Stage": "Stable" + }, + { + "Member": "double Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.RetryBackOffFactor { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.Func? Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.ServiceDomainNameCallback { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.Func Microsoft.Extensions.ServiceDiscovery.Dns.DnsSrvServiceEndpointProviderOptions.ShouldApplyHostNameMetadata { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.Hosting.ServiceDiscoveryDnsServiceCollectionExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Hosting.ServiceDiscoveryDnsServiceCollectionExtensions.AddDnsServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Hosting.ServiceDiscoveryDnsServiceCollectionExtensions.AddDnsServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Hosting.ServiceDiscoveryDnsServiceCollectionExtensions.AddDnsSrvServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Hosting.ServiceDiscoveryDnsServiceCollectionExtensions.AddDnsSrvServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Hosting.ServiceDiscoveryDnsServiceCollectionExtensions.ConfigureDnsResolver(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp/Microsoft.Extensions.ServiceDiscovery.Yarp.json b/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp/Microsoft.Extensions.ServiceDiscovery.Yarp.json index e69de29bb2d..c7d46611285 100644 --- a/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp/Microsoft.Extensions.ServiceDiscovery.Yarp.json +++ b/src/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp/Microsoft.Extensions.ServiceDiscovery.Yarp.json @@ -0,0 +1,23 @@ +{ + "Name": "Microsoft.Extensions.ServiceDiscovery.Yarp, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51", + "Types": [ + { + "Type": "static class Microsoft.Extensions.DependencyInjection.ServiceDiscoveryReverseProxyServiceCollectionExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryReverseProxyServiceCollectionExtensions.AddHttpForwarderWithServiceDiscovery(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IReverseProxyBuilder Microsoft.Extensions.DependencyInjection.ServiceDiscoveryReverseProxyServiceCollectionExtensions.AddServiceDiscoveryDestinationResolver(this Microsoft.Extensions.DependencyInjection.IReverseProxyBuilder builder);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryReverseProxyServiceCollectionExtensions.AddServiceDiscoveryForwarderFactory(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.ServiceDiscovery/Microsoft.Extensions.ServiceDiscovery.json b/src/Libraries/Microsoft.Extensions.ServiceDiscovery/Microsoft.Extensions.ServiceDiscovery.json index e69de29bb2d..28f034a1982 100644 --- a/src/Libraries/Microsoft.Extensions.ServiceDiscovery/Microsoft.Extensions.ServiceDiscovery.json +++ b/src/Libraries/Microsoft.Extensions.ServiceDiscovery/Microsoft.Extensions.ServiceDiscovery.json @@ -0,0 +1,121 @@ +{ + "Name": "Microsoft.Extensions.ServiceDiscovery, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51", + "Types": [ + { + "Type": "sealed class Microsoft.Extensions.ServiceDiscovery.ConfigurationServiceEndpointProviderOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.ConfigurationServiceEndpointProviderOptions.ConfigurationServiceEndpointProviderOptions();", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.ServiceDiscovery.ConfigurationServiceEndpointProviderOptions.SectionName { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.Func Microsoft.Extensions.ServiceDiscovery.ConfigurationServiceEndpointProviderOptions.ShouldApplyHostNameMetadata { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "interface Microsoft.Extensions.ServiceDiscovery.Http.IServiceDiscoveryHttpMessageHandlerFactory", + "Stage": "Stable", + "Methods": [ + { + "Member": "System.Net.Http.HttpMessageHandler Microsoft.Extensions.ServiceDiscovery.Http.IServiceDiscoveryHttpMessageHandlerFactory.CreateHandler(System.Net.Http.HttpMessageHandler handler);", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.DependencyInjection.ServiceDiscoveryHttpClientBuilderExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder Microsoft.Extensions.DependencyInjection.ServiceDiscoveryHttpClientBuilderExtensions.AddServiceDiscovery(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder httpClientBuilder);", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.ServiceDiscovery.ServiceDiscoveryOptions", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.ServiceDiscovery.ServiceDiscoveryOptions.ServiceDiscoveryOptions();", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.ServiceDiscovery.ServiceDiscoveryOptions.ApplyAllowedSchemes(System.Collections.Generic.IReadOnlyList requestedSchemes);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "bool Microsoft.Extensions.ServiceDiscovery.ServiceDiscoveryOptions.AllowAllSchemes { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.ServiceDiscovery.ServiceDiscoveryOptions.AllowedSchemes { get; set; }", + "Stage": "Stable" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.ServiceDiscovery.ServiceDiscoveryOptions.RefreshPeriod { get; set; }", + "Stage": "Stable" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions", + "Stage": "Stable", + "Methods": [ + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddConfigurationServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddConfigurationServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddPassThroughServiceEndpointProvider(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddServiceDiscovery(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddServiceDiscovery(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddServiceDiscoveryCore(this Microsoft.Extensions.DependencyInjection.IServiceCollection services);", + "Stage": "Stable" + }, + { + "Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ServiceDiscoveryServiceCollectionExtensions.AddServiceDiscoveryCore(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action configureOptions);", + "Stage": "Stable" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.ServiceDiscovery.ServiceEndpointResolver : System.IAsyncDisposable", + "Stage": "Stable", + "Methods": [ + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.ServiceDiscovery.ServiceEndpointResolver.DisposeAsync();", + "Stage": "Stable" + }, + { + "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.ServiceDiscovery.ServiceEndpointResolver.GetEndpointsAsync(string serviceName, System.Threading.CancellationToken cancellationToken);", + "Stage": "Stable" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.Telemetry.Abstractions/Microsoft.Extensions.Telemetry.Abstractions.json b/src/Libraries/Microsoft.Extensions.Telemetry.Abstractions/Microsoft.Extensions.Telemetry.Abstractions.json index 1ddd511257a..bb63e4c1b80 100644 --- a/src/Libraries/Microsoft.Extensions.Telemetry.Abstractions/Microsoft.Extensions.Telemetry.Abstractions.json +++ b/src/Libraries/Microsoft.Extensions.Telemetry.Abstractions/Microsoft.Extensions.Telemetry.Abstractions.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.Telemetry.Abstractions, Version=9.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.Telemetry.Abstractions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "readonly struct Microsoft.Extensions.Diagnostics.Latency.Checkpoint : System.IEquatable", diff --git a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json index c2417fd0d63..2c815c0276d 100644 --- a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json +++ b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/Microsoft.Extensions.TimeProvider.Testing.json @@ -1,5 +1,5 @@ { - "Name": "Microsoft.Extensions.TimeProvider.Testing, Version=9.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", + "Name": "Microsoft.Extensions.TimeProvider.Testing, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", "Types": [ { "Type": "class Microsoft.Extensions.Time.Testing.FakeTimeProvider : System.TimeProvider", From 2af4dbaf7d40fed6c3f572efe108923ceab4d425 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Tue, 18 Nov 2025 13:47:32 +0800 Subject: [PATCH 03/13] Remove NLP evaluation baseline and update API files Deleted Microsoft.Extensions.AI.Evaluation.NLP.json baseline. Updated .json API files for Quality, Reporting.Azure, and Evaluation libraries to remove primary constructor portions and add manual edit comments, addressing ICSharpCode.Decompiler limitations (see ILSpy issue #829). --- ...icrosoft.Extensions.AI.Evaluation.NLP.json | 145 ------------------ ...soft.Extensions.AI.Evaluation.Quality.json | 15 +- ...ensions.AI.Evaluation.Reporting.Azure.json | 10 +- .../Microsoft.Extensions.AI.Evaluation.json | 20 ++- 4 files changed, 36 insertions(+), 154 deletions(-) delete mode 100644 src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json deleted file mode 100644 index 02d2736cdfd..00000000000 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.NLP/Microsoft.Extensions.AI.Evaluation.NLP.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "Name": "Microsoft.Extensions.AI.Evaluation.NLP, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", - "Types": [ - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.BLEUEvaluator();", - "Stage": "Stable" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.BLEUMetricName { get; }", - "Stage": "Stable" - }, - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.EvaluationMetricNames { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.BLEUEvaluatorContext(System.Collections.Generic.IEnumerable references);", - "Stage": "Stable" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.BLEUEvaluatorContext(params string[] references);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.References { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.ReferencesContextName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.F1Evaluator();", - "Stage": "Stable" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.EvaluationMetricNames { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.F1MetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.F1EvaluatorContext(string groundTruth);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "string Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.GroundTruth { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.GroundTruthContextName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.GLEUEvaluator();", - "Stage": "Stable" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.EvaluationMetricNames { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.GLEUMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.GLEUEvaluatorContext(System.Collections.Generic.IEnumerable references);", - "Stage": "Stable" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.GLEUEvaluatorContext(params string[] references);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.References { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.ReferencesContextName { get; }", - "Stage": "Stable" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json index b3c0a3ae572..866d5fbc493 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json @@ -50,7 +50,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.CompletenessEvaluatorContext(string groundTruth) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.CompletenessEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", "Stage": "Stable", "Methods": [ { @@ -94,7 +97,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.EquivalenceEvaluatorContext(string groundTruth) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.EquivalenceEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", "Stage": "Stable", "Methods": [ { @@ -162,7 +168,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.GroundednessEvaluatorContext(string groundingContext) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.GroundednessEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", "Stage": "Stable", "Methods": [ { diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json index ac9962e5708..a55826cbeb7 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Reporting.Azure/Microsoft.Extensions.AI.Evaluation.Reporting.Azure.json @@ -12,7 +12,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResponseCacheProvider(Azure.Storage.Files.DataLake.DataLakeDirectoryClient client, System.TimeSpan? timeToLiveForCacheEntries = null) : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResponseCacheProvider", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResponseCacheProvider : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResponseCacheProvider", "Stage": "Stable", "Methods": [ { @@ -34,7 +37,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResultStore(Azure.Storage.Files.DataLake.DataLakeDirectoryClient client) : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResultStore", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Reporting.Storage.AzureStorageResultStore : Microsoft.Extensions.AI.Evaluation.Reporting.IEvaluationResultStore", "Stage": "Stable", "Methods": [ { diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json index d057ca8cc24..22997efc999 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation/Microsoft.Extensions.AI.Evaluation.json @@ -12,7 +12,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.ChatConfiguration(Microsoft.Extensions.AI.IChatClient chatClient)", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.ChatConfiguration", "Stage": "Stable", "Methods": [ { @@ -112,7 +115,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationDiagnostic(Microsoft.Extensions.AI.Evaluation.EvaluationDiagnosticSeverity severity, string message)", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationDiagnostic", "Stage": "Stable", "Methods": [ { @@ -175,7 +181,10 @@ ] }, { - "Type": "class Microsoft.Extensions.AI.Evaluation.EvaluationMetric(string name, string? reason = null)", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "class Microsoft.Extensions.AI.Evaluation.EvaluationMetric", "Stage": "Stable", "Methods": [ { @@ -269,7 +278,10 @@ ] }, { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationMetricInterpretation(Microsoft.Extensions.AI.Evaluation.EvaluationRating rating = Microsoft.Extensions.AI.Evaluation.EvaluationRating.Unknown, bool failed = false, string? reason = null)", + // After generating the baseline, manually edit this file to remove primary constructor portion + // This is needed until ICSharpCode.Decompiler adds support for primary constructors + // See: https://github.com/icsharpcode/ILSpy/issues/829 + "Type": "sealed class Microsoft.Extensions.AI.Evaluation.EvaluationMetricInterpretation", "Stage": "Stable", "Methods": [ { From 64bb9ae23450be5866578e5b8652524b0f0f75b0 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Tue, 18 Nov 2025 16:39:05 +0800 Subject: [PATCH 04/13] Remove Safety API contract JSON file Deleted Microsoft.Extensions.AI.Evaluation.Safety.json. --- ...osoft.Extensions.AI.Evaluation.Safety.json | 329 ------------------ 1 file changed, 329 deletions(-) delete mode 100644 src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json deleted file mode 100644 index d9a248378bb..00000000000 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Safety/Microsoft.Extensions.AI.Evaluation.Safety.json +++ /dev/null @@ -1,329 +0,0 @@ -{ - "Name": "Microsoft.Extensions.AI.Evaluation.Safety, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", - "Types": [ - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator.CodeVulnerabilityEvaluator();", - "Stage": "Stable" - }, - { - "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.CodeVulnerabilityEvaluator.CodeVulnerabilityMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "class Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator.ContentHarmEvaluator(System.Collections.Generic.IDictionary? metricNames = null);", - "Stage": "Stable" - }, - { - "Member": "sealed override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ] - }, - { - "Type": "abstract class Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator(string contentSafetyServiceAnnotationTask, System.Collections.Generic.IDictionary metricNames) : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.ContentSafetyEvaluator(string contentSafetyServiceAnnotationTask, System.Collections.Generic.IDictionary metricNames);", - "Stage": "Stable" - }, - { - "Member": "virtual System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.EvaluateContentSafetyAsync(Microsoft.Extensions.AI.IChatClient contentSafetyServiceChatClient, System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, System.Collections.Generic.IEnumerable? additionalContext = null, string contentSafetyServicePayloadFormat = \"HumanSystem\", bool includeMetricNamesInContentSafetyServicePayload = true, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - }, - { - "Member": "virtual System.Collections.Generic.IReadOnlyList? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.FilterAdditionalContext(System.Collections.Generic.IEnumerable? additionalContext);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator.EvaluationMetricNames { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ContentSafetyServiceConfiguration(Azure.Core.TokenCredential credential, string subscriptionId, string resourceGroupName, string projectName, System.Net.Http.HttpClient? httpClient = null, int timeoutInSecondsForRetries = 300);", - "Stage": "Stable" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ContentSafetyServiceConfiguration(Azure.Core.TokenCredential credential, System.Uri endpoint, System.Net.Http.HttpClient? httpClient = null, int timeoutInSecondsForRetries = 300);", - "Stage": "Stable" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ContentSafetyServiceConfiguration(Azure.Core.TokenCredential credential, string endpointUrl, System.Net.Http.HttpClient? httpClient = null, int timeoutInSecondsForRetries = 300);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "Azure.Core.TokenCredential Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.Credential { get; }", - "Stage": "Stable" - }, - { - "Member": "System.Uri? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.Endpoint { get; }", - "Stage": "Stable" - }, - { - "Member": "System.Net.Http.HttpClient? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.HttpClient { get; }", - "Stage": "Stable" - }, - { - "Member": "string? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ProjectName { get; }", - "Stage": "Stable" - }, - { - "Member": "string? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.ResourceGroupName { get; }", - "Stage": "Stable" - }, - { - "Member": "string? Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.SubscriptionId { get; }", - "Stage": "Stable" - }, - { - "Member": "int Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration.TimeoutInSecondsForRetries { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "static class Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfigurationExtensions", - "Stage": "Stable", - "Methods": [ - { - "Member": "static Microsoft.Extensions.AI.Evaluation.ChatConfiguration Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfigurationExtensions.ToChatConfiguration(this Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration contentSafetyServiceConfiguration, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? originalChatConfiguration = null);", - "Stage": "Stable" - }, - { - "Member": "static Microsoft.Extensions.AI.Evaluation.ChatConfiguration Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfigurationExtensions.ToChatConfiguration(this Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyServiceConfiguration contentSafetyServiceConfiguration, Microsoft.Extensions.AI.IChatClient originalChatClient);", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.GroundednessProEvaluator();", - "Stage": "Stable" - }, - { - "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - }, - { - "Member": "override System.Collections.Generic.IReadOnlyList? Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.FilterAdditionalContext(System.Collections.Generic.IEnumerable? additionalContext);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluator.GroundednessProMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext(string groundingContext) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext.GroundednessProEvaluatorContext(string groundingContext);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "string Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext.GroundingContext { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.GroundednessProEvaluatorContext.GroundingContextName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.HateAndUnfairnessEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.HateAndUnfairnessEvaluator.HateAndUnfairnessEvaluator();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.HateAndUnfairnessEvaluator.HateAndUnfairnessMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.IndirectAttackEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.IndirectAttackEvaluator.IndirectAttackEvaluator();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.IndirectAttackEvaluator.IndirectAttackMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedMaterialEvaluator();", - "Stage": "Stable" - }, - { - "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedArtworkMetricName { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedFictionalCharactersMetricName { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedLogosAndBrandsMetricName { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ProtectedMaterialEvaluator.ProtectedMaterialMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.SelfHarmEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.SelfHarmEvaluator.SelfHarmEvaluator();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.SelfHarmEvaluator.SelfHarmMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.SexualEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.SexualEvaluator.SexualEvaluator();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.SexualEvaluator.SexualMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentSafetyEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.UngroundedAttributesEvaluator();", - "Stage": "Stable" - }, - { - "Member": "override System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Stable" - }, - { - "Member": "override System.Collections.Generic.IReadOnlyList? Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.FilterAdditionalContext(System.Collections.Generic.IEnumerable? additionalContext);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluator.UngroundedAttributesMetricName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext(string groundingContext) : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext.UngroundedAttributesEvaluatorContext(string groundingContext);", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "string Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext.GroundingContext { get; }", - "Stage": "Stable" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.UngroundedAttributesEvaluatorContext.GroundingContextName { get; }", - "Stage": "Stable" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Safety.ViolenceEvaluator : Microsoft.Extensions.AI.Evaluation.Safety.ContentHarmEvaluator", - "Stage": "Stable", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Safety.ViolenceEvaluator.ViolenceEvaluator();", - "Stage": "Stable" - } - ], - "Properties": [ - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Safety.ViolenceEvaluator.ViolenceMetricName { get; }", - "Stage": "Stable" - } - ] - } - ] -} \ No newline at end of file From e24cbf468c091a890943e7d9fd6a5240c32db22c Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Tue, 18 Nov 2025 21:29:04 +0800 Subject: [PATCH 05/13] Remove experimental evaluator classes from API JSON Deleted IntentResolutionEvaluator, TaskAdherenceEvaluator, ToolCallAccuracyEvaluator and their context classes from Microsoft.Extensions.AI.Evaluation.Quality.json. This streamlines the API surface by removing experimental features. --- ...soft.Extensions.AI.Evaluation.Quality.json | 144 ------------------ 1 file changed, 144 deletions(-) diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json index 866d5fbc493..7d49e8d7b9c 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json @@ -190,54 +190,6 @@ } ] }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Experimental", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.IntentResolutionEvaluator();", - "Stage": "Experimental" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Experimental" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.EvaluationMetricNames { get; }", - "Stage": "Experimental" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluator.IntentResolutionMetricName { get; }", - "Stage": "Experimental" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Experimental", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.IntentResolutionEvaluatorContext(params Microsoft.Extensions.AI.AITool[] toolDefinitions);", - "Stage": "Experimental" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.IntentResolutionEvaluatorContext(System.Collections.Generic.IEnumerable toolDefinitions);", - "Stage": "Experimental" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.ToolDefinitions { get; }", - "Stage": "Experimental" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.IntentResolutionEvaluatorContext.ToolDefinitionsContextName { get; }", - "Stage": "Experimental" - } - ] - }, { "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.RelevanceEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", "Stage": "Stable", @@ -341,102 +293,6 @@ "Stage": "Stable" } ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Experimental", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.TaskAdherenceEvaluator();", - "Stage": "Experimental" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Experimental" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.EvaluationMetricNames { get; }", - "Stage": "Experimental" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluator.TaskAdherenceMetricName { get; }", - "Stage": "Experimental" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Experimental", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.TaskAdherenceEvaluatorContext(params Microsoft.Extensions.AI.AITool[] toolDefinitions);", - "Stage": "Experimental" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.TaskAdherenceEvaluatorContext(System.Collections.Generic.IEnumerable toolDefinitions);", - "Stage": "Experimental" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.ToolDefinitions { get; }", - "Stage": "Experimental" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.TaskAdherenceEvaluatorContext.ToolDefinitionsContextName { get; }", - "Stage": "Experimental" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator", - "Stage": "Experimental", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.ToolCallAccuracyEvaluator();", - "Stage": "Experimental" - }, - { - "Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", - "Stage": "Experimental" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyCollection Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.EvaluationMetricNames { get; }", - "Stage": "Experimental" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluator.ToolCallAccuracyMetricName { get; }", - "Stage": "Experimental" - } - ] - }, - { - "Type": "sealed class Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext", - "Stage": "Experimental", - "Methods": [ - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolCallAccuracyEvaluatorContext(params Microsoft.Extensions.AI.AITool[] toolDefinitions);", - "Stage": "Experimental" - }, - { - "Member": "Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolCallAccuracyEvaluatorContext(System.Collections.Generic.IEnumerable toolDefinitions);", - "Stage": "Experimental" - } - ], - "Properties": [ - { - "Member": "System.Collections.Generic.IReadOnlyList Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolDefinitions { get; }", - "Stage": "Experimental" - }, - { - "Member": "static string Microsoft.Extensions.AI.Evaluation.Quality.ToolCallAccuracyEvaluatorContext.ToolDefinitionsContextName { get; }", - "Stage": "Experimental" - } - ] } ] } \ No newline at end of file From 6d9ec476527cd89b0fa6189b79d83c4245f83b20 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Tue, 18 Nov 2025 22:33:31 +0800 Subject: [PATCH 06/13] Mark GetCacheKey methods as Experimental Changed the 'Stage' of GetCacheKey methods in CachingChatClient, CachingEmbeddingGenerator, DistributedCachingChatClient, and DistributedCachingEmbeddingGenerator from 'Stable' to 'Experimental' to reflect their current API status. --- .../Microsoft.Extensions.AI/Microsoft.Extensions.AI.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json b/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json index 987979c33cb..bc313cd2e3c 100644 --- a/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json +++ b/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json @@ -15,7 +15,7 @@ }, { "Member": "abstract string Microsoft.Extensions.AI.CachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, scoped System.ReadOnlySpan additionalValues);", - "Stage": "Stable" + "Stage": "Experimental" }, { "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.CachingChatClient.GetResponseAsync(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", @@ -63,7 +63,7 @@ }, { "Member": "abstract string Microsoft.Extensions.AI.CachingEmbeddingGenerator.GetCacheKey(scoped System.ReadOnlySpan values);", - "Stage": "Stable" + "Stage": "Experimental" }, { "Member": "abstract System.Threading.Tasks.Task Microsoft.Extensions.AI.CachingEmbeddingGenerator.ReadCacheAsync(string key, System.Threading.CancellationToken cancellationToken);", @@ -315,7 +315,7 @@ }, { "Member": "override string Microsoft.Extensions.AI.DistributedCachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, scoped System.ReadOnlySpan additionalValues);", - "Stage": "Stable" + "Stage": "Experimental" }, { "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.DistributedCachingChatClient.ReadCacheAsync(string key, System.Threading.CancellationToken cancellationToken);", @@ -365,7 +365,7 @@ }, { "Member": "override string Microsoft.Extensions.AI.DistributedCachingEmbeddingGenerator.GetCacheKey(scoped System.ReadOnlySpan values);", - "Stage": "Stable" + "Stage": "Experimental" }, { "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.DistributedCachingEmbeddingGenerator.ReadCacheAsync(string key, System.Threading.CancellationToken cancellationToken);", From 6703fab975ac67d42ee7d5a015876e09455e7fef Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Fri, 21 Nov 2025 06:30:00 +0800 Subject: [PATCH 07/13] Mark cache key methods as experimental Added the [Experimental("MEAI001")] attribute to GetCacheKey methods in caching and distributed caching classes for chat and embedding clients. This clarifies that cache key generation is not guaranteed to be stable across releases. --- .../Microsoft.Extensions.AI.Evaluation.Quality.json | 2 +- .../Microsoft.Extensions.AI/ChatCompletion/CachingChatClient.cs | 2 ++ .../ChatCompletion/DistributedCachingChatClient.cs | 2 ++ .../Embeddings/CachingEmbeddingGenerator.cs | 2 ++ .../Embeddings/DistributedCachingEmbeddingGenerator.cs | 2 ++ 5 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json index 7d49e8d7b9c..aaa1cb13ed3 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json +++ b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json @@ -295,4 +295,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/CachingChatClient.cs b/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/CachingChatClient.cs index cb5482ac213..2a0459f9954 100644 --- a/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/CachingChatClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/CachingChatClient.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; @@ -147,6 +148,7 @@ private async IAsyncEnumerable GetCachedStreamingResponseAsy /// The to inform the key. /// Any other values to inform the key. /// The computed key. + [Experimental("MEAI001")] protected abstract string GetCacheKey(IEnumerable messages, ChatOptions? options, params ReadOnlySpan additionalValues); /// diff --git a/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/DistributedCachingChatClient.cs b/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/DistributedCachingChatClient.cs index 44ddcf84081..b9c39519968 100644 --- a/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/DistributedCachingChatClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI/ChatCompletion/DistributedCachingChatClient.cs @@ -4,6 +4,7 @@ using System; using System.Buffers; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text.Json; using System.Threading; @@ -132,6 +133,7 @@ protected override async Task WriteCacheStreamingAsync(string key, IReadOnlyList /// The generated cache key is not guaranteed to be stable across releases of the library. /// /// + [Experimental("MEAI001")] protected override string GetCacheKey(IEnumerable messages, ChatOptions? options, params ReadOnlySpan additionalValues) { const int FixedValuesCount = 3; diff --git a/src/Libraries/Microsoft.Extensions.AI/Embeddings/CachingEmbeddingGenerator.cs b/src/Libraries/Microsoft.Extensions.AI/Embeddings/CachingEmbeddingGenerator.cs index 926378ad517..dd43c8c389e 100644 --- a/src/Libraries/Microsoft.Extensions.AI/Embeddings/CachingEmbeddingGenerator.cs +++ b/src/Libraries/Microsoft.Extensions.AI/Embeddings/CachingEmbeddingGenerator.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -114,6 +115,7 @@ public override async Task> GenerateAsync( /// Computes a cache key for the specified values. /// The values to inform the key. /// The computed key. + [Experimental("MEAI001")] protected abstract string GetCacheKey(params ReadOnlySpan values); /// Returns a previously cached , if available. diff --git a/src/Libraries/Microsoft.Extensions.AI/Embeddings/DistributedCachingEmbeddingGenerator.cs b/src/Libraries/Microsoft.Extensions.AI/Embeddings/DistributedCachingEmbeddingGenerator.cs index 7da9671554b..daf7a11b64f 100644 --- a/src/Libraries/Microsoft.Extensions.AI/Embeddings/DistributedCachingEmbeddingGenerator.cs +++ b/src/Libraries/Microsoft.Extensions.AI/Embeddings/DistributedCachingEmbeddingGenerator.cs @@ -4,6 +4,7 @@ using System; using System.Buffers; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text.Json; using System.Text.Json.Serialization.Metadata; @@ -108,6 +109,7 @@ protected override async Task WriteCacheAsync(string key, TEmbedding value, Canc /// The generated cache key is not guaranteed to be stable across releases of the library. /// /// + [Experimental("MEAI001")] protected override string GetCacheKey(params ReadOnlySpan values) { const int FixedValuesCount = 1; From 6a1d0e058deffa2d20920207ea34d7b8a434c7e9 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Fri, 21 Nov 2025 06:50:09 +0800 Subject: [PATCH 08/13] Remove IBufferedLogger interface from FakeLogger The FakeLogger class no longer implements the IBufferedLogger interface. This change updates the type definition in the JSON metadata to reflect the current class inheritance. --- .../Microsoft.Extensions.Diagnostics.Testing.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json b/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json index 1ad951ed9d2..60d78090254 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.Testing/Microsoft.Extensions.Diagnostics.Testing.json @@ -114,7 +114,7 @@ ] }, { - "Type": "class Microsoft.Extensions.Logging.Testing.FakeLogger : Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.Abstractions.IBufferedLogger", + "Type": "class Microsoft.Extensions.Logging.Testing.FakeLogger : Microsoft.Extensions.Logging.ILogger", "Stage": "Stable", "Methods": [ { From 7ee0ba99d0f67b86a741d05e7ed7041a7e9126f3 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Sat, 22 Nov 2025 04:50:18 +0800 Subject: [PATCH 09/13] Mark Snapshot property as obsolete and remove Experimental attribute Changed the 'Stage' of the Snapshot property in the JSON metadata from 'Experimental' to 'Obsolete' and removed the Experimental attribute from the Snapshot property in ResourceUtilization.cs. This reflects the deprecation of the Snapshot property and the obseletion of the class. --- .../Microsoft.Extensions.Diagnostics.ResourceMonitoring.json | 2 +- .../ResourceUtilization.cs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json index 4d732737e14..6ae27dd5455 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json @@ -157,7 +157,7 @@ }, { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.Snapshot { get; }", - "Stage": "Experimental" + "Stage": "Obsolete" }, { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.SystemResources { get; }", diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceUtilization.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceUtilization.cs index 9c7c7d2773b..095b860400e 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceUtilization.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceUtilization.cs @@ -48,7 +48,6 @@ public readonly struct ResourceUtilization /// /// Gets the latest snapshot of the resource utilization of the system. /// - [Experimental(diagnosticId: DiagnosticIds.Experiments.ResourceMonitoring, UrlFormat = DiagnosticIds.UrlFormat)] public Snapshot Snapshot { get; } = default; /// From eb379b5b92bbc171149a034148dad9c8b39d660a Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Sat, 22 Nov 2025 04:54:32 +0800 Subject: [PATCH 10/13] Remove Experimental attribute from resource monitoring API The [Experimental] attribute was removed from ISnapshotProvider and Snapshot classes, leaving only the [Obsolete] attribute. This clarifies the API status and reduces attribute clutter. --- .../ISnapshotProvider.cs | 1 - .../Snapshot.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs index a143724b4b8..91a543e9337 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs @@ -10,7 +10,6 @@ namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring; /// /// An interface to be implemented by a provider that represents an underlying system and gets resources data about it. /// -[Experimental(diagnosticId: DiagnosticIds.Experiments.ResourceMonitoring, UrlFormat = DiagnosticIds.UrlFormat)] [Obsolete(DiagnosticIds.Obsoletions.NonObservableResourceMonitoringApiMessage, DiagnosticId = DiagnosticIds.Obsoletions.NonObservableResourceMonitoringApiDiagId, UrlFormat = DiagnosticIds.UrlFormat)] diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Snapshot.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Snapshot.cs index 174a46ebb6a..c160ef3aeb6 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Snapshot.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Snapshot.cs @@ -12,7 +12,6 @@ namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring; /// A snapshot of CPU and memory usage taken periodically over time. /// [SuppressMessage("Performance", "CA1815:Override equals and operator equals on value types", Justification = "Comparing instances is not an expected scenario")] -[Experimental(diagnosticId: DiagnosticIds.Experiments.ResourceMonitoring, UrlFormat = DiagnosticIds.UrlFormat)] [Obsolete(DiagnosticIds.Obsoletions.NonObservableResourceMonitoringApiMessage, DiagnosticId = DiagnosticIds.Obsoletions.NonObservableResourceMonitoringApiDiagId, UrlFormat = DiagnosticIds.UrlFormat)] From e99b439ee6b809bda4a7c58e34dbc000c1df7cb8 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Sat, 22 Nov 2025 05:23:42 +0800 Subject: [PATCH 11/13] Mark resource monitoring APIs as obsolete Changed the stage of ISnapshotProvider and Snapshot types and their members from 'Experimental' to 'Obsolete' in the resource monitoring JSON manifest. Also removed unused usings from ISnapshotProvider.cs. --- .../ISnapshotProvider.cs | 4 ---- ...nsions.Diagnostics.ResourceMonitoring.json | 20 +++++++++---------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs index 91a543e9337..e992f9dff85 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs @@ -1,10 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System; -using System.Diagnostics.CodeAnalysis; -using Microsoft.Shared.DiagnosticIds; - namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring; /// diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json index 6ae27dd5455..513d391402d 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json @@ -39,17 +39,17 @@ }, { "Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider", - "Stage": "Experimental", + "Stage": "Obsolete", "Methods": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.GetSnapshot();", - "Stage": "Experimental" + "Stage": "Obsolete" } ], "Properties": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.Resources { get; }", - "Stage": "Experimental" + "Stage": "Obsolete" } ] }, @@ -167,33 +167,33 @@ }, { "Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot", - "Stage": "Experimental", + "Stage": "Obsolete", "Methods": [ { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot(System.TimeSpan totalTimeSinceStart, System.TimeSpan kernelTimeSinceStart, System.TimeSpan userTimeSinceStart, ulong memoryUsageInBytes);", - "Stage": "Experimental" + "Stage": "Obsolete" }, { "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot();", - "Stage": "Experimental" + "Stage": "Obsolete" } ], "Properties": [ { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.KernelTimeSinceStart { get; }", - "Stage": "Experimental" + "Stage": "Obsolete" }, { "Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.MemoryUsageInBytes { get; }", - "Stage": "Experimental" + "Stage": "Obsolete" }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.TotalTimeSinceStart { get; }", - "Stage": "Experimental" + "Stage": "Obsolete" }, { "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.UserTimeSinceStart { get; }", - "Stage": "Experimental" + "Stage": "Obsolete" } ] }, From de2fef7371a11f11395507c11f0ecdf112a2bc73 Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Sat, 22 Nov 2025 05:34:49 +0800 Subject: [PATCH 12/13] Add CP0002 baseline suppressions for .NET 10.0 APIs Added baseline suppressions for CP0002 diagnostics on new .NET 10.0 API members in Microsoft.Extensions.AI.Abstractions, including properties and methods for ChatOptions, ChatResponse, ChatResponseUpdate, and HostedMcpServerTool. --- .../CompatibilitySuppressions.xml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/Libraries/Microsoft.Extensions.AI.Abstractions/CompatibilitySuppressions.xml b/src/Libraries/Microsoft.Extensions.AI.Abstractions/CompatibilitySuppressions.xml index 993fd3d3ff0..aca57a51fee 100644 --- a/src/Libraries/Microsoft.Extensions.AI.Abstractions/CompatibilitySuppressions.xml +++ b/src/Libraries/Microsoft.Extensions.AI.Abstractions/CompatibilitySuppressions.xml @@ -127,6 +127,48 @@ lib/net9.0/Microsoft.Extensions.AI.Abstractions.dll true + + CP0002 + M:Microsoft.Extensions.AI.ChatOptions.get_ContinuationToken + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + true + + + CP0002 + M:Microsoft.Extensions.AI.ChatResponse.get_ContinuationToken + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + true + + + CP0002 + M:Microsoft.Extensions.AI.ChatResponseUpdate.get_ContinuationToken + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + true + + + CP0002 + M:Microsoft.Extensions.AI.HostedMcpServerTool.get_Headers + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + true + + + CP0002 + M:Microsoft.Extensions.AI.HostedMcpServerTool.get_Url + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + true + + + CP0002 + M:Microsoft.Extensions.AI.HostedMcpServerTool.set_Headers(System.Collections.Generic.IDictionary{System.String,System.String}) + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + lib/net10.0/Microsoft.Extensions.AI.Abstractions.dll + true + CP0002 M:Microsoft.Extensions.AI.ChatOptions.get_ContinuationToken From 4940271e9d8b42f74368bfe889b59139c603686b Mon Sep 17 00:00:00 2001 From: Eric Chapman Date: Sat, 22 Nov 2025 05:54:56 +0800 Subject: [PATCH 13/13] Add missing using directives to ISnapshotProvider Added 'using System' and 'using Microsoft.Shared.DiagnosticIds' to ISnapshotProvider.cs to ensure required namespaces are available. --- .../ISnapshotProvider.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs index e992f9dff85..0c2a0a657c7 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using Microsoft.Shared.DiagnosticIds; + namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring; ///