3 types derived from HostedMcpServerToolApprovalMode
Microsoft.Extensions.AI.Abstractions (3)
HostedMcpServerToolAlwaysRequireApprovalMode.cs (1)
17public sealed class HostedMcpServerToolAlwaysRequireApprovalMode : HostedMcpServerToolApprovalMode
HostedMcpServerToolNeverRequireApprovalMode.cs (1)
17public sealed class HostedMcpServerToolNeverRequireApprovalMode : HostedMcpServerToolApprovalMode
HostedMcpServerToolRequireSpecificApprovalMode.cs (1)
18public sealed class HostedMcpServerToolRequireSpecificApprovalMode : HostedMcpServerToolApprovalMode
41 references to HostedMcpServerToolApprovalMode
Microsoft.Extensions.AI.Abstractions (11)
HostedMcpServerToolAlwaysRequireApprovalMode.cs (2)
13/// Use <see cref="HostedMcpServerToolApprovalMode.AlwaysRequire"/> to get an instance of <see cref="HostedMcpServerToolAlwaysRequireApprovalMode"/>. 20/// <remarks>Use <see cref="HostedMcpServerToolApprovalMode.AlwaysRequire"/> to get an instance of <see cref="HostedMcpServerToolAlwaysRequireApprovalMode"/>.</remarks>
HostedMcpServerToolApprovalMode.cs (3)
27/// Gets a predefined <see cref="HostedMcpServerToolApprovalMode"/> indicating that all tool calls to a hosted MCP server always require approval. 32/// Gets a predefined <see cref="HostedMcpServerToolApprovalMode"/> indicating that all tool calls to a hosted MCP server never require approval. 41/// Instantiates a <see cref="HostedMcpServerToolApprovalMode"/> that specifies approval behavior for individual tool names.
HostedMcpServerToolNeverRequireApprovalMode.cs (2)
13/// Use <see cref="HostedMcpServerToolApprovalMode.NeverRequire"/> to get an instance of <see cref="HostedMcpServerToolNeverRequireApprovalMode"/>. 20/// <remarks>Use <see cref="HostedMcpServerToolApprovalMode.NeverRequire"/> to get an instance of <see cref="HostedMcpServerToolNeverRequireApprovalMode"/>.</remarks>
Tools\HostedMcpServerTool.cs (4)
70/// You can set this property to <see cref="HostedMcpServerToolApprovalMode.AlwaysRequire"/> to require approval for all tool calls, 71/// or to <see cref="HostedMcpServerToolApprovalMode.NeverRequire"/> to never require approval. 74/// The default value is <see langword="null"/>, which some providers might treat the same as <see cref="HostedMcpServerToolApprovalMode.AlwaysRequire"/>. 80public HostedMcpServerToolApprovalMode? ApprovalMode { get; set; }
Microsoft.Extensions.AI.Abstractions.Tests (23)
HostedMcpServerToolApprovalModeTests.cs (18)
14Assert.Same(HostedMcpServerToolApprovalMode.AlwaysRequire, HostedMcpServerToolApprovalMode.AlwaysRequire); 15Assert.Same(HostedMcpServerToolApprovalMode.NeverRequire, HostedMcpServerToolApprovalMode.NeverRequire); 21string json = JsonSerializer.Serialize(HostedMcpServerToolApprovalMode.NeverRequire, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode); 24HostedMcpServerToolApprovalMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode); 25Assert.Equal(HostedMcpServerToolApprovalMode.NeverRequire, result); 31string json = JsonSerializer.Serialize(HostedMcpServerToolApprovalMode.AlwaysRequire, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode); 34HostedMcpServerToolApprovalMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode); 35Assert.Equal(HostedMcpServerToolApprovalMode.AlwaysRequire, result); 41var requireSpecific = HostedMcpServerToolApprovalMode.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]); 45HostedMcpServerToolApprovalMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode); 52var mode1 = HostedMcpServerToolApprovalMode.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]); 53var mode2 = HostedMcpServerToolApprovalMode.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]); 77var mode3 = HostedMcpServerToolApprovalMode.RequireSpecific(null, null); 79var mode4 = HostedMcpServerToolApprovalMode.RequireSpecific(["a"], null); 84var mode5 = HostedMcpServerToolApprovalMode.RequireSpecific(null, ["b"]); 91var mode6 = HostedMcpServerToolApprovalMode.RequireSpecific([], []);
TestJsonSerializerContext.cs (1)
38[JsonSerializable(typeof(HostedMcpServerToolApprovalMode))]
Tools\HostedMcpServerToolTests.cs (4)
51tool.ApprovalMode = HostedMcpServerToolApprovalMode.NeverRequire; 52Assert.Same(HostedMcpServerToolApprovalMode.NeverRequire, tool.ApprovalMode); 54tool.ApprovalMode = HostedMcpServerToolApprovalMode.AlwaysRequire; 55Assert.Same(HostedMcpServerToolApprovalMode.AlwaysRequire, tool.ApprovalMode);
Microsoft.Extensions.AI.OpenAI.Tests (7)
OpenAIResponseClientIntegrationTests.cs (5)
60Tools = [new HostedMcpServerTool("deepwiki", "https://mcp.deepwiki.com/mcp") { ApprovalMode = HostedMcpServerToolApprovalMode.NeverRequire }], 85HostedMcpServerToolApprovalMode.RequireSpecific(null, ["read_wiki_structure", "ask_question"]) : 86HostedMcpServerToolApprovalMode.NeverRequire, 125HostedMcpServerToolApprovalMode.RequireSpecific(["read_wiki_structure", "ask_question"], null) : 126HostedMcpServerToolApprovalMode.AlwaysRequire,
OpenAIResponseClientTests.cs (2)
1038ApprovalMode = HostedMcpServerToolApprovalMode.NeverRequire, 1451ApprovalMode = HostedMcpServerToolApprovalMode.NeverRequire,