8 writes to AdditionalCounts
Microsoft.Extensions.AI.Abstractions (1)
UsageDetails.cs (1)
46AdditionalCounts = new(countsToAdd);
Microsoft.Extensions.AI.OpenAI (4)
OpenAIChatClient.cs (1)
647AdditionalCounts = [],
OpenAIImageGenerator.cs (1)
175ud.AdditionalCounts ??= [];
OpenAIResponsesChatClient.cs (2)
1060ud.AdditionalCounts ??= []; 1066ud.AdditionalCounts ??= [];
Microsoft.Extensions.AI.Tests (3)
ChatCompletion\DistributedCachingChatClientTest.cs (1)
68AdditionalCounts = new() { ["someValue"] = 1_234_567 }
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (1)
931AdditionalCounts = new() { ["firstValue"] = value, ["secondValue"] = value },
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
1313AdditionalCounts = new() { ["firstValue"] = value, ["secondValue"] = value },
32 references to AdditionalCounts
Microsoft.Extensions.AI.Abstractions (5)
UsageDetails.cs (5)
42if (usage.AdditionalCounts is { } countsToAdd) 44if (AdditionalCounts is null) 52AdditionalCounts[kvp.Key] = AdditionalCounts.TryGetValue(kvp.Key, out var existingValue) ? 83if (AdditionalCounts is { } additionalCounts)
Microsoft.Extensions.AI.Abstractions.Tests (1)
Contents\UsageContentTests.cs (1)
30Assert.Null(c.Details.AdditionalCounts);
Microsoft.Extensions.AI.OpenAI (5)
OpenAIChatClient.cs (1)
650var counts = destination.AdditionalCounts;
OpenAIImageGenerator.cs (2)
176ud.AdditionalCounts.Add($"{nameof(usage.InputTokenDetails)}.{nameof(inputDetails.ImageTokenCount)}", inputDetails.ImageTokenCount); 177ud.AdditionalCounts.Add($"{nameof(usage.InputTokenDetails)}.{nameof(inputDetails.TextTokenCount)}", inputDetails.TextTokenCount);
OpenAIResponsesChatClient.cs (2)
1061ud.AdditionalCounts.Add($"{nameof(usage.InputTokenDetails)}.{nameof(inputDetails.CachedTokenCount)}", inputDetails.CachedTokenCount); 1067ud.AdditionalCounts.Add($"{nameof(usage.OutputTokenDetails)}.{nameof(outputDetails.ReasoningTokenCount)}", outputDetails.ReasoningTokenCount);
Microsoft.Extensions.AI.OpenAI.Tests (13)
OpenAIChatClientTests.cs (10)
182}, response.Usage.AdditionalCounts); 270}, usage.Details.AdditionalCounts); 856}, response.Usage.AdditionalCounts); 953}, response.Usage.AdditionalCounts); 1051}, response.Usage.AdditionalCounts); 1163}, response.Usage.AdditionalCounts); 1247}, response.Usage.AdditionalCounts); 1363}, usage.Details.AdditionalCounts); 1504}, response.Usage.AdditionalCounts); 1619}, response.Usage.AdditionalCounts);
OpenAIResponseClientTests.cs (3)
4231Assert.NotNull(response.Usage.AdditionalCounts); 4232Assert.Equal(10, response.Usage.AdditionalCounts["InputTokenDetails.CachedTokenCount"]); 4233Assert.Equal(5, response.Usage.AdditionalCounts["OutputTokenDetails.ReasoningTokenCount"]);
Microsoft.Extensions.AI.Tests (8)
ChatCompletion\DistributedCachingChatClientTest.cs (2)
798Assert.Equal(expected.Usage?.AdditionalCounts, actual.Usage?.AdditionalCounts);
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (3)
914Assert.Equal(2, actualUsage.AdditionalCounts!.Count); 915Assert.Equal(expectedTotalTokenCounts, actualUsage.AdditionalCounts["firstValue"]); 916Assert.Equal(expectedTotalTokenCounts, actualUsage.AdditionalCounts["secondValue"]);
ChatCompletion\FunctionInvokingChatClientTests.cs (3)
1296Assert.Equal(2, actualUsage.AdditionalCounts!.Count); 1297Assert.Equal(expectedTotalTokenCounts, actualUsage.AdditionalCounts["firstValue"]); 1298Assert.Equal(expectedTotalTokenCounts, actualUsage.AdditionalCounts["secondValue"]);