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