3 types derived from ChatToolMode
Microsoft.Extensions.AI.Abstractions (3)
ChatCompletion\AutoChatToolMode.cs (1)
15
public sealed class AutoChatToolMode :
ChatToolMode
ChatCompletion\NoneChatToolMode.cs (1)
15
public sealed class NoneChatToolMode :
ChatToolMode
ChatCompletion\RequiredChatToolMode.cs (1)
15
public 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>
159
public
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)
333
var info14 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
ChatToolMode
>
348
AttributeProviderFactory = 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),
351
properties[14] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, info14);
549
global::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)
15
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>? _ChatToolMode;
21
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> ChatToolMode
24
get => _ChatToolMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
ChatToolMode
));
27
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> Create_ChatToolMode(global::System.Text.Json.JsonSerializerOptions options)
29
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> jsonTypeInfo))
31
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
ChatToolMode
>
41
jsonTypeInfo = 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)
136
if (type == typeof(global::Microsoft.Extensions.AI.
ChatToolMode
))
Realtime\CreateResponseRealtimeClientMessage.cs (1)
115
public
ChatToolMode
? ToolMode { get; set; }
Realtime\RealtimeSessionOptions.cs (1)
70
public
ChatToolMode
? ToolMode { get; init; }
Microsoft.Extensions.AI.Abstractions.Tests (73)
ChatCompletion\ChatOptionsTests.cs (6)
99
options.ToolMode =
ChatToolMode
.RequireAny;
122
Assert.Same(
ChatToolMode
.RequireAny, options.ToolMode);
146
Assert.Same(
ChatToolMode
.RequireAny, clone.ToolMode);
186
options.ToolMode =
ChatToolMode
.RequireAny;
219
Assert.Equal(
ChatToolMode
.RequireAny, deserialized.ToolMode);
389
Assert.Equal(
ChatToolMode
.RequireAny, result.ToolMode);
ChatCompletion\ChatToolModeTests.cs (49)
14
Assert.Same(
ChatToolMode
.Auto,
ChatToolMode
.Auto);
15
Assert.Same(
ChatToolMode
.None,
ChatToolMode
.None);
16
Assert.Same(
ChatToolMode
.RequireAny,
ChatToolMode
.RequireAny);
22
Assert.True(
ChatToolMode
.Auto ==
ChatToolMode
.Auto);
23
Assert.True(
ChatToolMode
.Auto.Equals(
ChatToolMode
.Auto));
24
Assert.False(
ChatToolMode
.Auto.Equals(
ChatToolMode
.RequireAny));
25
Assert.False(
ChatToolMode
.Auto.Equals(new RequiredChatToolMode(null)));
26
Assert.False(
ChatToolMode
.Auto.Equals(new RequiredChatToolMode("func")));
27
Assert.Equal(
ChatToolMode
.Auto.GetHashCode(),
ChatToolMode
.Auto.GetHashCode());
29
Assert.True(
ChatToolMode
.None ==
ChatToolMode
.None);
30
Assert.True(
ChatToolMode
.None.Equals(
ChatToolMode
.None));
31
Assert.False(
ChatToolMode
.None.Equals(
ChatToolMode
.RequireAny));
32
Assert.False(
ChatToolMode
.None.Equals(new RequiredChatToolMode(null)));
33
Assert.False(
ChatToolMode
.None.Equals(new RequiredChatToolMode("func")));
34
Assert.Equal(
ChatToolMode
.None.GetHashCode(),
ChatToolMode
.None.GetHashCode());
36
Assert.True(
ChatToolMode
.RequireAny ==
ChatToolMode
.RequireAny);
37
Assert.True(
ChatToolMode
.RequireAny.Equals(
ChatToolMode
.RequireAny));
38
Assert.False(
ChatToolMode
.RequireAny.Equals(
ChatToolMode
.Auto));
39
Assert.False(
ChatToolMode
.RequireAny.Equals(new RequiredChatToolMode("func")));
41
Assert.True(
ChatToolMode
.RequireAny.Equals(new RequiredChatToolMode(null)));
42
Assert.Equal(
ChatToolMode
.RequireAny.GetHashCode(), new RequiredChatToolMode(null).GetHashCode());
43
Assert.Equal(
ChatToolMode
.RequireAny.GetHashCode(),
ChatToolMode
.RequireAny.GetHashCode());
58
string json = JsonSerializer.Serialize(
ChatToolMode
.Auto, TestJsonSerializerContext.Default.ChatToolMode);
61
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
62
Assert.Equal(
ChatToolMode
.Auto, result);
68
string json = JsonSerializer.Serialize(
ChatToolMode
.None, TestJsonSerializerContext.Default.ChatToolMode);
71
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
72
Assert.Equal(
ChatToolMode
.None, result);
78
string json = JsonSerializer.Serialize(
ChatToolMode
.RequireAny, TestJsonSerializerContext.Default.ChatToolMode);
81
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
82
Assert.Equal(
ChatToolMode
.RequireAny, result);
88
string json = JsonSerializer.Serialize(
ChatToolMode
.RequireSpecific("myFunc"), TestJsonSerializerContext.Default.ChatToolMode);
91
ChatToolMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatToolMode);
92
Assert.Equal(
ChatToolMode
.RequireSpecific("myFunc"), result);
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatToolMode.g.cs (9)
13
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>? _ChatToolMode;
19
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> ChatToolMode
22
get => _ChatToolMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
ChatToolMode
));
25
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> Create_ChatToolMode(global::System.Text.Json.JsonSerializerOptions options)
27
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> jsonTypeInfo))
29
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
ChatToolMode
>
39
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, objectInfo);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
130
if (type == typeof(global::Microsoft.Extensions.AI.
ChatToolMode
))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\TestJsonSerializerContext.ChatOptions.g.cs (4)
331
var info14 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
ChatToolMode
>
346
AttributeProviderFactory = 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),
349
properties[14] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, info14);
547
global::Microsoft.Extensions.AI.
ChatToolMode
__value_ToolMode = ((global::Microsoft.Extensions.AI.ChatOptions)value).ToolMode;
Realtime\RealtimeClientMessageTests.cs (2)
155
message.ToolMode =
ChatToolMode
.Auto;
166
Assert.Equal(
ChatToolMode
.Auto, message.ToolMode);
Realtime\RealtimeSessionOptionsTests.cs (2)
52
ToolMode =
ChatToolMode
.Auto,
65
Assert.Equal(
ChatToolMode
.Auto, options.ToolMode);
Microsoft.Extensions.AI.Integration.Tests (2)
ChatClientIntegrationTests.cs (2)
608
ToolMode =
ChatToolMode
.RequireAny,
629
ToolMode =
ChatToolMode
.RequireSpecific(shieldsUpTool.Name),
Microsoft.Extensions.AI.OpenAI (1)
OpenAIRealtimeClientSession.cs (1)
707
private static Sdk.RealtimeToolChoice ToSdkToolChoice(
ChatToolMode
toolMode) => toolMode switch
Microsoft.Extensions.AI.OpenAI.Tests (5)
OpenAIChatClientTests.cs (4)
414
ToolMode =
ChatToolMode
.None,
491
ToolMode =
ChatToolMode
.None,
572
ToolMode =
ChatToolMode
.None,
646
ToolMode =
ChatToolMode
.None,
OpenAIResponseClientTests.cs (1)
1261
ToolMode =
ChatToolMode
.None,
Microsoft.Extensions.AI.Tests (17)
ChatCompletion\FunctionInvokingChatClientTests.cs (4)
681
ToolMode =
ChatToolMode
.Auto
725
ToolMode =
ChatToolMode
.Auto
778
ToolMode =
ChatToolMode
.Auto
818
ToolMode =
ChatToolMode
.Auto
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatToolMode.g.cs (9)
13
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>? _ChatToolMode;
19
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> ChatToolMode
22
get => _ChatToolMode ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
ChatToolMode
));
25
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> Create_ChatToolMode(global::System.Text.Json.JsonSerializerOptions options)
27
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
ChatToolMode
> jsonTypeInfo))
29
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
ChatToolMode
>
39
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, objectInfo);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
110
if (type == typeof(global::Microsoft.Extensions.AI.
ChatToolMode
))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\TestJsonSerializerContext.ChatOptions.g.cs (3)
331
var info14 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
ChatToolMode
>
346
AttributeProviderFactory = 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),
349
properties[14] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
ChatToolMode
>(options, info14);