81 instantiations of UsageDetails
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
446
UsageDetails? totalUsage = activity is { IsAllDataRequested: true } ?
new
() : null; // tracked usage across all turns, to be used for activity purposes
Microsoft.Extensions.AI.Abstractions (5)
ChatCompletion\ChatResponseExtensions.cs (1)
626
(response.Usage ??=
new
()).Add(usage.Details);
Contents\UsageContent.cs (1)
22
_details =
new
();
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (1)
33
ObjectCreator = () => new global::Microsoft.Extensions.AI.
UsageDetails
(),
SpeechToText\SpeechToTextResponseUpdateExtensions.cs (1)
101
(response.Usage ??=
new
()).Add(usage.Details);
TextToSpeech\TextToSpeechResponseUpdateExtensions.cs (1)
85
(response.Usage ??=
new
()).Add(usage.Details);
Microsoft.Extensions.AI.Abstractions.Tests (37)
ChatCompletion\ChatResponseTests.cs (3)
69
UsageDetails usage =
new
();
94
Usage = new
UsageDetails
(),
131
Usage = new
UsageDetails
(),
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (3)
35
new() { Contents = [new UsageContent(
new
() { InputTokenCount = 1, OutputTokenCount = 2 })] },
36
new() { Contents = [new UsageContent(
new
() { InputTokenCount = 4, OutputTokenCount = 5 })] },
806
new() { Contents = [new UsageContent(
new
() { TotalTokenCount = 42 })] },
Contents\AIContentTests.cs (1)
76
new UsageContent(new
UsageDetails
{ InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 }),
Contents\UsageContentTests.cs (3)
36
UsageDetails details =
new
();
44
UsageDetails details2 =
new
();
65
var content = new UsageContent(new
UsageDetails
Embeddings\GeneratedEmbeddingsTests.cs (1)
99
UsageDetails usage =
new
();
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (1)
31
ObjectCreator = () => new global::Microsoft.Extensions.AI.
UsageDetails
(),
Realtime\RealtimeServerMessageTests.cs (2)
99
var usage = new
UsageDetails
{ InputTokenCount = 10, OutputTokenCount = 20 };
198
var usage = new
UsageDetails
{ InputTokenCount = 15, OutputTokenCount = 25, TotalTokenCount = 40 };
SpeechToText\SpeechToTextResponseTests.cs (3)
138
UsageDetails usageDetails =
new
();
161
Usage =
new
() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 },
219
Usage = withUsage ? new
UsageDetails
{ InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (2)
140
new() { Contents = [new UsageContent(
new
() { TotalTokenCount = 42 })] },
142
new() { Contents = [new UsageContent(
new
() { InputTokenCount = 12, TotalTokenCount = 24 })] },
TextToSpeech\TextToSpeechResponseTests.cs (3)
89
UsageDetails usageDetails =
new
();
107
Usage =
new
() { InputTokenCount = 42, OutputTokenCount = 84, TotalTokenCount = 126 },
148
Usage = withUsage ? new
UsageDetails
{ InputTokenCount = 100, OutputTokenCount = 200, TotalTokenCount = 300 } : null
TextToSpeech\TextToSpeechResponseUpdateExtensionsTests.cs (2)
58
new() { Contents = [new UsageContent(
new
() { TotalTokenCount = 42 })] },
60
new() { Contents = [new UsageContent(
new
() { InputTokenCount = 12, TotalTokenCount = 24 })] },
UsageDetailsTests.cs (13)
17
UsageDetails details =
new
();
33
UsageDetails details =
new
()
63
UsageDetails details =
new
();
70
UsageDetails details1 =
new
()
83
UsageDetails details2 =
new
()
112
UsageDetails details1 =
new
()
118
UsageDetails details2 =
new
()
136
UsageDetails details1 =
new
();
138
UsageDetails details2 =
new
()
153
UsageDetails details1 =
new
()
158
UsageDetails details2 =
new
()
174
UsageDetails details =
new
()
208
UsageDetails details =
new
()
Microsoft.Extensions.AI.Evaluation.Reporting (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (1)
33
ObjectCreator = () => new global::Microsoft.Extensions.AI.
UsageDetails
(),
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (1)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (1)
33
ObjectCreator = () => new global::Microsoft.Extensions.AI.
UsageDetails
(),
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (4)
ScenarioRunResultTests.cs (4)
69
usage: new
UsageDetails
{ InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 },
77
usage: new
UsageDetails
{ InputTokenCount = 20, OutputTokenCount = 30, TotalTokenCount = 50 },
161
usage: new
UsageDetails
{ InputTokenCount = 10, OutputTokenCount = 20, TotalTokenCount = 30 },
169
usage: new
UsageDetails
{ InputTokenCount = 20, OutputTokenCount = 30, TotalTokenCount = 50 },
Microsoft.Extensions.AI.OpenAI (8)
OpenAIAssistantsChatClient.cs (1)
181
ruUpdate.Contents.Add(new UsageContent(
new
()
OpenAIChatClient.cs (1)
719
var destination = new
UsageDetails
OpenAIEmbeddingGenerator.cs (1)
78
new
()
OpenAIImageGenerator.cs (1)
135
ud =
new
()
OpenAIRealtimeClientSession.cs (1)
1258
var details = new
UsageDetails
OpenAIResponsesChatClient.cs (1)
1634
ud =
new
()
OpenAISpeechToTextClient.cs (1)
279
var details = new
UsageDetails
OpenAITextToSpeechClient.cs (1)
137
sessionClose.Contents = [new UsageContent(
new
()
Microsoft.Extensions.AI.OpenAI.Tests (3)
OpenAIConversionTests.cs (3)
1530
Usage = new
UsageDetails
1746
new UsageContent(new
UsageDetails
1847
new UsageContent(new
UsageDetails
{ TotalTokenCount = 50 })
Microsoft.Extensions.AI.Stabilization.Tests (2)
AIContentSerializationRegressionTests.cs (1)
24
new UsageContent(new
UsageDetails
{ InputTokenCount = 1, OutputTokenCount = 2 }),
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.UsageDetails.g.cs (1)
31
ObjectCreator = () => new global::Microsoft.Extensions.AI.
UsageDetails
(),
Microsoft.Extensions.AI.Tests (19)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (2)
29
Usage =
new
(),
106
Usage =
new
(),
ChatCompletion\DistributedCachingChatClientTest.cs (3)
64
Usage =
new
()
256
new UsageContent(
new
() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 }),
270
Contents = [new UsageContent(
new
() { InputTokenCount = 123, OutputTokenCount = 456, TotalTokenCount = 99999 })],
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
2010
return new
UsageDetails
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
2259
return new
UsageDetails
ChatCompletion\ImageGeneratingChatClientTests.cs (2)
411
new UsageContent(new
UsageDetails
{ InputTokenCount = 5 })],
486
new UsageContent(new
UsageDetails
{ InputTokenCount = 5 })],
ChatCompletion\OpenTelemetryChatClientTests.cs (2)
45
Usage = new
UsageDetails
87
Contents = [new UsageContent(
new
()
Embeddings\OpenTelemetryEmbeddingGeneratorTests.cs (1)
40
Usage =
new
()
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (1)
31
ObjectCreator = () => new global::Microsoft.Extensions.AI.
UsageDetails
(),
Image\OpenTelemetryImageGeneratorTests.cs (1)
51
Usage =
new
()
Realtime\OpenTelemetryRealtimeClientTests.cs (1)
65
Usage = new
UsageDetails
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (2)
49
Usage =
new
()
76
new UsageContent(
new
()
TextToSpeech\OpenTelemetryTextToSpeechClientTests.cs (2)
46
Usage =
new
()
72
new UsageContent(
new
()
476 references to UsageDetails
Microsoft.Extensions.AI (3)
ChatCompletion\FunctionInvokingChatClient.cs (3)
295
UsageDetails
? totalUsage = null; // tracked usage across all turns, to be used for the final response
446
UsageDetails
? totalUsage = activity is { IsAllDataRequested: true } ? new() : null; // tracked usage across all turns, to be used for activity purposes
722
private static void AddUsageTags(Activity? activity,
UsageDetails
? usage)
Microsoft.Extensions.AI.Abstractions (104)
ChatCompletion\ChatResponse.cs (1)
88
public
UsageDetails
? Usage { get; set; }
Contents\UsageContent.cs (5)
17
private
UsageDetails
_details;
19
/// <summary>Initializes a new instance of the <see cref="UsageContent"/> class with an empty <see cref="
UsageDetails
"/>.</summary>
25
/// <summary>Initializes a new instance of the <see cref="UsageContent"/> class with the specified <see cref="
UsageDetails
"/> instance.</summary>
28
public UsageContent(
UsageDetails
details)
34
public
UsageDetails
Details
Embeddings\GeneratedEmbeddings.cs (1)
43
public
UsageDetails
? Usage { get; set; }
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (3)
195
var info7 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
210
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
213
properties[7] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info7);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
368
if (type == typeof(global::Microsoft.Extensions.AI.
UsageDetails
))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ImageGenerationResponse.g.cs (3)
94
var info2 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
109
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ImageGenerationResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
112
properties[2] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info2);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.SpeechToTextResponse.g.cs (3)
215
var info8 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
230
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.SpeechToTextResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
233
properties[8] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info8);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.TextToSpeechResponse.g.cs (3)
154
var info5 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
169
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.TextToSpeechResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
172
properties[5] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info5);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageContent.g.cs (6)
34
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.UsageContent((global::Microsoft.Extensions.AI.
UsageDetails
)args[0]),
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::Microsoft.Extensions.AI.
UsageDetails
)}, modifiers: null),
53
var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
68
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetProperty("Details", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
71
properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info0);
143
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (69)
15
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>? _UsageDetails;
21
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> UsageDetails
24
get => _UsageDetails ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
UsageDetails
));
27
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> Create_UsageDetails(global::System.Text.Json.JsonSerializerOptions options)
29
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
UsageDetails
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> jsonTypeInfo))
31
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
41
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, objectInfo);
58
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
60
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount,
61
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount = value!,
68
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
78
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
80
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount,
81
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount = value!,
88
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
98
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
100
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount,
101
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount = value!,
108
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("TotalTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
118
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
120
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount,
121
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount = value!,
128
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("CachedInputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
138
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
140
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount,
141
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount = value!,
148
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("ReasoningTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
158
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
168
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
178
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
180
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputAudioTokenCountCore,
181
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputAudioTokenCountCore = value!,
188
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCountCore", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
198
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
208
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
218
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
220
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTextTokenCountCore,
221
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTextTokenCountCore = value!,
228
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCountCore", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
238
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
248
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
258
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
260
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputAudioTokenCountCore,
261
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputAudioTokenCountCore = value!,
268
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCountCore", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
278
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
288
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
298
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
300
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTextTokenCountCore,
301
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTextTokenCountCore = value!,
308
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCountCore", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
318
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
320
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts,
321
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts = value!,
328
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("AdditionalCounts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>), global::System.Array.Empty<global::System.Type>(), null),
338
private void UsageDetailsSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.
UsageDetails
? value)
348
long? __value_InputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTokenCount;
354
long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTokenCount;
360
long? __value_TotalTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).TotalTokenCount;
366
long? __value_CachedInputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).CachedInputTokenCount;
372
long? __value_ReasoningTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).ReasoningTokenCount;
378
long? __value_InputAudioTokenCountCore = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputAudioTokenCountCore;
384
long? __value_InputTextTokenCountCore = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTextTokenCountCore;
390
long? __value_OutputAudioTokenCountCore = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputAudioTokenCountCore;
396
long? __value_OutputTextTokenCountCore = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTextTokenCountCore;
402
global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long> __value_AdditionalCounts = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).AdditionalCounts;
Image\ImageGenerationResponse.cs (1)
52
public
UsageDetails
? Usage { get; set; }
Realtime\InputAudioTranscriptionRealtimeServerMessage.cs (1)
52
public
UsageDetails
? Usage { get; set; }
Realtime\ResponseCreatedRealtimeServerMessage.cs (1)
124
public
UsageDetails
? Usage { get; set; }
SpeechToText\SpeechToTextResponse.cs (1)
108
public
UsageDetails
? Usage { get; set; }
TextToSpeech\TextToSpeechResponse.cs (1)
79
public
UsageDetails
? Usage { get; set; }
UsageDetails.cs (4)
111
/// service, it may sum the counts from multiple results to produce an overall <see cref="
UsageDetails
"/>.
115
/// <summary>Adds usage data from another <see cref="
UsageDetails
"/> into this instance.</summary>
116
/// <param name="usage">The source <see cref="
UsageDetails
"/> with which to augment this instance.</param>
118
public void Add(
UsageDetails
usage)
Microsoft.Extensions.AI.Abstractions.Tests (96)
ChatCompletion\ChatResponseTests.cs (1)
69
UsageDetails
usage = new();
Contents\UsageContentTests.cs (3)
36
UsageDetails
details = new();
44
UsageDetails
details2 = new();
54
UsageDetails
d = c.Details;
Embeddings\GeneratedEmbeddingsTests.cs (1)
99
UsageDetails
usage = new();
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponse.g.cs (3)
194
var info7 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
209
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
212
properties[7] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info7);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
378
if (type == typeof(global::Microsoft.Extensions.AI.
UsageDetails
))
Generated\361d1da7f942c932\TestJsonSerializerContext.ImageGenerationResponse.g.cs (3)
93
var info2 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
108
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ImageGenerationResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
111
properties[2] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info2);
Generated\361d1da7f942c932\TestJsonSerializerContext.SpeechToTextResponse.g.cs (3)
214
var info8 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
229
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.SpeechToTextResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
232
properties[8] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info8);
Generated\361d1da7f942c932\TestJsonSerializerContext.TextToSpeechResponse.g.cs (3)
153
var info5 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
168
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.TextToSpeechResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
171
properties[5] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info5);
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageContent.g.cs (6)
32
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.UsageContent((global::Microsoft.Extensions.AI.
UsageDetails
)args[0]),
35
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::Microsoft.Extensions.AI.
UsageDetails
)}, modifiers: null),
51
var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
66
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetProperty("Details", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
69
properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info0);
141
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (49)
13
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>? _UsageDetails;
19
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> UsageDetails
22
get => _UsageDetails ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
UsageDetails
));
25
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> Create_UsageDetails(global::System.Text.Json.JsonSerializerOptions options)
27
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
UsageDetails
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> jsonTypeInfo))
29
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
35
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
39
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, objectInfo);
56
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
58
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount,
59
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount = value!,
66
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
76
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
78
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount,
79
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount = value!,
86
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
96
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
98
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount,
99
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount = value!,
106
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("TotalTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
116
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
118
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount,
119
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount = value!,
126
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("CachedInputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
136
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
138
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount,
139
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount = value!,
146
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("ReasoningTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
156
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
166
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
176
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
186
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
196
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
206
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
216
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
226
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
236
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
238
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts,
239
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts = value!,
246
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("AdditionalCounts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>), global::System.Array.Empty<global::System.Type>(), null),
256
private void UsageDetailsSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.
UsageDetails
? value)
266
long? __value_InputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTokenCount;
272
long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTokenCount;
278
long? __value_TotalTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).TotalTokenCount;
284
long? __value_CachedInputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).CachedInputTokenCount;
290
long? __value_ReasoningTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).ReasoningTokenCount;
296
global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long> __value_AdditionalCounts = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).AdditionalCounts;
Realtime\RealtimeServerMessageTests.cs (2)
99
var
usage = new UsageDetails { InputTokenCount = 10, OutputTokenCount = 20 };
198
var
usage = new UsageDetails { InputTokenCount = 15, OutputTokenCount = 25, TotalTokenCount = 40 };
SpeechToText\SpeechToTextResponseTests.cs (1)
138
UsageDetails
usageDetails = new();
TextToSpeech\TextToSpeechResponseTests.cs (1)
89
UsageDetails
usageDetails = new();
UsageDetailsTests.cs (19)
17
UsageDetails
details = new();
33
UsageDetails
details = new()
63
UsageDetails
details = new();
70
UsageDetails
details1 = new()
83
UsageDetails
details2 = new()
112
UsageDetails
details1 = new()
118
UsageDetails
details2 = new()
136
UsageDetails
details1 = new();
138
UsageDetails
details2 = new()
153
UsageDetails
details1 = new()
158
UsageDetails
details2 = new()
174
UsageDetails
details = new()
189
UsageDetails
? deserialized = JsonSerializer.Deserialize<
UsageDetails
>(json, AIJsonUtilities.DefaultOptions);
208
UsageDetails
details = new()
215
UsageDetails
? deserialized = JsonSerializer.Deserialize<
UsageDetails
>(json, AIJsonUtilities.DefaultOptions);
249
UsageDetails
? result = JsonSerializer.Deserialize<
UsageDetails
>(Json, AIJsonUtilities.DefaultOptions);
Microsoft.Extensions.AI.Evaluation (1)
EvaluationMetricExtensions.cs (1)
162
if (response.Usage is
UsageDetails
usage)
Microsoft.Extensions.AI.Evaluation.Reporting (70)
ChatTurnDetails.cs (3)
44
public
UsageDetails
? Usage { get; set; }
89
UsageDetails
? usage = null,
130
UsageDetails
? usage = null,
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (3)
196
var info7 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
211
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
214
properties[7] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info7);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatTurnDetails.g.cs (8)
34
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails((global::System.TimeSpan)args[0], (string)args[1], (string)args[2], (global::Microsoft.Extensions.AI.
UsageDetails
)args[3], (string)args[4], (bool?)args[5]),
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::System.TimeSpan), typeof(string), typeof(string), typeof(global::Microsoft.Extensions.AI.
UsageDetails
), typeof(string), typeof(bool?)}, modifiers: null),
113
var info3 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
128
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
131
properties[3] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info3);
200
global::Microsoft.Extensions.AI.
UsageDetails
__value_Usage = ((global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails)value).Usage;
256
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
259
DefaultValue = default(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
240
if (type == typeof(global::Microsoft.Extensions.AI.
UsageDetails
))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageContent.g.cs (6)
34
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.UsageContent((global::Microsoft.Extensions.AI.
UsageDetails
)args[0]),
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::Microsoft.Extensions.AI.
UsageDetails
)}, modifiers: null),
53
var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
68
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetProperty("Details", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
71
properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info0);
143
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (49)
15
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>? _UsageDetails;
21
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> UsageDetails
24
get => _UsageDetails ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
UsageDetails
));
27
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> Create_UsageDetails(global::System.Text.Json.JsonSerializerOptions options)
29
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
UsageDetails
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> jsonTypeInfo))
31
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
41
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, objectInfo);
58
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
60
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount,
61
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount = value!,
68
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
78
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
80
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount,
81
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount = value!,
88
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
98
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
100
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount,
101
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount = value!,
108
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("TotalTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
118
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
120
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount,
121
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount = value!,
128
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("CachedInputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
138
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
140
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount,
141
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount = value!,
148
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("ReasoningTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
158
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
168
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
178
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
188
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
198
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
208
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
218
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
228
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
238
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
240
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts,
241
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts = value!,
248
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("AdditionalCounts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>), global::System.Array.Empty<global::System.Type>(), null),
258
private void UsageDetailsSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.
UsageDetails
? value)
268
long? __value_InputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTokenCount;
274
long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTokenCount;
280
long? __value_TotalTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).TotalTokenCount;
286
long? __value_CachedInputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).CachedInputTokenCount;
292
long? __value_ReasoningTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).ReasoningTokenCount;
298
global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long> __value_AdditionalCounts = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).AdditionalCounts;
Microsoft.Extensions.AI.Evaluation.Reporting.Azure (67)
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatResponse.g.cs (3)
196
var info7 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
211
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
214
properties[7] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info7);
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.ChatTurnDetails.g.cs (8)
34
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails((global::System.TimeSpan)args[0], (string)args[1], (string)args[2], (global::Microsoft.Extensions.AI.
UsageDetails
)args[3], (string)args[4], (bool?)args[5]),
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::System.TimeSpan), typeof(string), typeof(string), typeof(global::Microsoft.Extensions.AI.
UsageDetails
), typeof(string), typeof(bool?)}, modifiers: null),
113
var info3 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
128
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
131
properties[3] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info3);
200
global::Microsoft.Extensions.AI.
UsageDetails
__value_Usage = ((global::Microsoft.Extensions.AI.Evaluation.Reporting.ChatTurnDetails)value).Usage;
256
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
259
DefaultValue = default(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.GetJsonTypeInfo.g.cs (1)
236
if (type == typeof(global::Microsoft.Extensions.AI.
UsageDetails
))
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageContent.g.cs (6)
34
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.UsageContent((global::Microsoft.Extensions.AI.
UsageDetails
)args[0]),
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::Microsoft.Extensions.AI.
UsageDetails
)}, modifiers: null),
53
var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
68
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetProperty("Details", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
71
properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info0);
143
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\Basic.CompilerLog.Util\Basic.CompilerLog.Util.Impl.BasicGeneratedFilesAnalyzerReference\JsonContext.UsageDetails.g.cs (49)
15
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>? _UsageDetails;
21
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> UsageDetails
24
get => _UsageDetails ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
UsageDetails
));
27
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> Create_UsageDetails(global::System.Text.Json.JsonSerializerOptions options)
29
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
UsageDetails
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> jsonTypeInfo))
31
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
37
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
41
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, objectInfo);
58
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
60
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount,
61
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount = value!,
68
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
78
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
80
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount,
81
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount = value!,
88
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
98
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
100
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount,
101
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount = value!,
108
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("TotalTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
118
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
120
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount,
121
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount = value!,
128
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("CachedInputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
138
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
140
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount,
141
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount = value!,
148
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("ReasoningTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
158
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
168
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
178
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
188
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
198
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
208
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
218
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
228
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
238
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
240
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts,
241
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts = value!,
248
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("AdditionalCounts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>), global::System.Array.Empty<global::System.Type>(), null),
258
private void UsageDetailsSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.
UsageDetails
? value)
268
long? __value_InputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTokenCount;
274
long? __value_OutputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTokenCount;
280
long? __value_TotalTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).TotalTokenCount;
286
long? __value_CachedInputTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).CachedInputTokenCount;
292
long? __value_ReasoningTokenCount = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).ReasoningTokenCount;
298
global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long> __value_AdditionalCounts = ((global::Microsoft.Extensions.AI.
UsageDetails
)value).AdditionalCounts;
Microsoft.Extensions.AI.OpenAI (14)
OpenAIChatClient.cs (2)
717
private static
UsageDetails
FromOpenAIUsage(ChatTokenUsage tokenUsage)
719
var
destination = new UsageDetails
OpenAIEmbeddingGenerator.cs (1)
77
UsageDetails
? usage = embeddings.Usage is not null ?
OpenAIImageGenerator.cs (1)
132
UsageDetails
? ud = null;
OpenAIRealtimeClientSession.cs (2)
1251
private static
UsageDetails
? MapUsageDetails(Sdk.RealtimeResponseUsage? usage)
1258
var
details = new UsageDetails
OpenAIResponsesChatClient.cs (5)
1628
/// <summary>Extract usage details from a <see cref="ResponseResult"/> into a <see cref="
UsageDetails
"/>.</summary>
1629
private static
UsageDetails
? ToUsageDetails(ResponseResult? responseResult)
1631
UsageDetails
? ud = null;
1647
/// <summary>Converts a <see cref="
UsageDetails
"/> to a <see cref="ResponseTokenUsage"/>.</summary>
1648
internal static ResponseTokenUsage? ToResponseTokenUsage(
UsageDetails
? usageDetails)
OpenAISpeechToTextClient.cs (3)
276
/// <summary>Maps <see cref="AudioTranscriptionTokenUsage"/> to <see cref="
UsageDetails
"/>.</summary>
277
private static
UsageDetails
ToUsageDetails(AudioTranscriptionTokenUsage tokenUsage)
279
var
details = new UsageDetails
Microsoft.Extensions.AI.Stabilization.Tests (56)
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.GetJsonTypeInfo.g.cs (1)
142
if (type == typeof(global::Microsoft.Extensions.AI.
UsageDetails
))
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.UsageContent.g.cs (6)
32
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.UsageContent((global::Microsoft.Extensions.AI.
UsageDetails
)args[0]),
35
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::Microsoft.Extensions.AI.
UsageDetails
)}, modifiers: null),
51
var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
66
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetProperty("Details", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
69
properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info0);
141
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\361d1da7f942c932\AIContentSerializationRegressionContext.UsageDetails.g.cs (49)
13
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>? _UsageDetails;
19
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> UsageDetails
22
get => _UsageDetails ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
UsageDetails
));
25
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> Create_UsageDetails(global::System.Text.Json.JsonSerializerOptions options)
27
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
UsageDetails
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> jsonTypeInfo))
29
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
35
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
39
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, objectInfo);
56
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
58
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount,
59
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount = value!,
66
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
76
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
78
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount,
79
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount = value!,
86
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
96
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
98
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount,
99
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount = value!,
106
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("TotalTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
116
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
118
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount,
119
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount = value!,
126
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("CachedInputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
136
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
138
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount,
139
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount = value!,
146
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("ReasoningTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
156
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
166
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
176
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
186
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
196
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
206
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
216
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
226
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
236
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
238
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts,
239
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts = value!,
246
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("AdditionalCounts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>), global::System.Array.Empty<global::System.Type>(), null),
256
private void UsageDetailsSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.
UsageDetails
? value)
267
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTokenCount, NullableInt64);
269
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTokenCount, NullableInt64);
271
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).TotalTokenCount, NullableInt64);
273
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).CachedInputTokenCount, NullableInt64);
275
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).ReasoningTokenCount, NullableInt64);
277
AdditionalPropertiesDictionaryInt64SerializeHandler(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).AdditionalCounts);
Microsoft.Extensions.AI.Tests (65)
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (3)
1976
var
usage = CreateRandomUsage();
1994
var
actualUsage = result.Usage!;
2005
private static
UsageDetails
CreateRandomUsage()
ChatCompletion\FunctionInvokingChatClientTests.cs (3)
2221
var
usage = CreateRandomUsage();
2243
var
actualUsage = result.Usage!;
2254
private static
UsageDetails
CreateRandomUsage()
Generated\361d1da7f942c932\TestJsonSerializerContext.ChatResponse.g.cs (3)
194
var info7 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
209
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.ChatResponse).GetProperty("Usage", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
212
properties[7] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info7);
Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs (1)
250
if (type == typeof(global::Microsoft.Extensions.AI.
UsageDetails
))
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageContent.g.cs (6)
32
ObjectWithParameterizedConstructorCreator = static args => new global::Microsoft.Extensions.AI.UsageContent((global::Microsoft.Extensions.AI.
UsageDetails
)args[0]),
35
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetConstructor(InstanceMemberBindingFlags, binder: null, new[] {typeof(global::Microsoft.Extensions.AI.
UsageDetails
)}, modifiers: null),
51
var info0 = new global::System.Text.Json.Serialization.Metadata.JsonPropertyInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
66
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.UsageContent).GetProperty("Details", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.
UsageDetails
), global::System.Array.Empty<global::System.Type>(), null),
69
properties[0] = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreatePropertyInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, info0);
141
ParameterType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
Generated\361d1da7f942c932\TestJsonSerializerContext.UsageDetails.g.cs (49)
13
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>? _UsageDetails;
19
public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> UsageDetails
22
get => _UsageDetails ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.
UsageDetails
));
25
private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> Create_UsageDetails(global::System.Text.Json.JsonSerializerOptions options)
27
if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.
UsageDetails
>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.
UsageDetails
> jsonTypeInfo))
29
var objectInfo = new global::System.Text.Json.Serialization.Metadata.JsonObjectInfoValues<global::Microsoft.Extensions.AI.
UsageDetails
>
35
ConstructorAttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetConstructor(InstanceMemberBindingFlags, binder: null, global::System.Array.Empty<global::System.Type>(), modifiers: null),
39
jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateObjectInfo<global::Microsoft.Extensions.AI.
UsageDetails
>(options, objectInfo);
56
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
58
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount,
59
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).InputTokenCount = value!,
66
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
76
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
78
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount,
79
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).OutputTokenCount = value!,
86
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
96
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
98
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount,
99
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).TotalTokenCount = value!,
106
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("TotalTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
116
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
118
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount,
119
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).CachedInputTokenCount = value!,
126
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("CachedInputTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
136
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
138
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount,
139
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).ReasoningTokenCount = value!,
146
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("ReasoningTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
156
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
166
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
176
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
186
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("InputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
196
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
206
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputAudioTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
216
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
226
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("OutputTextTokenCount", InstanceMemberBindingFlags, null, typeof(long?), global::System.Array.Empty<global::System.Type>(), null),
236
DeclaringType = typeof(global::Microsoft.Extensions.AI.
UsageDetails
),
238
Getter = static obj => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts,
239
Setter = static (obj, value) => ((global::Microsoft.Extensions.AI.
UsageDetails
)obj).AdditionalCounts = value!,
246
AttributeProviderFactory = static () => typeof(global::Microsoft.Extensions.AI.
UsageDetails
).GetProperty("AdditionalCounts", InstanceMemberBindingFlags, null, typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>), global::System.Array.Empty<global::System.Type>(), null),
256
private void UsageDetailsSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.
UsageDetails
? value)
267
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).InputTokenCount, NullableInt64);
269
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).OutputTokenCount, NullableInt64);
271
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).TotalTokenCount, NullableInt64);
273
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).CachedInputTokenCount, NullableInt64);
275
global::System.Text.Json.JsonSerializer.Serialize(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).ReasoningTokenCount, NullableInt64);
277
AdditionalPropertiesDictionaryInt64SerializeHandler(writer, ((global::Microsoft.Extensions.AI.
UsageDetails
)value).AdditionalCounts);