31 instantiations of TextReasoningContent
Microsoft.Extensions.AI.Abstractions (1)
ChatCompletion\ChatResponseExtensions.cs (1)
243TextReasoningContent content = new(MergeText(contents, start, end))
Microsoft.Extensions.AI.Abstractions.Tests (20)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (16)
692new() { Contents = [new TextReasoningContent("D")] }, 693new() { Contents = [new TextReasoningContent("E")] }, 694new() { Contents = [new TextReasoningContent("F")] }, 697new() { Contents = [new TextReasoningContent("I")] }, 698new() { Contents = [new TextReasoningContent("J")] }, 700new() { Contents = [new TextReasoningContent("L")] }, 703new() { Contents = [new TextReasoningContent("O")] }, 704new() { Contents = [new TextReasoningContent("P")] }, 727new() { Contents = [new TextReasoningContent("A") { ProtectedData = "1" }] }, 728new() { Contents = [new TextReasoningContent("B") { ProtectedData = "2" }] }, 729new() { Contents = [new TextReasoningContent("C")] }, 730new() { Contents = [new TextReasoningContent("D")] }, 731new() { Contents = [new TextReasoningContent("E") { ProtectedData = "3" }] }, 732new() { Contents = [new TextReasoningContent("F") { ProtectedData = "4" }] }, 733new() { Contents = [new TextReasoningContent("G")] }, 734new() { Contents = [new TextReasoningContent("H")] },
Contents\AIContentTests.cs (1)
64new TextReasoningContent("reasoning text"),
Contents\TextReasoningContentTests.cs (3)
17TextReasoningContent c = new(text); 27TextReasoningContent c = new(null); 62var content = new TextReasoningContent("reasoning text") { ProtectedData = "protected" };
Microsoft.Extensions.AI.Integration.Tests (1)
ToolReductionTests.cs (1)
280new TextReasoningContent(reasoningLine),
Microsoft.Extensions.AI.OpenAI (6)
OpenAIChatClient.cs (2)
381responseUpdate.Contents.Add(new TextReasoningContent(reasoningText)); 507returnMessage.Contents.Add(new TextReasoningContent(reasoningText));
OpenAIResponsesChatClient.cs (4)
191message.Contents.Add(new TextReasoningContent(reasoningItem.GetSummaryText()) 407yield return CreateUpdate(new TextReasoningContent(reasoningSummaryTextDeltaUpdate.Delta)); 411yield return CreateUpdate(new TextReasoningContent(reasoningTextDeltaUpdate.Delta)); 483yield return CreateUpdate(new TextReasoningContent(null) { ProtectedData = encryptedContent });
Microsoft.Extensions.AI.Tests (3)
ChatCompletion\OpenTelemetryChatClientTests.cs (3)
359new TextReasoningContent("This is reasoning"), 375yield return new() { Contents = [new TextReasoningContent("This is reasoning")] }; 397new TextReasoningContent("User reasoning"),
55 references to TextReasoningContent
Microsoft.Extensions.AI (2)
ChatCompletion\OpenTelemetryChatClient.cs (1)
257case TextReasoningContent trc when !string.IsNullOrWhiteSpace(trc.Text):
ToolReduction\EmbeddingToolReductionStrategy.cs (1)
64case TextReasoningContent content:
Microsoft.Extensions.AI.Abstractions (9)
ChatCompletion\ChatResponseExtensions.cs (4)
237Coalesce<TextReasoningContent>( 243TextReasoningContent content = new(MergeText(contents, start, end)) 251Debug.Assert(contents[i] is TextReasoningContent { ProtectedData: null }, "Expected all but the last to have a null ProtectedData"); 255if (((TextReasoningContent)contents[end - 1]).ProtectedData is { } protectedData)
Contents\AIContent.cs (1)
18[JsonDerivedType(typeof(TextReasoningContent), typeDiscriminator: "reasoning")]
Contents\TextReasoningContent.cs (4)
13/// <see cref="TextReasoningContent"/> is distinct from <see cref="TextContent"/>. <see cref="TextReasoningContent"/> 21/// Initializes a new instance of the <see cref="TextReasoningContent"/> class. 44/// sent back to the provider and not displayed to the user. It's possible for a <see cref="TextReasoningContent"/> to contain
Microsoft.Extensions.AI.Abstractions.Tests (19)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (14)
711Assert.Equal("DEF", Assert.IsType<TextReasoningContent>(message.Contents[1]).Text); 713Assert.Equal("IJ", Assert.IsType<TextReasoningContent>(message.Contents[3]).Text); 715Assert.Equal("L", Assert.IsType<TextReasoningContent>(message.Contents[5]).Text); 717Assert.Equal("OP", Assert.IsType<TextReasoningContent>(message.Contents[7]).Text); 741Assert.Equal("A", Assert.IsType<TextReasoningContent>(message.Contents[0]).Text); 742Assert.Equal("1", ((TextReasoningContent)message.Contents[0]).ProtectedData); 744Assert.Equal("B", Assert.IsType<TextReasoningContent>(message.Contents[1]).Text); 745Assert.Equal("2", ((TextReasoningContent)message.Contents[1]).ProtectedData); 747Assert.Equal("CDE", Assert.IsType<TextReasoningContent>(message.Contents[2]).Text); 748Assert.Equal("3", ((TextReasoningContent)message.Contents[2]).ProtectedData); 750Assert.Equal("F", Assert.IsType<TextReasoningContent>(message.Contents[3]).Text); 751Assert.Equal("4", ((TextReasoningContent)message.Contents[3]).ProtectedData); 753Assert.Equal("GH", Assert.IsType<TextReasoningContent>(message.Contents[4]).Text); 754Assert.Null(((TextReasoningContent)message.Contents[4]).ProtectedData);
Contents\TextReasoningContentTests.cs (5)
17TextReasoningContent c = new(text); 27TextReasoningContent c = new(null); 62var content = new TextReasoningContent("reasoning text") { ProtectedData = "protected" }; 65var deserializedContent = JsonSerializer.Deserialize<TextReasoningContent>(json, AIJsonUtilities.DefaultOptions);
Microsoft.Extensions.AI.OpenAI (1)
OpenAIResponsesChatClient.cs (1)
1142case TextReasoningContent reasoningContent:
Microsoft.Extensions.AI.OpenAI.Tests (24)
OpenAIChatClientTests.cs (3)
1954var reasoning = message.Contents.OfType<TextReasoningContent>().Single(); 2007string reasoningText = string.Concat(updates.SelectMany(u => u.Contents).OfType<TextReasoningContent>().Select(r => r.Text));
OpenAIResponseClientIntegrationTests.cs (12)
585var reasoningContent = response1.Messages 587.OfType<TextReasoningContent>() 608var deserializedReasoning = deserializedHistory 610.OfType<TextReasoningContent>() 623foreach (var reasoning in deserializedHistory 625.OfType<TextReasoningContent>() 666var reasoningContent = response1.Messages 668.OfType<TextReasoningContent>() 688var deserializedReasoning = deserializedHistory 690.OfType<TextReasoningContent>() 703foreach (var reasoning in deserializedHistory 705.OfType<TextReasoningContent>()
OpenAIResponseClientTests.cs (9)
330var reasoning = Assert.IsType<TextReasoningContent>(updates[i].Contents.Single()); 462var reasoning = Assert.IsType<TextReasoningContent>(u.Contents.Single()); 467var allReasoningText = string.Concat(reasoningUpdates.Select(u => u.Contents.OfType<TextReasoningContent>().First().Text)); 569var reasoningContents = updates.SelectMany(u => u.Contents).OfType<TextReasoningContent>().ToList(); 576var coalescedReasoning = assistantMessage.Contents.OfType<TextReasoningContent>().Single(); 822Assert.Single(responseMessage.Contents, content => content is TextReasoningContent);