3 types derived from HostedMcpServerToolApprovalMode
Microsoft.Extensions.AI.Abstractions (3)
HostedMcpServerToolAlwaysRequireApprovalMode.cs (1)
15
public sealed class HostedMcpServerToolAlwaysRequireApprovalMode :
HostedMcpServerToolApprovalMode
HostedMcpServerToolNeverRequireApprovalMode.cs (1)
15
public sealed class HostedMcpServerToolNeverRequireApprovalMode :
HostedMcpServerToolApprovalMode
HostedMcpServerToolRequireSpecificApprovalMode.cs (1)
13
public sealed class HostedMcpServerToolRequireSpecificApprovalMode :
HostedMcpServerToolApprovalMode
60 references to HostedMcpServerToolApprovalMode
Microsoft.Extensions.AI.Abstractions (11)
HostedMcpServerToolAlwaysRequireApprovalMode.cs (2)
12
/// Use <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to get an instance of <see cref="HostedMcpServerToolAlwaysRequireApprovalMode"/>.
18
/// <remarks>Use <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to get an instance of <see cref="HostedMcpServerToolAlwaysRequireApprovalMode"/>.</remarks>
HostedMcpServerToolApprovalMode.cs (3)
24
/// Gets a predefined <see cref="
HostedMcpServerToolApprovalMode
"/> indicating that all tool calls to a hosted MCP server always require approval.
29
/// Gets a predefined <see cref="
HostedMcpServerToolApprovalMode
"/> indicating that all tool calls to a hosted MCP server never require approval.
38
/// Instantiates a <see cref="
HostedMcpServerToolApprovalMode
"/> that specifies approval behavior for individual tool names.
HostedMcpServerToolNeverRequireApprovalMode.cs (2)
12
/// Use <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to get an instance of <see cref="HostedMcpServerToolNeverRequireApprovalMode"/>.
18
/// <remarks>Use <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to get an instance of <see cref="HostedMcpServerToolNeverRequireApprovalMode"/>.</remarks>
Tools\HostedMcpServerTool.cs (4)
122
/// You can set this property to <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to require approval for all tool calls,
123
/// or to <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to never require approval.
126
/// The default value is <see langword="null"/>, which some providers might treat the same as <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/>.
132
public
HostedMcpServerToolApprovalMode
? ApprovalMode { get; set; }
Microsoft.Extensions.AI.Abstractions.Tests (33)
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
206
if (type == typeof(global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
))
Generated\361d1da7f942c932\TestJsonSerializerContext.HostedMcpServerToolApprovalMode.g.cs (9)
13
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
>? _HostedMcpServerToolApprovalMode;
19
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
> HostedMcpServerToolApprovalMode
22
get => _HostedMcpServerToolApprovalMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
));
25
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
> Create_HostedMcpServerToolApprovalMode(global::System.Text.Json.JsonSerializerOptions options)
27
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
> jsonTypeInfo))
29
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
>
39
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
HostedMcpServerToolApprovalMode
>(options, objectInfo);
HostedMcpServerToolApprovalModeTests.cs (18)
14
Assert.Same(
HostedMcpServerToolApprovalMode
.AlwaysRequire,
HostedMcpServerToolApprovalMode
.AlwaysRequire);
15
Assert.Same(
HostedMcpServerToolApprovalMode
.NeverRequire,
HostedMcpServerToolApprovalMode
.NeverRequire);
21
string json = JsonSerializer.Serialize(
HostedMcpServerToolApprovalMode
.NeverRequire, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
24
HostedMcpServerToolApprovalMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
25
Assert.Equal(
HostedMcpServerToolApprovalMode
.NeverRequire, result);
31
string json = JsonSerializer.Serialize(
HostedMcpServerToolApprovalMode
.AlwaysRequire, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
34
HostedMcpServerToolApprovalMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
35
Assert.Equal(
HostedMcpServerToolApprovalMode
.AlwaysRequire, result);
41
var requireSpecific =
HostedMcpServerToolApprovalMode
.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]);
45
HostedMcpServerToolApprovalMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
52
var mode1 =
HostedMcpServerToolApprovalMode
.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]);
53
var mode2 =
HostedMcpServerToolApprovalMode
.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]);
77
var mode3 =
HostedMcpServerToolApprovalMode
.RequireSpecific(null, null);
79
var mode4 =
HostedMcpServerToolApprovalMode
.RequireSpecific(["a"], null);
84
var mode5 =
HostedMcpServerToolApprovalMode
.RequireSpecific(null, ["b"]);
91
var mode6 =
HostedMcpServerToolApprovalMode
.RequireSpecific([], []);
TestJsonSerializerContext.cs (1)
42
[JsonSerializable(typeof(
HostedMcpServerToolApprovalMode
))]
Tools\HostedMcpServerToolTests.cs (4)
84
tool.ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire;
85
Assert.Same(
HostedMcpServerToolApprovalMode
.NeverRequire, tool.ApprovalMode);
87
tool.ApprovalMode =
HostedMcpServerToolApprovalMode
.AlwaysRequire;
88
Assert.Same(
HostedMcpServerToolApprovalMode
.AlwaysRequire, tool.ApprovalMode);
Microsoft.Extensions.AI.OpenAI.Tests (16)
OpenAIConversionTests.cs (3)
567
ApprovalMode =
HostedMcpServerToolApprovalMode
.AlwaysRequire
584
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire
601
var approvalMode =
HostedMcpServerToolApprovalMode
.RequireSpecific(alwaysRequireTools, neverRequireTools);
OpenAIResponseClientIntegrationTests.cs (8)
193
Tools = [new HostedMcpServerTool("deepwiki", new Uri("https://mcp.deepwiki.com/mcp")) { ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire }],
218
HostedMcpServerToolApprovalMode
.RequireSpecific(null, ["read_wiki_structure", "ask_question"]) :
219
HostedMcpServerToolApprovalMode
.NeverRequire,
258
HostedMcpServerToolApprovalMode
.RequireSpecific(["read_wiki_structure", "ask_question"], null) :
259
HostedMcpServerToolApprovalMode
.AlwaysRequire,
319
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
522
HostedMcpServerToolApprovalMode
.AlwaysRequire :
523
HostedMcpServerToolApprovalMode
.NeverRequire,
OpenAIResponseClientTests.cs (5)
1987
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
2400
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
2607
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
2716
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
2807
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,