162 instantiations of TextContent
Microsoft.Extensions.AI (1)
ChatCompletion\OpenTelemetryImageGenerator.cs (1)
192content.Add(new TextContent(request.Prompt));
Microsoft.Extensions.AI.Abstractions (7)
ChatCompletion\ChatMessage.cs (2)
31: this(role, content is null ? [] : [new TextContent(content)]) 116!string.IsNullOrWhiteSpace(text) ? new TextContent(text) :
ChatCompletion\ChatResponseExtensions.cs (1)
194static (contents, start, end) => new(MergeText(contents, start, end)) { AdditionalProperties = contents[start].AdditionalProperties?.Clone() });
ChatCompletion\ChatResponseUpdate.cs (2)
48: this(role, content is null ? null : [new TextContent(content)]) 162!string.IsNullOrWhiteSpace(text) ? new TextContent(text) :
SpeechToText\SpeechToTextResponse.cs (1)
35: this(content is null ? [] : [new TextContent(content)])
SpeechToText\SpeechToTextResponseUpdate.cs (1)
52: this(content is null ? [] : [new TextContent(content)])
Microsoft.Extensions.AI.Abstractions.Tests (50)
ChatCompletion\ChatMessageTests.cs (5)
90content.Add(new TextContent($"text-{i}")); 149new TextContent("text-1"), 150new TextContent("text-2"), 255new TextContent("content-1") 267new TextContent("content-4")
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (10)
681new() { Contents = [new TextContent("D") { Annotations = [new()] }] }, 682new() { Contents = [new TextContent("E") { Annotations = [new()] }] }, 683new() { Contents = [new TextContent("F") { Annotations = [new()] }] }, 684new() { Contents = [new TextContent("G") { Annotations = [] }] }, 685new() { Contents = [new TextContent("H") { Annotations = [] }] }, 686new() { Contents = [new TextContent("I") { Annotations = [new()] }] }, 687new() { Contents = [new TextContent("J") { Annotations = [new()] }] }, 689new() { Contents = [new TextContent("L") { Annotations = [new()] }] }, 692new() { Contents = [new TextContent("O") { Annotations = [new()] }] }, 693new() { Contents = [new TextContent("P") { Annotations = [new()] }] },
ChatCompletion\ChatResponseUpdateTests.cs (6)
44update.Contents.Add(new TextContent("text")); 48IList<AIContent> newList = [new TextContent("text")]; 95new TextContent("text-1"), 96new TextContent("text-2"), 121new TextContent("text-1"), 125new TextContent("text-2"),
Contents\AIContentTests.cs (1)
63new TextContent("a"),
Contents\CodeInterpreterToolCallContentTests.cs (3)
32IList<AIContent> inputs = [new TextContent("print('hello')")]; 55new TextContent("import numpy as np"), 76new TextContent("print('hello')"),
Contents\CodeInterpreterToolResultContentTests.cs (3)
32IList<AIContent> output = [new TextContent("Hello, World!")]; 55new TextContent("Execution completed"), 78new TextContent("Hello, World!"),
Contents\McpServerToolResultContentTests.cs (1)
58Output = new List<AIContent> { new TextContent("result") }
Contents\TextContentTests.cs (3)
17TextContent c = new(text); 26TextContent c = new(null); 55var content = new TextContent("Hello, world!");
Image\ImageGenerationResponseTests.cs (1)
139new TextContent("Generated image description") // Edge case: text content in image response
SpeechToText\SpeechToTextClientExtensionsTests.cs (1)
65update.Contents.Add(new TextContent("world"));
SpeechToText\SpeechToTextResponseTests.cs (9)
76content.Add(new TextContent($"text-{i}")); 133List<AIContent> newContents = [new TextContent("text1"), new TextContent("text2")]; 150new TextContent("Text1"), 151new TextContent("Text2"), 152new TextContent("Text3"), 153new TextContent("Text4"), 210new TextContent("Hello, "), 212new TextContent("world!")
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (3)
52new([new TextContent("You?")]) { ModelId = "model123", StartTime = TimeSpan.FromSeconds(24), EndTime = TimeSpan.FromSeconds(25), AdditionalProperties = new() { ["c"] = "d" } }, 139new() { Contents = [new TextContent("Hello, ")] }, 141new() { Contents = [new TextContent("world!")] },
SpeechToText\SpeechToTextResponseUpdateTests.cs (4)
41List<AIContent> newList = [new TextContent("content1")]; 65new TextContent("text-1"), 66new TextContent("text-2"), 93new TextContent("text-1"),
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
179responseUpdate.Contents.Add(new TextContent(update));
Microsoft.Extensions.AI.AzureAIInference.Tests (3)
AzureAIInferenceChatClientTests.cs (3)
145[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 218[new ChatMessage(ChatRole.User, "hello".Select(c => (AIContent)new TextContent(c.ToString())).ToList())] : 1069new TextContent("Describe this picture."),
Microsoft.Extensions.AI.Evaluation (1)
EvaluationContext.cs (1)
127: this(name, contents: new TextContent(content))
Microsoft.Extensions.AI.Evaluation.Integration.Tests (6)
SafetyEvaluatorTests.cs (6)
340new TextContent("What does this image depict?"), 378new TextContent("Here's an image pertaining to DotNet:"), 412new TextContent("What does this image depict?"), 425new TextContent("Here's an image pertaining to Microsoft Copilot:"), 461new TextContent("What does this image depict?"), 474new TextContent("Here's an image pertaining to Microsoft Copilot:"),
Microsoft.Extensions.AI.Evaluation.NLP (2)
BLEUEvaluatorContext.cs (1)
54contents: [.. references.Select(c => new TextContent(c))])
GLEUEvaluatorContext.cs (1)
54contents: [.. references.Select(c => new TextContent(c))])
Microsoft.Extensions.AI.Evaluation.Quality (4)
IntentResolutionEvaluatorContext.cs (1)
43: base(name: ToolDefinitionsContextName, contents: [new TextContent(toolDefinitions.RenderAsJson())])
RetrievalEvaluatorContext.cs (1)
47contents: [.. retrievedContextChunks.Select(c => new TextContent(c))])
TaskAdherenceEvaluatorContext.cs (1)
44: base(name: ToolDefinitionsContextName, contents: [new TextContent(toolDefinitions.RenderAsJson())])
ToolCallAccuracyEvaluatorContext.cs (1)
45: base(name: ToolDefinitionsContextName, contents: [new TextContent(toolDefinitions.RenderAsJson())])
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (7)
ScenarioRunResultTests.cs (6)
23var content1 = new TextContent("content1"); 24var content2 = new TextContent("content2"); 25var content3 = new TextContent("content3"); 115var content1 = new TextContent("content1"); 116var content2 = new TextContent("content2"); 117var content3 = new TextContent("content3");
SerializationChainingTests.cs (1)
31Contents = [new TextContent("A user message")]
Microsoft.Extensions.AI.Integration.Tests (4)
ChatClientIntegrationTests.cs (2)
195new TextContent("What does this logo say?"), 213new TextContent("What text does this document contain?"),
ToolReductionTests.cs (2)
281new TextContent(answerLine) 312new TextContent(textOnly)
Microsoft.Extensions.AI.OpenAI (11)
OpenAIAssistantsChatClient.cs (2)
236(hcitrc.Outputs ??= []).Add(new TextContent(logs)); 284textUpdate.Contents.Add(new TextContent(string.Empty));
OpenAIChatClient.cs (2)
518annotationContent = new(null); 707aiContent = new TextContent(contentPart.Text);
OpenAIResponsesChatClient.cs (4)
389yield return CreateUpdate(new TextContent(outputTextDeltaUpdate.Delta)); 1084TextContent text = new(part.Text) { RawRepresentation = part }; 1183new TextContent(mtci.ToolOutput)], 1216CodeInterpreterCallLogsOutput ciclo => new TextContent(ciclo.Logs) { RawRepresentation = ciclo },
OpenAISpeechToTextClient.cs (3)
72response.Contents = [new TextContent(translation.Text)]; 86response.Contents = [new TextContent(transcription.Text)]; 144result.Contents = [new TextContent(deltaUpdate.Delta)];
Microsoft.Extensions.AI.OpenAI.Tests (28)
OpenAIChatClientTests.cs (5)
926new(ChatRole.System, [new TextContent("You are a really nice friend."), new TextContent("Really nice.")]), 1468new TextContent("hi, how are you?"), 1474new FunctionResultContent("12345", new TextContent("Said hello")), 1586new TextContent("What does this logo say?"),
OpenAIConversionTests.cs (12)
442new TextContent("Hi there!"), 511new TextContent("Hi there!"), 562new TextContent("Hello, "), 565new TextContent("World"), 566new TextContent("!"), 570new TextContent("Hi!"), 751new TextContent("I'll call a function."), 787new TextContent("Here's an image and some text."), 856new TextContent("I'll process this complex data."), 1111new TextContent("Processing your request..."), 1353new TextContent("Third message with function call"), 1388new TextContent("I'll call a function"),
OpenAIResponseClientIntegrationTests.cs (5)
436Tools = [AIFunctionFactory.Create((int a, int b) => new TextContent($"The sum is {a + b}"), "AddNumbers", "Adds two numbers together")] 458new TextContent($"Weather in {city}: "), 459new TextContent("Sunny, 72°F") 534new TextContent("Analysis result: "), 536new TextContent(" - Image provided above")
OpenAIResponseClientTests.cs (6)
3536new ChatMessage(ChatRole.Tool, [new FunctionResultContent("call_123", new TextContent("Result text"))]) 3595new TextContent("First part. "), 3596new TextContent("Second part.") 3830new TextContent("Text result: "), 3832new TextContent(" - Image uploaded") 4279new TextContent("Check this image: "),
Microsoft.Extensions.AI.Tests (36)
ChatCompletion\ChatClientStructuredOutputExtensionsTests.cs (1)
200new TextContent("I'm going to invoke a function to get the data."),
ChatCompletion\DistributedCachingChatClientTest.cs (5)
368new() { Role = ChatRole.Assistant, Contents = [new TextContent("Hello")] }, 369new() { Role = ChatRole.Assistant, Contents = [new TextContent(" world, ")] }, 375new TextContent("how ") 386new TextContent("are you?") 744new ChatMessage(ChatRole.Assistant, [new TextContent("Hey")])));
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (2)
779yield return new ChatResponseUpdate(ChatRole.Assistant, [new TextContent("Text 1")]) { MessageId = messageId }; 781yield return new ChatResponseUpdate(ChatRole.Assistant, [new TextContent("Text 2")]) { MessageId = messageId };
ChatCompletion\FunctionInvokingChatClientTests.cs (5)
552new ChatMessage(ChatRole.Assistant, [new TextContent("extra"), new FunctionCallContent("callId1", "Func1"), new TextContent("stuff")]), 556new ChatMessage(ChatRole.Assistant, [new FunctionCallContent("callId3", "VoidReturn", arguments: new Dictionary<string, object?> { { "i", 43 } }), new TextContent("more")]), 766updates = [new() { Contents = [new TextContent("OK bye")] }]; 930? [new TextContent($"The search results were '{string.Join(", ", frcs.Select(frc => frc.Result))}'")]
ChatCompletion\OpenTelemetryChatClientTests.cs (4)
355new TextContent("Assistant response text"), 393new TextContent("User request text"), 554new TextContent("Hello!"), 556new TextContent("How are you?"),
Functions\AIFunctionFactoryTest.cs (18)
931AIFunctionFactory.Create(() => (AIContent)new TextContent("text")), 932AIFunctionFactory.Create(async () => (AIContent)new TextContent("text")), 933AIFunctionFactory.Create(async ValueTask<AIContent> () => (AIContent)new TextContent("text")), 934AIFunctionFactory.Create(() => new TextContent("text")), 935AIFunctionFactory.Create(async () => new TextContent("text")), 936AIFunctionFactory.Create(async ValueTask<AIContent> () => new TextContent("text")), 948AIFunctionFactory.Create(() => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 949AIFunctionFactory.Create(async () => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 950AIFunctionFactory.Create(async ValueTask<IEnumerable<AIContent>> () => (IEnumerable<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 955AIFunctionFactory.Create(() => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 956AIFunctionFactory.Create(async () => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 957AIFunctionFactory.Create(async ValueTask<AIContent[]> () => (AIContent[])[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 962AIFunctionFactory.Create(() => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 963AIFunctionFactory.Create(async () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 964AIFunctionFactory.Create(async ValueTask<List<AIContent>> () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 969AIFunctionFactory.Create(() => (IList<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 970AIFunctionFactory.Create(async () => (IList<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]), 971AIFunctionFactory.Create(async ValueTask<IList<AIContent>> () => (List<AIContent>)[new TextContent("text"), new DataContent(new byte[] { 1, 2, 3 }, "application/octet-stream")]),
SpeechToText\OpenTelemetrySpeechToTextClientTests.cs (1)
73new TextContent(" text."),
Microsoft.Extensions.DataIngestion (1)
Utils\Batching.cs (1)
35contents.Add(new TextContent(chunk.Content));
168 references to TextContent
Aspire.Dashboard (3)
Model\Assistant\AIHelpers.cs (3)
480var newMessages = GetMessages(update, filter: c => c is not TextContent); 486foreach (var item in update.Contents.OfType<TextContent>())
Microsoft.Extensions.AI (2)
ChatCompletion\OpenTelemetryChatClient.cs (1)
253case TextContent tc when !string.IsNullOrWhiteSpace(tc.Text):
ToolReduction\EmbeddingToolReductionStrategy.cs (1)
60case TextContent content:
Microsoft.Extensions.AI.Abstractions (24)
ChatCompletion\ChatMessage.cs (1)
77/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
ChatCompletion\ChatResponseExtensions.cs (9)
57/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 111/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 134/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 162/// <see cref="TextContent"/> instances in a row may be combined into a single <see cref="TextContent"/>. 190Coalesce<TextContent>(
ChatCompletion\ChatResponseUpdate.cs (1)
73/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
Contents\AIAnnotation.cs (1)
26/// for <see cref="TextContent"/>.
Contents\AIContent.cs (1)
17[JsonDerivedType(typeof(TextContent), typeDiscriminator: "text")]
Contents\AIContentExtensions.cs (4)
18/// <summary>Concatenates the text of all <see cref="TextContent"/> instances in the list.</summary> 30return (list[0] as TextContent)?.Text ?? string.Empty; 37if (list[i] is TextContent text) 59return string.Concat(contents.OfType<TextContent>());
Contents\CodeInterpreterToolResultContent.cs (1)
32/// <see cref="DataContent"/> for binary data, <see cref="TextContent"/> for standard output text,
Contents\TextContent.cs (1)
16/// Initializes a new instance of the <see cref="TextContent"/> class.
Contents\TextReasoningContent.cs (2)
13/// <see cref="TextReasoningContent"/> is distinct from <see cref="TextContent"/>. <see cref="TextReasoningContent"/> 15/// the model, which is represented by <see cref="TextContent"/>. Neither types derives from the other.
Contents\TextSpanAnnotatedRegion.cs (1)
10/// <remarks>This <see cref="AnnotatedRegion"/> typically applies to <see cref="TextContent"/>.</remarks>
SpeechToText\SpeechToTextResponse.cs (1)
65/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
SpeechToText\SpeechToTextResponseUpdate.cs (1)
85/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>.
Microsoft.Extensions.AI.Abstractions.Tests (62)
ChatCompletion\ChatMessageTests.cs (11)
48TextContent tc = Assert.IsType<TextContent>(message.Contents[0]); 108TextContent tc = Assert.IsType<TextContent>(message.Contents[i]); 154TextContent textContent = Assert.IsType<TextContent>(message.Contents[3]); 159((TextContent)message.Contents[3]).Text = "text-3"; 281((TextContent)chatMessage.Contents[0]).Text = "content-1-override"; // Override the content of the first text content item that has the "content-1" content 296var textContent = deserializedMessage.Contents[0] as TextContent; 319textContent = deserializedMessage.Contents[3] as TextContent;
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (19)
588TextContent[] contents = message.Contents.OfType<TextContent>().ToArray(); 624Assert.Equal("ABC", Assert.IsType<TextContent>(message.Contents[0]).Text); 626Assert.Equal("GH", Assert.IsType<TextContent>(message.Contents[2]).Text); 628Assert.Equal("K", Assert.IsType<TextContent>(message.Contents[4]).Text); 630Assert.Equal("MN", Assert.IsType<TextContent>(message.Contents[6]).Text); 699Assert.Equal("ABC", Assert.IsType<TextContent>(message.Contents[0]).Text); 700Assert.Equal("D", Assert.IsType<TextContent>(message.Contents[1]).Text); 701Assert.Equal("E", Assert.IsType<TextContent>(message.Contents[2]).Text); 702Assert.Equal("F", Assert.IsType<TextContent>(message.Contents[3]).Text); 703Assert.Equal("GH", Assert.IsType<TextContent>(message.Contents[4]).Text); 704Assert.Equal("I", Assert.IsType<TextContent>(message.Contents[5]).Text); 705Assert.Equal("J", Assert.IsType<TextContent>(message.Contents[6]).Text); 706Assert.Equal("K", Assert.IsType<TextContent>(message.Contents[7]).Text); 707Assert.Equal("L", Assert.IsType<TextContent>(message.Contents[8]).Text); 708Assert.Equal("MN", Assert.IsType<TextContent>(message.Contents[9]).Text); 709Assert.Equal("O", Assert.IsType<TextContent>(message.Contents[10]).Text); 710Assert.Equal("P", Assert.IsType<TextContent>(message.Contents[11]).Text); 730Assert.Equal("Hello, world!", Assert.IsType<TextContent>(Assert.Single(Assert.Single(response.Messages).Contents)).Text);
ChatCompletion\ChatResponseUpdateTests.cs (7)
101TextContent textContent = Assert.IsType<TextContent>(update.Contents[3]); 106((TextContent)update.Contents[3]).Text = "text-3"; 142Assert.IsType<TextContent>(result.Contents[0]); 143Assert.Equal("text-1", ((TextContent)result.Contents[0]).Text); 154Assert.IsType<TextContent>(result.Contents[4]); 155Assert.Equal("text-2", ((TextContent)result.Contents[4]).Text);
Contents\CodeInterpreterToolCallContentTests.cs (3)
63Assert.IsType<TextContent>(c.Inputs[0]); 88Assert.IsType<TextContent>(deserializedSut.Inputs[0]); 89Assert.Equal("print('hello')", ((TextContent)deserializedSut.Inputs[0]).Text);
Contents\CodeInterpreterToolResultContentTests.cs (3)
64Assert.IsType<TextContent>(c.Outputs[0]); 90Assert.IsType<TextContent>(deserializedSut.Outputs[0]); 91Assert.Equal("Hello, World!", ((TextContent)deserializedSut.Outputs[0]).Text);
Contents\TextContentTests.cs (5)
17TextContent c = new(text); 26TextContent c = new(null); 55var content = new TextContent("Hello, world!"); 58var deserializedContent = JsonSerializer.Deserialize<TextContent>(json, AIJsonUtilities.DefaultOptions);
Image\ImageGenerationResponseTests.cs (1)
152Assert.IsType<TextContent>(deserialized.Contents[2]);
SpeechToText\SpeechToTextResponseTests.cs (7)
52TextContent tc = Assert.IsType<TextContent>(response.Contents[0]); 92TextContent tc = Assert.IsType<TextContent>(response.Contents[i]); 173Assert.Equal($"Text{i + 1}", ((TextContent)result.Contents[i]).Text); 236Assert.Equal("Hello, ", Assert.IsType<TextContent>(update.Contents[0]).Text); 238Assert.Equal("world!", Assert.IsType<TextContent>(update.Contents[2]).Text);
SpeechToText\SpeechToTextResponseUpdateExtensionsTests.cs (3)
126TextContent[] contents = response.Contents.OfType<TextContent>().ToArray(); 153Assert.Equal("Hello, world!", Assert.IsType<TextContent>(Assert.Single(response.Contents)).Text);
SpeechToText\SpeechToTextResponseUpdateTests.cs (2)
71TextContent textContent = Assert.IsType<TextContent>(update.Contents[3]);
Utilities\AIJsonUtilitiesTests.cs (1)
1078Assert.Throws<ArgumentException>("contentType", () => options.AddAIContentType<TextContent>("discriminator"));
Microsoft.Extensions.AI.AzureAIInference (3)
AzureAIInferenceChatClient.cs (3)
465if (input.Contents.All(c => c is TextContent)) 480ChatRequestAssistantMessage message = new(string.Concat(input.Contents.Where(c => c is TextContent))); 509case TextContent textContent:
Microsoft.Extensions.AI.Evaluation (11)
ChatMessageExtensions.cs (6)
101/// <see cref="TextContent"/>s. If the <paramref name="message"/> does not contain any <see cref="TextContent"/>s 116if (!message.Contents.OfType<TextContent>().Any()) 140/// <see cref="TextContent"/>s. Any <paramref name="messages"/> that contain no <see cref="TextContent"/>s will be 142/// <see cref="TextContent"/>s then this function will return an empty string.
ChatResponseExtensions.cs (3)
22/// <see cref="TextContent"/>s. Any <see cref="ChatResponse.Messages"/> that contain no <see cref="TextContent"/>s 24/// <see cref="TextContent"/>s then this function will return an empty string.
EvaluationContext.cs (2)
59/// <see cref="TextContent"/> objects for text, <see cref="DataContent"/> or <see cref="UriContent"/> objects for 65/// <see cref="TextContent"/> object that includes the contained text.
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (8)
ScenarioRunResultTests.cs (8)
23var content1 = new TextContent("content1"); 24var content2 = new TextContent("content2"); 25var content3 = new TextContent("content3"); 115var content1 = new TextContent("content1"); 116var content2 = new TextContent("content2"); 117var content3 = new TextContent("content3"); 367if (x is TextContent xText && y is TextContent yText)
Microsoft.Extensions.AI.Evaluation.Safety (6)
AIContentExtensions.cs (1)
11=> content is TextContent || content is UsageContent;
ContentSafetyEvaluator.cs (2)
113contents.OfType<TextContent>() is IEnumerable<TextContent> textContents && textContents.Any() &&
ContentSafetyServicePayloadUtilities.cs (3)
320if (content is TextContent textContent) 515$"The current evaluation being performed by {evaluatorName} only supports content of type '{nameof(TextContent)}', '{nameof(UriContent)}' and '{nameof(DataContent)}'. " + 524$"The current evaluation being performed by {evaluatorName} only supports content of type '{nameof(TextContent)}'. " +
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (4)
179var singleTextContent = (TextContent)history[1].Contents.Single(); 676((TextContent)message.Contents[0]).Text += "!"; 710((TextContent)message.Contents[0]).Text += "!";
ReducingChatClientTests.cs (1)
100if (content is TextContent text)
Microsoft.Extensions.AI.OpenAI (12)
OpenAIAssistantsChatClient.cs (4)
287(((TextContent)textUpdate.Contents[0]).Annotations ??= []).Add(new CitationAnnotation 518foreach (var textContent in chatMessage.Contents.OfType<TextContent>()) 534case TextContent text:
OpenAIChatClient.cs (3)
278case TextContent textContent: 515TextContent? annotationContent = returnMessage.Contents.OfType<TextContent>().FirstOrDefault();
OpenAIResponsesChatClient.cs (5)
795case TextContent textContent: 859case TextContent tc: 984case TextContent textContent: 1030mtci.ToolOutput = string.Concat(mstrc.Output?.OfType<TextContent>() ?? []); 1084TextContent text = new(part.Text) { RawRepresentation = part };
Microsoft.Extensions.AI.OpenAI.Tests (21)
OpenAIAssistantChatClientIntegrationTests.cs (1)
94if (toolResultContent.Outputs.OfType<TextContent>().FirstOrDefault() is { } resultOutput)
OpenAIChatClientTests.cs (2)
1250TextContent fcc = Assert.IsType<TextContent>(response.Messages.Single().Contents[0]);
OpenAIConversionTests.cs (4)
620Assert.Equal("Hello, world!", Assert.IsType<TextContent>(message.Contents[0], exactMatch: false).Text); 651Assert.Equal("Hello, world!", Assert.IsType<TextContent>(message.Contents[0], exactMatch: false).Text); 764var textContent = message.Contents.OfType<TextContent>().FirstOrDefault();
OpenAIResponseClientIntegrationTests.cs (5)
62if (toolResultContent.Outputs.OfType<TextContent>().FirstOrDefault() is { } resultOutput) 79TextContent tc = m.Contents.OfType<TextContent>().First(); 424var content = Assert.IsType<TextContent>(Assert.Single(toolResult.Output!));
OpenAIResponseClientTests.cs (9)
1093Assert.StartsWith("The `README.md` file for `Microsoft.Extensions.AI.Abstractions` is located at", Assert.IsType<TextContent>(Assert.Single(result.Output)).Text); 1348Assert.StartsWith("Available pages for dotnet/extensions", Assert.IsType<TextContent>(Assert.Single(firstResult.Output)).Text); 1361Assert.StartsWith("The `README.md` file for `Microsoft.Extensions.AI.Abstractions` is located at", Assert.IsType<TextContent>(Assert.Single(secondResult.Output)).Text); 1762Assert.StartsWith("Available pages for dotnet/extensions", Assert.IsType<TextContent>(Assert.Single(firstResult.Output)).Text); 1775Assert.StartsWith("The path to the `README.md` file", Assert.IsType<TextContent>(Assert.Single(secondResult.Output)).Text); 2368var textContent = Assert.IsType<TextContent>(message.Contents[2]); 2589var textContent = Assert.IsType<TextContent>(message.Contents[2]);
Microsoft.Extensions.AI.Tests (11)
ChatCompletion\DistributedCachingChatClientTest.cs (4)
346c => Assert.Equal("This becomes one chunk", Assert.IsType<TextContent>(c).Text), 348c => Assert.Equal("... and this becomes another one.", Assert.IsType<TextContent>(c).Text)); 424var content = Assert.IsType<TextContent>(Assert.Single(item.Contents));
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (2)
806Assert.Equal("Text 1", update.Contents.OfType<TextContent>().First().Text); 812Assert.Equal("Text 2", update.Contents.OfType<TextContent>().First().Text);
ChatCompletion\FunctionInvokingChatClientTests.cs (2)
790m => Assert.Equal("OK bye", Assert.IsType<TextContent>(Assert.Single(m.Contents)).Text)); 830Assert.IsType<TextContent>(Assert.Single(response.Messages[4].Contents));
ChatCompletion\UseDelegateChatClientTests.cs (2)
103cc.Messages.SelectMany(c => c.Contents).OfType<TextContent>().Last().Text += " world"; 206cc.Messages.SelectMany(c => c.Contents).OfType<TextContent>().Last().Text += " world (non-streaming)";
Functions\AIFunctionFactoryTest.cs (1)
929await ValidateAsync<TextContent>(