3 types derived from ChatToolMode
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\AutoChatToolMode.cs (1)
15public sealed class AutoChatToolMode : ChatToolMode
ChatCompletion\NoneChatToolMode.cs (1)
15public sealed class NoneChatToolMode : ChatToolMode
ChatCompletion\RequiredChatToolMode.cs (1)
15public sealed class RequiredChatToolMode : ChatToolMode
126 references to ChatToolMode
Microsoft.Extensions.AI.Abstractions (28)
ChatCompletion\AutoChatToolMode.cs (2)
12/// Use <see cref="ChatToolMode.Auto"/> to get an instance of <see cref="AutoChatToolMode"/>. 18/// <remarks>Use <see cref="ChatToolMode.Auto"/> to get an instance of <see cref="AutoChatToolMode"/>.</remarks>
ChatCompletion\ChatOptions.cs (2)
158/// <value>The default is <see langword="null"/>, which is treated the same as <see cref="ChatToolMode.Auto"/>.</value> 159public ChatToolMode? ToolMode { get; set; }
ChatCompletion\ChatToolMode.cs (5)
23/// <summary>Initializes a new instance of the <see cref="ChatToolMode"/> class.</summary> 30/// Gets a predefined <see cref="ChatToolMode"/> indicating that tool usage is optional. 39/// Gets a predefined <see cref="ChatToolMode"/> indicating that tool usage is unsupported. 51/// Gets a predefined <see cref="ChatToolMode"/> indicating that tool usage is required, 60/// Instantiates a <see cref="ChatToolMode"/> indicating that tool usage is required,
ChatCompletion\NoneChatToolMode.cs (2)
12/// Use <see cref="ChatToolMode.None"/> to get an instance of <see cref="NoneChatToolMode"/>. 18/// <remarks>Use <see cref="ChatToolMode.None"/> to get an instance of <see cref="NoneChatToolMode"/>.</remarks>
ChatCompletion\RequiredChatToolMode.cs (1)
32/// <see cref="ChatToolMode.RequireAny"/> when any function can be selected.
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatOptions.g.cs (4)
333var info14 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.ChatToolMode> 348AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatOptions).GetProperty("ToolMode", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.ChatToolMode), global::System.Array.Empty<global::System.Type>(), null), 351properties[14] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.ChatToolMode>(options, info14); 549global::Microsoft.Extensions.AI.ChatToolMode __value_ToolMode = ((global::Microsoft.Extensions.AI.ChatOptions)value).ToolMode;
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatToolMode.g.cs (9)
15private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode>? _ChatToolMode; 21public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> ChatToolMode 24get => _ChatToolMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.ChatToolMode)); 27private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> Create_ChatToolMode(global::System.Text.Json.JsonSerializerOptions options) 29if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.ChatToolMode>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> jsonTypeInfo)) 31var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.ChatToolMode> 41jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.ChatToolMode>(options, objectInfo);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
136if (type == typeof(global::Microsoft.Extensions.AI.ChatToolMode))
Realtime\CreateResponseRealtimeClientMessage.cs (1)
115public ChatToolMode? ToolMode { get; set; }
Realtime\RealtimeSessionOptions.cs (1)
70public ChatToolMode? ToolMode { get; init; }
Microsoft.Extensions.AI.Abstractions.Tests (73)
ChatCompletion\ChatOptionsTests.cs (6)
99options.ToolMode = ChatToolMode.RequireAny; 122Assert.Same(ChatToolMode.RequireAny, options.ToolMode); 146Assert.Same(ChatToolMode.RequireAny, clone.ToolMode); 186options.ToolMode = ChatToolMode.RequireAny; 219Assert.Equal(ChatToolMode.RequireAny, deserialized.ToolMode); 389Assert.Equal(ChatToolMode.RequireAny, result.ToolMode);
ChatCompletion\ChatToolModeTests.cs (49)
14Assert.Same(ChatToolMode.Auto, ChatToolMode.Auto); 15Assert.Same(ChatToolMode.None, ChatToolMode.None); 16Assert.Same(ChatToolMode.RequireAny, ChatToolMode.RequireAny); 22Assert.True(ChatToolMode.Auto == ChatToolMode.Auto); 23Assert.True(ChatToolMode.Auto.Equals(ChatToolMode.Auto)); 24Assert.False(ChatToolMode.Auto.Equals(ChatToolMode.RequireAny)); 25Assert.False(ChatToolMode.Auto.Equals(new RequiredChatToolMode(null))); 26Assert.False(ChatToolMode.Auto.Equals(new RequiredChatToolMode("func"))); 27Assert.Equal(ChatToolMode.Auto.GetHashCode(), ChatToolMode.Auto.GetHashCode()); 29Assert.True(ChatToolMode.None == ChatToolMode.None); 30Assert.True(ChatToolMode.None.Equals(ChatToolMode.None)); 31Assert.False(ChatToolMode.None.Equals(ChatToolMode.RequireAny)); 32Assert.False(ChatToolMode.None.Equals(new RequiredChatToolMode(null))); 33Assert.False(ChatToolMode.None.Equals(new RequiredChatToolMode("func"))); 34Assert.Equal(ChatToolMode.None.GetHashCode(), ChatToolMode.None.GetHashCode()); 36Assert.True(ChatToolMode.RequireAny == ChatToolMode.RequireAny); 37Assert.True(ChatToolMode.RequireAny.Equals(ChatToolMode.RequireAny)); 38Assert.False(ChatToolMode.RequireAny.Equals(ChatToolMode.Auto)); 39Assert.False(ChatToolMode.RequireAny.Equals(new RequiredChatToolMode("func"))); 41Assert.True(ChatToolMode.RequireAny.Equals(new RequiredChatToolMode(null))); 42Assert.Equal(ChatToolMode.RequireAny.GetHashCode(), new RequiredChatToolMode(null).GetHashCode()); 43Assert.Equal(ChatToolMode.RequireAny.GetHashCode(), ChatToolMode.RequireAny.GetHashCode()); 58string json = JsonSerializer.Serialize(ChatToolMode.Auto, TestJsonSerializerContext.Default.ChatToolMode); 61ChatToolMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode); 62Assert.Equal(ChatToolMode.Auto, result); 68string json = JsonSerializer.Serialize(ChatToolMode.None, TestJsonSerializerContext.Default.ChatToolMode); 71ChatToolMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode); 72Assert.Equal(ChatToolMode.None, result); 78string json = JsonSerializer.Serialize(ChatToolMode.RequireAny, TestJsonSerializerContext.Default.ChatToolMode); 81ChatToolMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode); 82Assert.Equal(ChatToolMode.RequireAny, result); 88string json = JsonSerializer.Serialize(ChatToolMode.RequireSpecific("myFunc"), TestJsonSerializerContext.Default.ChatToolMode); 91ChatToolMode? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode); 92Assert.Equal(ChatToolMode.RequireSpecific("myFunc"), result);
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatToolMode.g.cs (9)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode>? _ChatToolMode; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> ChatToolMode 22get => _ChatToolMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.ChatToolMode)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> Create_ChatToolMode(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.ChatToolMode>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.ChatToolMode> 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.ChatToolMode>(options, objectInfo);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
130if (type == typeof(global::Microsoft.Extensions.AI.ChatToolMode))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\TestJsonSerializerContext.ChatOptions.g.cs (4)
331var info14 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.ChatToolMode> 346AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatOptions).GetProperty("ToolMode", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.ChatToolMode), global::System.Array.Empty<global::System.Type>(), null), 349properties[14] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.ChatToolMode>(options, info14); 547global::Microsoft.Extensions.AI.ChatToolMode __value_ToolMode = ((global::Microsoft.Extensions.AI.ChatOptions)value).ToolMode;
Realtime\RealtimeClientMessageTests.cs (2)
155message.ToolMode = ChatToolMode.Auto; 166Assert.Equal(ChatToolMode.Auto, message.ToolMode);
Realtime\RealtimeSessionOptionsTests.cs (2)
52ToolMode = ChatToolMode.Auto, 65Assert.Equal(ChatToolMode.Auto, options.ToolMode);
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
608ToolMode = ChatToolMode.RequireAny, 629ToolMode = ChatToolMode.RequireSpecific(shieldsUpTool.Name),
Microsoft.Extensions.AI.OpenAI (1)
OpenAIRealtimeClientSession.cs (1)
707private static Sdk.RealtimeToolChoice ToSdkToolChoice(ChatToolMode toolMode) => toolMode switch
Microsoft.Extensions.AI.OpenAI.Tests (5)
OpenAIChatClientTests.cs (4)
414ToolMode = ChatToolMode.None, 491ToolMode = ChatToolMode.None, 572ToolMode = ChatToolMode.None, 646ToolMode = ChatToolMode.None,
OpenAIResponseClientTests.cs (1)
1261ToolMode = ChatToolMode.None,
Microsoft.Extensions.AI.Tests (17)
ChatCompletion\FunctionInvokingChatClientTests.cs (4)
681ToolMode = ChatToolMode.Auto 725ToolMode = ChatToolMode.Auto 778ToolMode = ChatToolMode.Auto 818ToolMode = ChatToolMode.Auto
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatToolMode.g.cs (9)
13private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode>? _ChatToolMode; 19public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> ChatToolMode 22get => _ChatToolMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.ChatToolMode)); 25private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> Create_ChatToolMode(global::System.Text.Json.JsonSerializerOptions options) 27if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.ChatToolMode>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.ChatToolMode> jsonTypeInfo)) 29var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.ChatToolMode> 39jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.ChatToolMode>(options, objectInfo);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
110if (type == typeof(global::Microsoft.Extensions.AI.ChatToolMode))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\TestJsonSerializerContext.ChatOptions.g.cs (3)
331var info14 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.ChatToolMode> 346AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatOptions).GetProperty("ToolMode", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.ChatToolMode), global::System.Array.Empty<global::System.Type>(), null), 349properties[14] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.ChatToolMode>(options, info14);