11 writes to Contents
Microsoft.Extensions.AI.Abstractions.Tests (3)
ChatCompletion\ChatMessageTests.cs (3)
178message.Contents = contents; 182message.Contents = contents; 185message.Contents = null;
Microsoft.Extensions.AI.Evaluation.Integration.Tests (6)
SafetyEvaluatorTests.cs (6)
273Contents = [ 311Contents = [ 345Contents = [ 358Contents = [ 394Contents = [ 407Contents = [
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (1)
SerializationChainingTests.cs (1)
32Contents = new List<AIContent>
Microsoft.Extensions.AI.Tests (1)
ChatCompletion\DistributedCachingChatClientTest.cs (1)
49Contents = [new FunctionCallContent("someCallId", "functionName", new Dictionary<string, object?>
141 references to Contents
Microsoft.Extensions.AI (8)
ChatCompletion\FunctionInvokingChatClient.cs (3)
396Contents = message.Contents, 505any |= CopyFunctionCalls(messages[i].Contents, ref functionCalls); 640var allExceptions = added.SelectMany(m => m.Contents.OfType<FunctionResultContent>())
ChatCompletion\OpenTelemetryChatClient.cs (5)
461JsonSerializer.Serialize(CreateAssistantEvent(message.Contents), OtelContext.Default.AssistantEvent)); 465foreach (FunctionResultContent frc in message.Contents.OfType<FunctionResultContent>()) 483Content = GetMessageContent(message.Contents), 501Message = CreateAssistantEvent(response.Messages is { Count: 1 } ? response.Messages[0].Contents : response.Messages.SelectMany(m => m.Contents)),
Microsoft.Extensions.AI.Abstractions (5)
ChatCompletion\ChatMessage.cs (2)
73/// This property concatenates the text of all <see cref="TextContent"/> objects in <see cref="Contents"/>. 76public string Text => Contents.ConcatText();
ChatCompletion\ChatResponse.cs (1)
156Contents = message.Contents,
ChatCompletion\ChatResponseExtensions.cs (2)
245CoalesceTextContent((List<AIContent>)response.Messages[i].Contents); 310message.Contents.Add(content);
Microsoft.Extensions.AI.Abstractions.Tests (49)
ChatCompletion\ChatMessageTests.cs (37)
20Assert.Empty(message.Contents); 23Assert.NotNull(message.Contents); 24Assert.Same(message.Contents, message.Contents); 25Assert.Empty(message.Contents); 40Assert.Same(message.Contents, message.Contents); 43Assert.Empty(message.Contents); 47Assert.Single(message.Contents); 48TextContent tc = Assert.IsType<TextContent>(message.Contents[0]); 65Assert.Empty(message.Contents); 69Assert.Empty(message.Contents); 73Assert.Empty(message.Contents); 77Assert.Empty(message.Contents); 96Assert.Same(message.Contents, message.Contents); 99Assert.Empty(message.Contents); 104Assert.Equal(messageCount, message.Contents.Count); 107TextContent tc = Assert.IsType<TextContent>(message.Contents[i]); 152TextContent textContent = Assert.IsType<TextContent>(message.Contents[3]); 157((TextContent)message.Contents[3]).Text = "text-3"; 168Assert.IsType<List<AIContent>>(new ChatMessage().Contents); 175Assert.Empty(message.Contents); 180Assert.Same(contents, message.Contents); 183Assert.Same(contents, message.Contents); 186Assert.NotNull(message.Contents); 187Assert.NotSame(contents, message.Contents); 188Assert.Empty(message.Contents); 265((TextContent)chatMessage.Contents[0]).Text = "content-1-override"; // Override the content of the first text content item that has the "content-1" content 277Assert.NotNull(deserializedMessage.Contents); 278Assert.Equal(items.Count, deserializedMessage.Contents.Count); 280var textContent = deserializedMessage.Contents[0] as TextContent; 287var dataContent = deserializedMessage.Contents[1] as DataContent; 295dataContent = deserializedMessage.Contents[2] as DataContent; 303textContent = deserializedMessage.Contents[3] as TextContent; 310var functionCallContent = deserializedMessage.Contents[4] as FunctionCallContent; 318var functionResultContent = deserializedMessage.Contents[5] as FunctionResultContent;
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (12)
138Assert.Equal(expected.Count + (gapLength * ((numSequences - 1) + (gapBeginningEnd ? 2 : 0))), message.Contents.Count); 140TextContent[] contents = message.Contents.OfType<TextContent>().ToArray(); 175Assert.Equal(8, message.Contents.Count); 176Assert.Equal("ABC", Assert.IsType<TextContent>(message.Contents[0]).Text); 177Assert.Equal("DEF", Assert.IsType<TextReasoningContent>(message.Contents[1]).Text); 178Assert.Equal("GH", Assert.IsType<TextContent>(message.Contents[2]).Text); 179Assert.Equal("IJ", Assert.IsType<TextReasoningContent>(message.Contents[3]).Text); 180Assert.Equal("K", Assert.IsType<TextContent>(message.Contents[4]).Text); 181Assert.Equal("L", Assert.IsType<TextReasoningContent>(message.Contents[5]).Text); 182Assert.Equal("MN", Assert.IsType<TextContent>(message.Contents[6]).Text); 183Assert.Equal("OP", Assert.IsType<TextReasoningContent>(message.Contents[7]).Text); 203Assert.Equal("Hello, world!", Assert.IsType<TextContent>(Assert.Single(Assert.Single(response.Messages).Contents)).Text);
Microsoft.Extensions.AI.AzureAIInference (8)
AzureAIInferenceChatClient.cs (8)
110message.Contents.Add(callContent); 441foreach (AIContent item in input.Contents) 464if (input.Contents.Count > 0) 466if (input.Contents.All(c => c is TextContent)) 468if (string.Concat(input.Contents) is { Length: > 0 } text) 473else if (GetContentParts(input.Contents) is { Count: > 0 } parts) 483ChatRequestAssistantMessage message = new(string.Concat(input.Contents.Where(c => c is TextContent))); 485foreach (var content in input.Contents)
Microsoft.Extensions.AI.AzureAIInference.Tests (2)
AzureAIInferenceChatClientTests.cs (2)
157Assert.Single(response.Messages.Single().Contents); 1157Assert.Single(response.Messages.Single().Contents);
Microsoft.Extensions.AI.Evaluation (4)
ChatMessageExtensions.cs (3)
100/// (present within the <see cref="ChatMessage.Contents"/> of the <paramref name="message"/>) that are not 116if (!message.Contents.OfType<TextContent>().Any()) 139/// (present within the <see cref="ChatMessage.Contents"/> of the <paramref name="messages"/>) that are not
ChatResponseExtensions.cs (1)
21/// (present within the <see cref="ChatMessage.Contents"/> of the <see cref="ChatResponse.Messages"/>) that are not
Microsoft.Extensions.AI.Evaluation.Safety (1)
ChatMessageExtensions.cs (1)
12=> message.Contents.Any(c => c.IsImageWithSupportedFormat());
Microsoft.Extensions.AI.Integration.Tests (5)
ChatClientIntegrationTests.cs (1)
161var singleTextContent = (TextContent)history[1].Contents.Single();
PromptBasedFunctionCallingChatClient.cs (3)
67for (var itemIndex = 0; itemIndex < message.Contents.Count; itemIndex++) 69if (message.Contents[itemIndex] is FunctionResultContent frc) 74else if (message.Contents[itemIndex] is FunctionCallContent fcc)
ReducingChatClientTests.cs (1)
158foreach (AIContent content in message.Contents)
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
405foreach (var item in content.Contents)
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientTests.cs (2)
123Assert.Single(response.Messages.Single().Contents); 209Assert.Single(Assert.Single(chatResponse.Messages).Contents);
Microsoft.Extensions.AI.OpenAI (15)
OpenAIChatClient.cs (8)
129var parts = ToOpenAIChatContent(input.Contents); 137foreach (AIContent item in input.Contents) 160AssistantChatMessage message = new(ToOpenAIChatContent(input.Contents)) 165foreach (var content in input.Contents) 389returnMessage.Contents.Add(aiContent); 408returnMessage.Contents.Add(dc); 421returnMessage.Contents.Add(callContent); 429returnMessage.Contents.Add(new ErrorContent(refusal) { ErrorCode = nameof(openAICompletion.Refusal) });
OpenAIResponseChatClient.cs (7)
111Debug.Assert(message.Contents is List<AIContent>, "Expected a List<AIContent> for message contents."); 122((List<AIContent>)message.Contents).AddRange(ToAIContents(messageItem.Content)); 127message.Contents.Add( 139message.Contents.Add(new ErrorContent(error.Message) { ErrorCode = error.Code }); 466yield return ResponseItem.CreateUserMessageItem(ToOpenAIResponsesContent(input.Contents)); 472foreach (AIContent item in input.Contents) 500foreach (AIContent item in input.Contents)
Microsoft.Extensions.AI.OpenAI.Tests (5)
OpenAIChatClientTests.cs (4)
169Assert.Single(response.Messages.Single().Contents); 879Assert.Single(response.Messages.Single().Contents); 977Assert.Single(response.Messages.Single().Contents); 1430Assert.Single(response.Messages.Single().Contents);
OpenAIResponseClientTests.cs (1)
162Assert.Single(response.Messages.Single().Contents);
Microsoft.Extensions.AI.Tests (36)
ChatCompletion\DistributedCachingChatClientTest.cs (9)
658Assert.NotSame(result2.Messages.Last().Contents[0], expectedResponse.Messages.Last().Contents[0]); 659Assert.NotSame(result2.Messages.Last().Contents[1], expectedResponse.Messages.Last().Contents[1]); 740Assert.Equal(expectedMessage.Contents.Count, actualMessage.Contents.Count); 742for (var itemIndex = 0; itemIndex < expectedMessage.Contents.Count; itemIndex++) 744var expectedItem = expectedMessage.Contents[itemIndex]; 745var actualItem = actualMessage.Contents[itemIndex];
ChatCompletion\FunctionInvokingChatClientTests.cs (25)
383assistantMessage.Contents.Add(new FunctionCallContent(callId, "Func", 385toolMessage.Contents.Add(new FunctionResultContent(callId, result: callShouldThrow ? "Error: Function failed." : "Success")); 423IEnumerable<AIContent> content = finalChat.SelectMany(m => m.Contents); 621m => Assert.Collection(m.Contents, 624m => Assert.Collection(m.Contents, 627m => Assert.Equal("OK bye", Assert.IsType<TextContent>(Assert.Single(m.Contents)).Text)); 663Assert.IsType<FunctionCallContent>(Assert.Single(response.Messages[0].Contents)); 664Assert.IsType<FunctionResultContent>(Assert.Single(response.Messages[1].Contents)); 665Assert.IsType<FunctionCallContent>(Assert.Single(response.Messages[2].Contents)); 666Assert.IsType<FunctionResultContent>(Assert.Single(response.Messages[3].Contents)); 667Assert.IsType<TextContent>(Assert.Single(response.Messages[4].Contents)); 766AIContent[] resultContents = existingSearchResult is not null && existingSearchResult.Contents.OfType<FunctionResultContent>().ToList() is { } frcs 790var frcs = lastMessage.Contents.OfType<FunctionResultContent>().ToList(); 957var message = new ChatMessage(ChatRole.Assistant, [.. plan[contents.Count()].Contents]) 983Assert.Equal(expectedMessage.Contents.Count, chatMessage.Contents.Count); 984for (int j = 0; j < expectedMessage.Contents.Count; j++) 986var expectedItem = expectedMessage.Contents[j]; 987var chatItem = chatMessage.Contents[j]; 1051ChatMessage message = new(ChatRole.Assistant, [.. plan[contents.Count()].Contents]) 1077Assert.Equal(expectedMessage.Contents.Count, chatMessage.Contents.Count); 1078for (int j = 0; j < expectedMessage.Contents.Count; j++) 1080var expectedItem = expectedMessage.Contents[j]; 1081var chatItem = chatMessage.Contents[j];
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)";