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/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 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 32faa8a1f4d..3303d6a26fc 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", @@ -727,6 +727,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", @@ -1001,20 +1011,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" }, { @@ -1097,6 +1115,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" @@ -1273,6 +1295,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" @@ -1423,6 +1449,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" @@ -1434,14 +1468,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" } ] }, @@ -1476,11 +1542,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" }, { @@ -1512,15 +1578,15 @@ ], "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" }, { @@ -1613,6 +1679,74 @@ } ] }, + { + "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", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.DelegatingSpeechToTextClient.DelegatingSpeechToTextClient(Microsoft.Extensions.AI.ISpeechToTextClient innerClient);", + "Stage": "Experimental" + }, + { + "Member": "void Microsoft.Extensions.AI.DelegatingSpeechToTextClient.Dispose();", + "Stage": "Experimental" + }, + { + "Member": "virtual void Microsoft.Extensions.AI.DelegatingSpeechToTextClient.Dispose(bool disposing);", + "Stage": "Experimental" + }, + { + "Member": "virtual object? Microsoft.Extensions.AI.DelegatingSpeechToTextClient.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + }, + { + "Member": "virtual System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.DelegatingSpeechToTextClient.GetStreamingTextAsync(System.IO.Stream audioSpeechStream, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "virtual System.Threading.Tasks.Task Microsoft.Extensions.AI.DelegatingSpeechToTextClient.GetTextAsync(System.IO.Stream audioSpeechStream, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.ISpeechToTextClient Microsoft.Extensions.AI.DelegatingSpeechToTextClient.InnerClient { get; }", + "Stage": "Experimental" + } + ] + }, { "Type": "class Microsoft.Extensions.AI.Embedding", "Stage": "Stable", @@ -1779,6 +1913,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", @@ -1931,6 +2105,34 @@ } ] }, + { + "Type": "sealed class Microsoft.Extensions.AI.HostedFileContent : Microsoft.Extensions.AI.AIContent", + "Stage": "Stable", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.HostedFileContent.HostedFileContent(string fileId);", + "Stage": "Stable" + }, + { + "Member": "bool Microsoft.Extensions.AI.HostedFileContent.HasTopLevelMediaType(string topLevelType);", + "Stage": "Stable" + } + ], + "Properties": [ + { + "Member": "string Microsoft.Extensions.AI.HostedFileContent.FileId { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.AI.HostedFileContent.MediaType { get; set; }", + "Stage": "Stable" + }, + { + "Member": "string? Microsoft.Extensions.AI.HostedFileContent.Name { get; set; }", + "Stage": "Stable" + } + ] + }, { "Type": "class Microsoft.Extensions.AI.HostedFileSearchTool : Microsoft.Extensions.AI.AITool", "Stage": "Stable", @@ -1956,86 +2158,216 @@ ] }, { - "Type": "class Microsoft.Extensions.AI.HostedWebSearchTool : Microsoft.Extensions.AI.AITool", - "Stage": "Stable", + "Type": "class Microsoft.Extensions.AI.HostedImageGenerationTool : Microsoft.Extensions.AI.AITool", + "Stage": "Experimental", "Methods": [ { - "Member": "Microsoft.Extensions.AI.HostedWebSearchTool.HostedWebSearchTool();", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedImageGenerationTool.HostedImageGenerationTool();", + "Stage": "Experimental" } ], "Properties": [ { - "Member": "override string Microsoft.Extensions.AI.HostedWebSearchTool.Name { get; }", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.ImageGenerationOptions? Microsoft.Extensions.AI.HostedImageGenerationTool.Options { get; set; }", + "Stage": "Experimental" } ] }, { - "Type": "sealed class Microsoft.Extensions.AI.HostedFileContent : Microsoft.Extensions.AI.AIContent", - "Stage": "Stable", + "Type": "class Microsoft.Extensions.AI.HostedMcpServerTool : Microsoft.Extensions.AI.AITool", + "Stage": "Experimental", "Methods": [ { - "Member": "Microsoft.Extensions.AI.HostedFileContent.HostedFileContent(string fileId);", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedMcpServerTool.HostedMcpServerTool(string serverName, string serverAddress);", + "Stage": "Experimental" }, { - "Member": "bool Microsoft.Extensions.AI.HostedFileContent.HasTopLevelMediaType(string topLevelType);", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedMcpServerTool.HostedMcpServerTool(string serverName, System.Uri serverUrl);", + "Stage": "Experimental" } ], "Properties": [ { - "Member": "string Microsoft.Extensions.AI.HostedFileContent.FileId { get; set; }", - "Stage": "Stable" + "Member": "System.Collections.Generic.IList? Microsoft.Extensions.AI.HostedMcpServerTool.AllowedTools { get; set; }", + "Stage": "Experimental" }, { - "Member": "string? Microsoft.Extensions.AI.HostedFileContent.MediaType { get; set; }", - "Stage": "Stable" + "Member": "Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode? Microsoft.Extensions.AI.HostedMcpServerTool.ApprovalMode { get; set; }", + "Stage": "Experimental" }, { - "Member": "string? Microsoft.Extensions.AI.HostedFileContent.Name { get; set; }", - "Stage": "Stable" + "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.HostedVectorStoreContent : Microsoft.Extensions.AI.AIContent", - "Stage": "Stable", + "Type": "sealed class Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode : Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode", + "Stage": "Experimental", "Methods": [ { - "Member": "Microsoft.Extensions.AI.HostedVectorStoreContent.HostedVectorStoreContent(string vectorStoreId);", - "Stage": "Stable" + "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": "string Microsoft.Extensions.AI.HostedVectorStoreContent.VectorStoreId { get; set; }", - "Stage": "Stable" + "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": "interface Microsoft.Extensions.AI.IChatClient : System.IDisposable", - "Stage": "Stable", + "Type": "sealed class Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode : Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode", + "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.HostedMcpServerToolNeverRequireApprovalMode.HostedMcpServerToolNeverRequireApprovalMode();", + "Stage": "Experimental" }, { - "Member": "object? Microsoft.Extensions.AI.IChatClient.GetService(System.Type serviceType, object? serviceKey = null);", - "Stage": "Stable" + "Member": "override bool Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode.Equals(object? obj);", + "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": "override int Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode.GetHashCode();", + "Stage": "Experimental" } ] }, { - "Type": "interface Microsoft.Extensions.AI.IEmbeddingGenerator : System.IDisposable", - "Stage": "Stable", + "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": [ { "Member": "object? Microsoft.Extensions.AI.IEmbeddingGenerator.GetService(System.Type serviceType, object? serviceKey = null);", @@ -2053,6 +2385,361 @@ } ] }, + { + "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", + "Methods": [ + { + "Member": "object? Microsoft.Extensions.AI.ISpeechToTextClient.GetService(System.Type serviceType, object? serviceKey = null);", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.ISpeechToTextClient.GetStreamingTextAsync(System.IO.Stream audioSpeechStream, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "System.Threading.Tasks.Task Microsoft.Extensions.AI.ISpeechToTextClient.GetTextAsync(System.IO.Stream audioSpeechStream, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "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", @@ -2095,6 +2782,352 @@ } ] }, + { + "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", + "Methods": [ + { + "Member": "static TService? Microsoft.Extensions.AI.SpeechToTextClientExtensions.GetService(this Microsoft.Extensions.AI.ISpeechToTextClient client, object? serviceKey = null);", + "Stage": "Experimental" + }, + { + "Member": "static System.Collections.Generic.IAsyncEnumerable Microsoft.Extensions.AI.SpeechToTextClientExtensions.GetStreamingTextAsync(this Microsoft.Extensions.AI.ISpeechToTextClient client, Microsoft.Extensions.AI.DataContent audioSpeechContent, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + }, + { + "Member": "static System.Threading.Tasks.Task Microsoft.Extensions.AI.SpeechToTextClientExtensions.GetTextAsync(this Microsoft.Extensions.AI.ISpeechToTextClient client, Microsoft.Extensions.AI.DataContent audioSpeechContent, Microsoft.Extensions.AI.SpeechToTextOptions? options = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.SpeechToTextClientMetadata", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.SpeechToTextClientMetadata.SpeechToTextClientMetadata(string? providerName = null, System.Uri? providerUri = null, string? defaultModelId = null);", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextClientMetadata.DefaultModelId { get; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextClientMetadata.ProviderName { get; }", + "Stage": "Experimental" + }, + { + "Member": "System.Uri? Microsoft.Extensions.AI.SpeechToTextClientMetadata.ProviderUri { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.SpeechToTextOptions", + "Stage": "Experimental", + "Methods": [ + { + "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" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.SpeechToTextOptions.AdditionalProperties { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextOptions.ModelId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Func? Microsoft.Extensions.AI.SpeechToTextOptions.RawRepresentationFactory { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextOptions.SpeechLanguage { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "int? Microsoft.Extensions.AI.SpeechToTextOptions.SpeechSampleRate { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextOptions.TextLanguage { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.SpeechToTextResponse", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponse.SpeechToTextResponse();", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponse.SpeechToTextResponse(System.Collections.Generic.IList contents);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponse.SpeechToTextResponse(string? content);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdate[] Microsoft.Extensions.AI.SpeechToTextResponse.ToSpeechToTextResponseUpdates();", + "Stage": "Experimental" + }, + { + "Member": "override string Microsoft.Extensions.AI.SpeechToTextResponse.ToString();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.SpeechToTextResponse.AdditionalProperties { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.AI.SpeechToTextResponse.Contents { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.TimeSpan? Microsoft.Extensions.AI.SpeechToTextResponse.EndTime { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextResponse.ModelId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "object? Microsoft.Extensions.AI.SpeechToTextResponse.RawRepresentation { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextResponse.ResponseId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.TimeSpan? Microsoft.Extensions.AI.SpeechToTextResponse.StartTime { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.SpeechToTextResponse.Text { get; }", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.UsageDetails? Microsoft.Extensions.AI.SpeechToTextResponse.Usage { get; set; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "class Microsoft.Extensions.AI.SpeechToTextResponseUpdate", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdate.SpeechToTextResponseUpdate();", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdate.SpeechToTextResponseUpdate(System.Collections.Generic.IList contents);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdate.SpeechToTextResponseUpdate(string? content);", + "Stage": "Experimental" + }, + { + "Member": "override string Microsoft.Extensions.AI.SpeechToTextResponseUpdate.ToString();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.AI.AdditionalPropertiesDictionary? Microsoft.Extensions.AI.SpeechToTextResponseUpdate.AdditionalProperties { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.Collections.Generic.IList Microsoft.Extensions.AI.SpeechToTextResponseUpdate.Contents { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.TimeSpan? Microsoft.Extensions.AI.SpeechToTextResponseUpdate.EndTime { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdate.Kind { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextResponseUpdate.ModelId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "object? Microsoft.Extensions.AI.SpeechToTextResponseUpdate.RawRepresentation { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string? Microsoft.Extensions.AI.SpeechToTextResponseUpdate.ResponseId { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "System.TimeSpan? Microsoft.Extensions.AI.SpeechToTextResponseUpdate.StartTime { get; set; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.SpeechToTextResponseUpdate.Text { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "static class Microsoft.Extensions.AI.SpeechToTextResponseUpdateExtensions", + "Stage": "Experimental", + "Methods": [ + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextResponse Microsoft.Extensions.AI.SpeechToTextResponseUpdateExtensions.ToSpeechToTextResponse(this System.Collections.Generic.IEnumerable updates);", + "Stage": "Experimental" + }, + { + "Member": "static System.Threading.Tasks.Task Microsoft.Extensions.AI.SpeechToTextResponseUpdateExtensions.ToSpeechToTextResponseAsync(this System.Collections.Generic.IAsyncEnumerable updates, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));", + "Stage": "Experimental" + } + ] + }, + { + "Type": "readonly struct Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind : System.IEquatable", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.SpeechToTextResponseUpdateKind(string value);", + "Stage": "Experimental" + }, + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.SpeechToTextResponseUpdateKind();", + "Stage": "Experimental" + }, + { + "Member": "override bool Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Equals(object? obj);", + "Stage": "Experimental" + }, + { + "Member": "bool Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Equals(Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind other);", + "Stage": "Experimental" + }, + { + "Member": "override int Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.GetHashCode();", + "Stage": "Experimental" + }, + { + "Member": "static bool Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.operator ==(Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind left, Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind right);", + "Stage": "Experimental" + }, + { + "Member": "static bool Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.operator !=(Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind left, Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind right);", + "Stage": "Experimental" + }, + { + "Member": "override string Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.ToString();", + "Stage": "Experimental" + } + ], + "Properties": [ + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Error { get; }", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.SessionClose { get; }", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.SessionOpen { get; }", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.TextUpdated { get; }", + "Stage": "Experimental" + }, + { + "Member": "static Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.TextUpdating { get; }", + "Stage": "Experimental" + }, + { + "Member": "string Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Value { get; }", + "Stage": "Experimental" + } + ] + }, + { + "Type": "sealed class Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Converter", + "Stage": "Experimental", + "Methods": [ + { + "Member": "Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Converter.Converter();", + "Stage": "Experimental" + }, + { + "Member": "override Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Converter.Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options);", + "Stage": "Experimental" + }, + { + "Member": "override void Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind.Converter.Write(System.Text.Json.Utf8JsonWriter writer, Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind value, System.Text.Json.JsonSerializerOptions options);", + "Stage": "Experimental" + } + ] + }, { "Type": "sealed class Microsoft.Extensions.AI.TextContent : Microsoft.Extensions.AI.AIContent", "Stage": "Stable", @@ -2130,11 +3163,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" } ] @@ -2150,11 +3183,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" } ] @@ -2238,6 +3271,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.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.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.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json b/src/Libraries/Microsoft.Extensions.AI.Evaluation.Quality/Microsoft.Extensions.AI.Evaluation.Quality.json index d09ee7c900a..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 @@ -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", @@ -275,11 +275,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" } ], @@ -295,4 +295,4 @@ ] } ] -} \ 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..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 @@ -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", 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..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 @@ -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", 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.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/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; diff --git a/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json b/src/Libraries/Microsoft.Extensions.AI/Microsoft.Extensions.AI.json index 45b72f0aad1..bc313cd2e3c 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,15 +10,12 @@ "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);", - "Stage": "Stable" + "Member": "abstract string Microsoft.Extensions.AI.CachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, scoped System.ReadOnlySpan additionalValues);", + "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));", @@ -65,11 +62,8 @@ "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);", - "Stage": "Stable" + "Member": "abstract string Microsoft.Extensions.AI.CachingEmbeddingGenerator.GetCacheKey(scoped System.ReadOnlySpan values);", + "Stage": "Experimental" }, { "Member": "abstract System.Threading.Tasks.Task Microsoft.Extensions.AI.CachingEmbeddingGenerator.ReadCacheAsync(string key, System.Threading.CancellationToken cancellationToken);", @@ -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,11 +314,8 @@ "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);", - "Stage": "Stable" + "Member": "override string Microsoft.Extensions.AI.DistributedCachingChatClient.GetCacheKey(System.Collections.Generic.IEnumerable messages, Microsoft.Extensions.AI.ChatOptions? options, scoped System.ReadOnlySpan additionalValues);", + "Stage": "Experimental" }, { "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.DistributedCachingChatClient.ReadCacheAsync(string key, System.Threading.CancellationToken cancellationToken);", @@ -339,11 +364,8 @@ "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);", - "Stage": "Stable" + "Member": "override string Microsoft.Extensions.AI.DistributedCachingEmbeddingGenerator.GetCacheKey(scoped System.ReadOnlySpan values);", + "Stage": "Experimental" }, { "Member": "override System.Threading.Tasks.Task Microsoft.Extensions.AI.DistributedCachingEmbeddingGenerator.ReadCacheAsync(string key, System.Threading.CancellationToken cancellationToken);", @@ -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/ISnapshotProvider.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs index a143724b4b8..0c2a0a657c7 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ISnapshotProvider.cs @@ -2,7 +2,6 @@ // 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; @@ -10,7 +9,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/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.json index f20b3d49685..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 @@ -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": "Obsolete", + "Methods": [ + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.GetSnapshot();", + "Stage": "Obsolete" + } + ], + "Properties": [ + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.Resources { get; }", + "Stage": "Obsolete" } ] }, { "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": "Obsolete" }, { "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": "Obsolete", + "Methods": [ + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot(System.TimeSpan totalTimeSinceStart, System.TimeSpan kernelTimeSinceStart, System.TimeSpan userTimeSinceStart, ulong memoryUsageInBytes);", + "Stage": "Obsolete" + }, + { + "Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot();", + "Stage": "Obsolete" + } + ], + "Properties": [ + { + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.KernelTimeSinceStart { get; }", + "Stage": "Obsolete" + }, + { + "Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.MemoryUsageInBytes { get; }", + "Stage": "Obsolete" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.TotalTimeSinceStart { get; }", + "Stage": "Obsolete" + }, + { + "Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.UserTimeSinceStart { get; }", + "Stage": "Obsolete" } ] }, { "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.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; /// 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)] 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..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 @@ -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" @@ -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", 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);