Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
5eaeaf8
Add support for custom headers in HostedMcpServerTool
echapmanFromBunnings Nov 17, 2025
00acd8a
Update API baselines for .NET 10 and add new AI libraries
echapmanFromBunnings Nov 17, 2025
2af4dba
Remove NLP evaluation baseline and update API files
echapmanFromBunnings Nov 18, 2025
64bb9ae
Remove Safety API contract JSON file
echapmanFromBunnings Nov 18, 2025
e24cbf4
Remove experimental evaluator classes from API JSON
echapmanFromBunnings Nov 18, 2025
6d9ec47
Mark GetCacheKey methods as Experimental
echapmanFromBunnings Nov 18, 2025
b240f4b
Merge branch 'main' into headersOnMcpTools
echapmanFromBunnings Nov 19, 2025
a321623
Merge branch 'main' into headersOnMcpTools
echapmanFromBunnings Nov 20, 2025
6703fab
Mark cache key methods as experimental
echapmanFromBunnings Nov 20, 2025
ed5deb6
Merge branch 'main' into headersOnMcpTools
echapmanFromBunnings Nov 20, 2025
1a16923
Merge branch 'main' into headersOnMcpTools
echapmanFromBunnings Nov 20, 2025
6a1d0e0
Remove IBufferedLogger interface from FakeLogger
echapmanFromBunnings Nov 20, 2025
dc6f8e9
Merge branch 'main' into headersOnMcpTools
echapmanFromBunnings Nov 21, 2025
7ee0ba9
Mark Snapshot property as obsolete and remove Experimental attribute
echapmanFromBunnings Nov 21, 2025
eb379b5
Remove Experimental attribute from resource monitoring API
echapmanFromBunnings Nov 21, 2025
e99b439
Mark resource monitoring APIs as obsolete
echapmanFromBunnings Nov 21, 2025
de2fef7
Add CP0002 baseline suppressions for .NET 10.0 APIs
echapmanFromBunnings Nov 21, 2025
44fcee2
Merge branch 'main' into headersOnMcpTools
echapmanFromBunnings Nov 21, 2025
4940271
Add missing using directives to ISnapshotProvider
echapmanFromBunnings Nov 21, 2025
5db45c7
Merge branch 'headersOnMcpTools' of https://github.com/echapmanFromBu…
echapmanFromBunnings Nov 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions scripts/MakeApiBaselines.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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"
}
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,9 @@ private static string ValidateUrl(Uri serverUrl)
/// </para>
/// </remarks>
public HostedMcpServerToolApprovalMode? ApprovalMode { get; set; }

/// <summary>
/// Gets or sets additional headers to include in requests to the remote MCP server.
/// </summary>
public IDictionary<string, string>? Headers { get; set; }
}
Original file line number Diff line number Diff line change
@@ -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<string, Microsoft.Extensions.AI.Embedding<float>> 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.DataContent, Microsoft.Extensions.AI.Embedding<float>> Microsoft.Extensions.AI.AzureAIInferenceExtensions.AsIEmbeddingGenerator(this Azure.AI.Inference.ImageEmbeddingsClient imageEmbeddingsClient, string? defaultModelId = null, int? defaultModelDimensions = null);",
"Stage": "Stable"
}
]
}
]
}
Original file line number Diff line number Diff line change
@@ -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": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
{
"Name": "Microsoft.Extensions.AI.Evaluation.NLP, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
Copy link
Contributor

@shyamnamboodiripad shyamnamboodiripad Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The NLP package is still in preview and should not have the API json turned on. Could you please revert this?

"Types": [
{
"Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.BLEUEvaluator();",
"Stage": "Stable"
},
{
"Member": "System.Threading.Tasks.ValueTask<Microsoft.Extensions.AI.Evaluation.EvaluationResult> Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage> messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.Evaluation.EvaluationContext>? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.BLEUMetricName { get; }",
"Stage": "Stable"
},
{
"Member": "System.Collections.Generic.IReadOnlyCollection<string> Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluator.EvaluationMetricNames { get; }",
"Stage": "Stable"
}
]
},
{
"Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.BLEUEvaluatorContext(System.Collections.Generic.IEnumerable<string> references);",
"Stage": "Stable"
},
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.BLEUEvaluatorContext(params string[] references);",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "System.Collections.Generic.IReadOnlyList<string> Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.References { get; }",
"Stage": "Stable"
},
{
"Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.BLEUEvaluatorContext.ReferencesContextName { get; }",
"Stage": "Stable"
}
]
},
{
"Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.F1Evaluator();",
"Stage": "Stable"
},
{
"Member": "System.Threading.Tasks.ValueTask<Microsoft.Extensions.AI.Evaluation.EvaluationResult> Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.EvaluateAsync(System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage> messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.Evaluation.EvaluationContext>? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "System.Collections.Generic.IReadOnlyCollection<string> Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.EvaluationMetricNames { get; }",
"Stage": "Stable"
},
{
"Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.F1Evaluator.F1MetricName { get; }",
"Stage": "Stable"
}
]
},
{
"Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.F1EvaluatorContext(string groundTruth);",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "string Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.GroundTruth { get; }",
"Stage": "Stable"
},
{
"Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.F1EvaluatorContext.GroundTruthContextName { get; }",
"Stage": "Stable"
}
]
},
{
"Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator : Microsoft.Extensions.AI.Evaluation.IEvaluator",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.GLEUEvaluator();",
"Stage": "Stable"
},
{
"Member": "System.Threading.Tasks.ValueTask<Microsoft.Extensions.AI.Evaluation.EvaluationResult> Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.EvaluateAsync(System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.ChatMessage> messages, Microsoft.Extensions.AI.ChatResponse modelResponse, Microsoft.Extensions.AI.Evaluation.ChatConfiguration? chatConfiguration = null, System.Collections.Generic.IEnumerable<Microsoft.Extensions.AI.Evaluation.EvaluationContext>? additionalContext = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "System.Collections.Generic.IReadOnlyCollection<string> Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.EvaluationMetricNames { get; }",
"Stage": "Stable"
},
{
"Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluator.GLEUMetricName { get; }",
"Stage": "Stable"
}
]
},
{
"Type": "sealed class Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext : Microsoft.Extensions.AI.Evaluation.EvaluationContext",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.GLEUEvaluatorContext(System.Collections.Generic.IEnumerable<string> references);",
"Stage": "Stable"
},
{
"Member": "Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.GLEUEvaluatorContext(params string[] references);",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "System.Collections.Generic.IReadOnlyList<string> Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.References { get; }",
"Stage": "Stable"
},
{
"Member": "static string Microsoft.Extensions.AI.Evaluation.NLP.GLEUEvaluatorContext.ReferencesContextName { get; }",
"Stage": "Stable"
}
]
}
]
}
Loading
Loading