7 writes to Messages
Microsoft.Extensions.AI (3)
ChatCompletion\FunctionInvokingChatClient.cs (3)
343
response.
Messages
= ReplaceFunctionCallsWithApprovalRequests(response.Messages, options?.Tools, AdditionalTools);
360
response.
Messages
= responseMessages;
406
response.
Messages
= responseMessages!;
Microsoft.Extensions.AI.Abstractions.Tests (1)
ChatCompletion\ChatResponseTests.cs (1)
43
response.
Messages
= messages;
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (1)
SerializationChainingTests.cs (1)
26
Messages
=
Microsoft.Extensions.AI.OpenAI (1)
OpenAIResponsesChatClient.cs (1)
148
response.
Messages
= [.. ToChatMessages(responseResult.OutputItems, openAIOptions)];
Microsoft.Extensions.AI.Tests (1)
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
1648
return Task.FromResult(new ChatResponse {
Messages
= messages });
325 references to Messages
Microsoft.Extensions.AI (11)
ChatCompletion\ChatResponse{T}.cs (4)
36
: base(Throw.IfNull(response).
Messages
)
126
var json =
Messages
.Count > 0 ?
Messages
[
Messages
.Count - 1].Text : string.Empty;
ChatCompletion\FunctionInvokingChatClient.cs (5)
343
response.Messages = ReplaceFunctionCallsWithApprovalRequests(response.
Messages
, options?.Tools, AdditionalTools);
349
CopyFunctionCalls(response.
Messages
, ref functionCallContents);
359
responseMessages.AddRange(response.
Messages
);
367
(responseMessages ??= []).AddRange(response.
Messages
);
620
(responseMessages ??= []).AddRange(response.
Messages
);
ChatCompletion\ImageGeneratingChatClient.cs (1)
86
foreach (var message in response.
Messages
)
ChatCompletion\OpenTelemetryChatClient.cs (1)
760
SerializeChatMessages(response.
Messages
, response.FinishReason, customContentSerializerOptions: _jsonSerializerOptions));
Microsoft.Extensions.AI.Abstractions (12)
ChatCompletion\ChatResponse.cs (2)
38
Messages
.Add(message);
59
/// instances in <see cref="
Messages
"/>.
ChatCompletion\ChatResponseExtensions.cs (10)
37
listConcrete.AddRange(response.
Messages
);
41
foreach (var message in response.
Messages
)
475
int count = response.
Messages
.Count;
478
CoalesceContent((List<AIContent>)response.
Messages
[i].Contents);
490
if (response.
Messages
.Count != 0)
492
var lastMessage = response.
Messages
[response.
Messages
.Count - 1];
504
response.
Messages
.Add(message);
508
message = response.
Messages
[response.
Messages
.Count - 1];
Microsoft.Extensions.AI.Abstractions.Tests (118)
ChatCompletion\ChatResponseTests.cs (10)
20
Assert.Empty(response.
Messages
);
24
Assert.Empty(response.
Messages
);
34
Assert.NotNull(response.
Messages
);
35
Assert.Same(response.
Messages
, response.
Messages
);
39
Assert.Same(messages, response.
Messages
);
42
Assert.NotSame(messages, response.
Messages
);
44
Assert.Same(messages, response.
Messages
);
103
Assert.Equal(ChatRole.Assistant, result.
Messages
.Single().Role);
104
Assert.Equal("the message", result.
Messages
.Single().Text);
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (108)
54
ChatMessage message = response.
Messages
.Single();
94
Assert.Equal(9, response.
Messages
.Count);
96
Assert.Equal("!a", response.
Messages
[0].Text);
97
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
99
Assert.Equal("b", response.
Messages
[1].Text);
100
Assert.Equal(ChatRole.Assistant, response.
Messages
[1].Role);
102
Assert.Equal("cd", response.
Messages
[2].Text);
103
Assert.Equal(ChatRole.User, response.
Messages
[2].Role);
105
Assert.Equal("e", response.
Messages
[3].Text);
106
Assert.Equal(ChatRole.Assistant, response.
Messages
[3].Role);
108
Assert.Equal("fg", response.
Messages
[4].Text);
109
Assert.Equal(ChatRole.Tool, response.
Messages
[4].Role);
111
Assert.Equal("h", response.
Messages
[5].Text);
112
Assert.Equal(ChatRole.Tool, response.
Messages
[5].Role);
114
Assert.Equal("i", response.
Messages
[6].Text);
115
Assert.Equal(new ChatRole("human"), response.
Messages
[6].Role);
117
Assert.Equal("jkl", response.
Messages
[7].Text);
118
Assert.Equal(new ChatRole("human"), response.
Messages
[7].Role);
120
Assert.Equal("m", response.
Messages
[8].Text);
121
Assert.Equal(ChatRole.Assistant, response.
Messages
[8].Role);
158
Assert.Equal(4, response.
Messages
.Count);
160
Assert.Equal("Hello from Alice!", response.
Messages
[0].Text);
161
Assert.Equal("Alice", response.
Messages
[0].AuthorName);
162
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
164
Assert.Equal("Hi from Bob!", response.
Messages
[1].Text);
165
Assert.Equal("Bob", response.
Messages
[1].AuthorName);
166
Assert.Equal(ChatRole.Assistant, response.
Messages
[1].Role);
168
Assert.Equal("Greetings from Charlie!", response.
Messages
[2].Text);
169
Assert.Equal("Charlie", response.
Messages
[2].AuthorName);
170
Assert.Equal(ChatRole.Assistant, response.
Messages
[2].Role);
172
Assert.Equal("Alice again! Still Alice. And more.", response.
Messages
[3].Text);
173
Assert.Equal("Alice", response.
Messages
[3].AuthorName);
174
Assert.Equal(ChatRole.Assistant, response.
Messages
[3].Role);
208
Assert.Equal(5, response.
Messages
.Count);
210
Assert.Equal("AB", response.
Messages
[0].Text);
211
Assert.Equal("Alice", response.
Messages
[0].AuthorName);
212
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
213
Assert.Equal("1", response.
Messages
[0].MessageId);
215
Assert.Equal("C", response.
Messages
[1].Text);
216
Assert.Equal("Bob", response.
Messages
[1].AuthorName);
217
Assert.Equal(ChatRole.Assistant, response.
Messages
[1].Role);
218
Assert.Equal("1", response.
Messages
[1].MessageId);
220
Assert.Equal("DE", response.
Messages
[2].Text);
221
Assert.Equal("Bob", response.
Messages
[2].AuthorName);
222
Assert.Equal(ChatRole.Assistant, response.
Messages
[2].Role);
223
Assert.Equal("2", response.
Messages
[2].MessageId);
225
Assert.Equal("F", response.
Messages
[3].Text);
226
Assert.Equal("Bob", response.
Messages
[3].AuthorName);
227
Assert.Equal(ChatRole.User, response.
Messages
[3].Role);
228
Assert.Equal("2", response.
Messages
[3].MessageId);
230
Assert.Equal("GH", response.
Messages
[4].Text);
231
Assert.Equal("Charlie", response.
Messages
[4].AuthorName);
232
Assert.Equal(ChatRole.Tool, response.
Messages
[4].Role);
233
Assert.Equal("3", response.
Messages
[4].MessageId);
265
ChatMessage message = Assert.Single(response.
Messages
);
295
Assert.Equal(2, response.
Messages
.Count);
297
Assert.Equal("Hello there I'm Bob speaking", response.
Messages
[0].Text);
298
Assert.Equal("Bob", response.
Messages
[0].AuthorName); // Last AuthorName wins
299
Assert.Equal("1", response.
Messages
[0].MessageId);
301
Assert.Equal("Now Alice", response.
Messages
[1].Text);
302
Assert.Equal("Alice", response.
Messages
[1].AuthorName);
303
Assert.Equal("1", response.
Messages
[1].MessageId);
330
Assert.Equal(2, response.
Messages
.Count);
332
Assert.Equal("Hello there from AI", response.
Messages
[0].Text);
333
Assert.Equal("msg1", response.
Messages
[0].MessageId); // Last MessageId wins
334
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
336
Assert.Equal("Next message", response.
Messages
[1].Text);
337
Assert.Equal("msg2", response.
Messages
[1].MessageId);
338
Assert.Equal(ChatRole.Assistant, response.
Messages
[1].Role);
368
ChatMessage message = Assert.Single(response.
Messages
);
398
Assert.Equal(2, response.
Messages
.Count);
400
Assert.Equal("Hello there from AI", response.
Messages
[0].Text);
401
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
402
Assert.Equal("1", response.
Messages
[0].MessageId);
404
Assert.Equal("User message", response.
Messages
[1].Text);
405
Assert.Equal(ChatRole.User, response.
Messages
[1].Role);
406
Assert.Equal("1", response.
Messages
[1].MessageId);
435
Assert.Equal(3, response.
Messages
.Count);
437
Assert.Equal("Hello from agent1", response.
Messages
[0].Text);
438
Assert.Equal(new ChatRole("agent1"), response.
Messages
[0].Role);
440
Assert.Equal("Hi from agent2", response.
Messages
[1].Text);
441
Assert.Equal(new ChatRole("agent2"), response.
Messages
[1].Role);
443
Assert.Equal("Assistant here", response.
Messages
[2].Text);
444
Assert.Equal(ChatRole.Assistant, response.
Messages
[2].Role);
471
Assert.Equal(3, response.
Messages
.Count);
475
var msg1 = response.
Messages
[0];
483
var msg2 = response.
Messages
[1];
491
var msg3 = response.
Messages
[2];
519
var message = Assert.Single(response.
Messages
);
567
Assert.Equal(4, response.
Messages
.Count);
570
ChatMessage message1 = response.
Messages
[0];
578
ChatMessage message2 = response.
Messages
[1];
586
ChatMessage message3 = response.
Messages
[2];
594
ChatMessage message4 = response.
Messages
[3];
669
ChatMessage message = response.
Messages
.Single();
708
ChatMessage message = Assert.Single(response.
Messages
);
738
ChatMessage message = Assert.Single(response.
Messages
);
783
ChatMessage message = Assert.Single(response.
Messages
);
816
Assert.Equal("Hello, world!", Assert.IsType<TextContent>(Assert.Single(Assert.Single(response.
Messages
).Contents)).Text);
861
Assert.Single(response.
Messages
);
863
Assert.Equal("abcdefgh", response.
Messages
[0].Text);
864
Assert.Equal(ChatRole.Tool, response.
Messages
[0].Role);
865
Assert.Equal(early, response.
Messages
[0].CreatedAt);
911
Assert.Single(response.
Messages
);
912
Assert.Equal("ab", response.
Messages
[0].Text);
913
Assert.Equal(expected, response.
Messages
[0].CreatedAt);
950
ChatMessage message = Assert.Single(response.
Messages
);
998
ChatMessage message = Assert.Single(response.
Messages
);
Microsoft.Extensions.AI.Evaluation (6)
ChatResponseExtensions.cs (6)
21
/// (present within the <see cref="ChatMessage.Contents"/> of the <see cref="ChatResponse.
Messages
"/>) that are not
22
/// <see cref="TextContent"/>s. Any <see cref="ChatResponse.
Messages
"/> that contain no <see cref="TextContent"/>s
23
/// will be skipped and will not be rendered. If none of the <see cref="ChatResponse.
Messages
"/> include any
27
/// The rendered <see cref="ChatResponse.
Messages
"/> are each prefixed with the <see cref="ChatMessage.Role"/> and
29
/// <see cref="ChatResponse.
Messages
"/>s are also always separated by new line characters in the returned string.
38
return response.
Messages
.RenderText();
Microsoft.Extensions.AI.Evaluation.Integration.Tests (2)
SafetyEvaluatorTests.cs (2)
276
messages.AddRange(response1.
Messages
);
596
messages.AddRange(response1.
Messages
);
Microsoft.Extensions.AI.Evaluation.Quality (7)
ChatResponseExtensions.cs (2)
18
return modelResponse.
Messages
.RenderAsJson(options);
29
foreach (AIContent content in modelResponse.
Messages
.SelectMany(m => m.Contents))
IntentResolutionEvaluator.cs (2)
98
if (!modelResponse.
Messages
.Any())
121
modelResponse.
Messages
.SelectMany(m => m.Contents).OfType<FunctionCallContent>();
TaskAdherenceEvaluator.cs (2)
97
if (!modelResponse.
Messages
.Any())
120
modelResponse.
Messages
.SelectMany(m => m.Contents).OfType<FunctionCallContent>();
ToolCallAccuracyEvaluator.cs (1)
100
modelResponse.
Messages
.SelectMany(m => m.Contents).OfType<FunctionCallContent>();
Microsoft.Extensions.AI.Evaluation.Reporting.Tests (5)
ScenarioRunResultTests.cs (2)
311
y is not null && x.
Messages
.SequenceEqual(y.
Messages
, ChatMessageComparer.Instance);
SerializationChainingTests.cs (3)
45
Assert.Single(resp.ModelResponse.
Messages
);
46
Assert.Equal(ChatRole.User, resp.ModelResponse.
Messages
[0].Role);
47
Assert.Equal("A user message", resp.ModelResponse.
Messages
[0].Text);
Microsoft.Extensions.AI.Evaluation.Safety (2)
ChatResponseExtensions.cs (1)
9
=> response.
Messages
.ContainsImageWithSupportedFormat();
ContentSafetyEvaluator.cs (1)
102
IEnumerable<ChatMessage> conversation = [.. messages, .. modelResponse.
Messages
];
Microsoft.Extensions.AI.Integration.Tests (16)
ChatClientIntegrationTests.cs (4)
672
Assert.Equal(firstResponse.
Messages
.Select(m => m.Text), secondResponse.
Messages
.Select(m => m.Text));
678
Assert.NotEqual(firstResponse.
Messages
, thirdResponse.
Messages
);
ImageGeneratingChatClientIntegrationTests.cs (11)
85
var contents = response.
Messages
.SelectMany(m => m.Contents).ToArray();
139
var imageResults = response.
Messages
201
chatHistory.AddRange(firstResponse.
Messages
);
215
var firstToolResultContent = Assert.Single(firstResponse.
Messages
.SelectMany(m => m.Contents).OfType<ImageGenerationToolResultContent>());
221
Assert.Single(secondResponse.
Messages
.SelectMany(m => m.Contents).OfType<ImageGenerationToolResultContent>().SelectMany(t => t.Outputs!.OfType<DataContent>()));
251
chatHistory.AddRange(firstResponse.
Messages
);
256
chatHistory.AddRange(secondResponse.
Messages
);
270
var secondToolResultContent = Assert.Single(secondResponse.
Messages
.SelectMany(m => m.Contents).OfType<ImageGenerationToolResultContent>());
296
chatHistory.AddRange(firstResponse.
Messages
);
301
chatHistory.AddRange(secondResponse.
Messages
);
315
var firstToolResultContent = Assert.Single(firstResponse.
Messages
.SelectMany(m => m.Contents).OfType<ImageGenerationToolResultContent>());
PromptBasedFunctionCallingChatClient.cs (1)
89
var message = result.
Messages
.First();
Microsoft.Extensions.AI.OpenAI (4)
MicrosoftExtensionsAIChatExtensions.cs (1)
62
var lastMessage = response.
Messages
.LastOrDefault();
MicrosoftExtensionsAIResponsesExtensions.cs (1)
111
foreach (var responseItem in OpenAIResponsesChatClient.ToOpenAIResponseItems(response.
Messages
, options))
OpenAIResponsesChatClient.cs (2)
150
if (response.
Messages
.LastOrDefault() is { } lastMessage && responseResult.Error is { } error)
155
foreach (var message in response.
Messages
)
Microsoft.Extensions.AI.OpenAI.Tests (83)
OpenAIAssistantChatClientIntegrationTests.cs (3)
62
ChatMessage message = Assert.Single(response.
Messages
);
67
var toolCallContent = response.
Messages
.SelectMany(m => m.Contents).OfType<CodeInterpreterToolCallContent>().SingleOrDefault();
85
var toolResultContents = response.
Messages
.SelectMany(m => m.Contents).OfType<CodeInterpreterToolResultContent>().ToList();
OpenAIChatClientTests.cs (22)
165
Assert.Single(response.
Messages
.Single().Contents);
166
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
167
Assert.Equal("chatcmpl-ADx3PvAnCwJg0woha4pYsBTi3ZpOI", response.
Messages
.Single().MessageId);
839
Assert.Single(response.
Messages
.Single().Contents);
840
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
841
Assert.Equal("chatcmpl-ADyV17bXeSm5rzUx3n46O7m3M0o3P", response.
Messages
.Single().MessageId);
937
Assert.Single(response.
Messages
.Single().Contents);
938
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
1035
Assert.Single(response.
Messages
.Single().Contents);
1036
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
1149
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
1167
Assert.Single(response.
Messages
.Single().Contents);
1168
FunctionCallContent fcc = Assert.IsType<FunctionCallContent>(response.
Messages
.Single().Contents[0]);
1233
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
1251
Assert.Single(response.
Messages
.Single().Contents);
1252
TextContent fcc = Assert.IsType<TextContent>(response.
Messages
.Single().Contents[0]);
1488
Assert.Single(response.
Messages
.Single().Contents);
1489
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
1602
Assert.Single(response.
Messages
.Single().Contents);
1603
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
1604
Assert.Equal("chatcmpl-BHaQ3nkeSDGhLzLya3mGbB1EXSqve", response.
Messages
.Single().MessageId);
1954
var message = response.
Messages
.Single();
OpenAIConversionTests.cs (2)
819
ChatMessage message = Assert.Single(response.
Messages
);
850
ChatMessage message = Assert.Single(response.
Messages
);
OpenAIResponseClientIntegrationTests.cs (18)
41
ChatMessage message = Assert.Single(response.
Messages
);
46
var toolCallContent = response.
Messages
.SelectMany(m => m.Contents).OfType<CodeInterpreterToolCallContent>().SingleOrDefault();
59
var toolResultContent = response.
Messages
.SelectMany(m => m.Contents).OfType<CodeInterpreterToolResultContent>().FirstOrDefault();
83
ChatMessage m = Assert.Single(response.
Messages
);
150
Assert.NotEmpty(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolCallContent>());
151
Assert.NotEmpty(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolResultContent>());
152
Assert.Empty(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolApprovalRequestContent>());
200
input.AddRange(response.
Messages
);
204
response.
Messages
240
Assert.Empty(response.
Messages
);
273
Assert.Empty(response.
Messages
);
414
input.AddRange(response.
Messages
);
415
var approvalRequest = Assert.Single(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolApprovalRequestContent>());
425
var toolCall = Assert.Single(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolCallContent>());
428
var toolResult = Assert.Single(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolResultContent>());
475
var messages = response.
Messages
.ToList();
585
var reasoningContent = response1.
Messages
666
var reasoningContent = response1.
Messages
OpenAIResponseClientTests.cs (38)
163
Assert.Single(response.
Messages
.Single().Contents);
164
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
820
ChatMessage responseMessage = Assert.Single(response.
Messages
);
1285
Assert.Equal(2, response.
Messages
.Count);
1286
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
1287
Assert.Equal("Hello!", response.
Messages
[0].Text);
1288
Assert.Equal(ChatRole.Assistant, response.
Messages
[1].Role);
1289
Assert.Equal(" How can I assist you today?", response.
Messages
[1].Text);
1410
approvalRequest = Assert.Single(response.
Messages
.SelectMany(m => m.Contents).OfType<McpServerToolApprovalRequestContent>());
1538
var message = Assert.Single(response.
Messages
);
1539
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
1540
Assert.Equal("The `README.md` file for `Microsoft.Extensions.AI.Abstractions` is located at:\n\n```\nsrc/Libraries/Microsoft.Extensions.AI.Abstractions/README.md\n```\n\nThis file provides an overview of the `Microsoft.Extensions.AI.Abstractions` package, including installation instructions and usage examples for its core interfaces like `IChatClient` and `IEmbeddingGenerator`.", response.
Messages
[0].Text);
1793
var message = Assert.Single(response.
Messages
);
1794
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
1795
Assert.Equal("The `README.md` file for `Microsoft.Extensions.AI.Abstractions` is located at:\n\n```\nsrc/Libraries/Microsoft.Extensions.AI.Abstractions/README.md\n```\n\nThis file includes an overview, installation instructions, and usage examples related to the package.", response.
Messages
[0].Text);
2206
var message = Assert.Single(response.
Messages
);
2207
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
2208
Assert.StartsWith("The path to the `README.md` file", response.
Messages
[0].Text);
2322
var message = Assert.Single(response.
Messages
);
2392
Assert.Empty(response.
Messages
);
2494
Assert.Empty(response.
Messages
);
2506
Assert.Single(response.
Messages
.Single().Contents);
2507
Assert.Equal(ChatRole.Assistant, response.
Messages
.Single().Role);
2896
Assert.Single(response.
Messages
);
2898
var message = response.
Messages
[0];
3116
Assert.Single(response.
Messages
);
3118
var message = response.
Messages
[0];
3241
Assert.Single(response.
Messages
);
3243
var message = response.
Messages
[0];
4842
var lastMessage = response.
Messages
.Last();
5426
var errorContent = response.
Messages
.Last().Contents.OfType<ErrorContent>().FirstOrDefault();
5481
var userMessage = response.
Messages
.FirstOrDefault(m => m.Role == ChatRole.User);
5490
var assistantMessage = response.
Messages
.LastOrDefault(m => m.Role == ChatRole.Assistant);
5544
var userMessage = response.
Messages
.FirstOrDefault(m => m.Role == ChatRole.User);
5553
var assistantMessage = response.
Messages
.LastOrDefault(m => m.Role == ChatRole.Assistant);
5628
Assert.Single(response.
Messages
);
5629
Assert.Equal(ChatRole.Assistant, response.
Messages
[0].Role);
5631
var contents = response.
Messages
[0].Contents;
Microsoft.Extensions.AI.Tests (59)
ChatCompletion\DistributedCachingChatClientTest.cs (6)
729
Assert.NotSame(result2.
Messages
.Last().Contents[0], expectedResponse.
Messages
.Last().Contents[0]);
730
Assert.NotSame(result2.
Messages
.Last().Contents[1], expectedResponse.
Messages
.Last().Contents[1]);
803
ChatMessage expectedMessage = expected.
Messages
.Last();
804
ChatMessage actualMessage = actual.
Messages
.Last();
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (4)
1267
var actualOutput = result.
Messages
as List<ChatMessage> ?? result.
Messages
.ToList();
1349
var actualOutput = result.
Messages
as List<ChatMessage> ?? result.
Messages
.ToList();
ChatCompletion\FunctionInvokingChatClientTests.cs (44)
430
var toolMessage = response.
Messages
.First(m => m.Role == ChatRole.Tool);
510
var toolMessage = response.
Messages
.First(m => m.Role == ChatRole.Tool);
594
var toolMessage = response.
Messages
.First(m => m.Role == ChatRole.Tool);
1215
Assert.Collection(response.
Messages
,
1256
Assert.Equal(5, response.
Messages
.Count);
1258
Assert.IsType<FunctionCallContent>(Assert.Single(response.
Messages
[0].Contents));
1259
Assert.IsType<FunctionResultContent>(Assert.Single(response.
Messages
[1].Contents));
1260
Assert.IsType<FunctionCallContent>(Assert.Single(response.
Messages
[2].Contents));
1261
Assert.IsType<FunctionResultContent>(Assert.Single(response.
Messages
[3].Contents));
1262
Assert.IsType<TextContent>(Assert.Single(response.
Messages
[4].Contents));
1995
Assert.Contains(response.
Messages
, m => m.Contents.Any(c => c is FunctionCallContent fcc && fcc.InformationalOnly));
1996
Assert.DoesNotContain(response.
Messages
, m => m.Contents.Any(c => c is FunctionResultContent));
2067
Assert.Contains(response.
Messages
, m => m.Contents.Any(c => c is FunctionResultContent frc && frc.CallId == "callId1"));
2068
Assert.DoesNotContain(response.
Messages
, m => m.Contents.Any(c => c is FunctionResultContent frc && frc.CallId == "callId2"));
2112
Assert.Contains(response.
Messages
, m => m.Contents.Any(c => c is FunctionCallContent fcc && fcc.CallId == "callId1" && fcc.InformationalOnly));
2115
Assert.Contains(response.
Messages
, m => m.Contents.Any(c => c is FunctionResultContent frc && frc.CallId == "callId1"));
2169
chat.AddRange(result.
Messages
);
2233
chat.AddRange(result.
Messages
);
2366
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionB result"));
2371
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionB result"));
2462
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2471
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2567
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2569
Assert.DoesNotContain(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2575
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2577
Assert.DoesNotContain(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2670
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2672
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2678
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2680
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2772
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2774
Assert.DoesNotContain(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2780
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2782
Assert.DoesNotContain(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2947
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
2956
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
3048
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionApprovalRequestContent>().Any(frc => frc.FunctionCall.Name == "FunctionB"));
3051
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionA result"));
3058
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionApprovalRequestContent>().Any(frc => frc.FunctionCall.Name == "FunctionB"));
3061
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>().Any(frc => frc.Result?.ToString() == "FunctionA result"));
3154
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionApprovalRequestContent>().Any(frc => frc.FunctionCall.Name == "FunctionB"));
3157
Assert.DoesNotContain(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
3165
Assert.Contains(result.
Messages
, m => m.Contents.OfType<FunctionApprovalRequestContent>().Any(frc => frc.FunctionCall.Name == "FunctionB"));
3168
Assert.DoesNotContain(result.
Messages
, m => m.Contents.OfType<FunctionResultContent>()
ChatCompletion\ImageGeneratingChatClientTests.cs (3)
56
Assert.Equal("test response", response.
Messages
[0].Text);
335
Assert.Single(response.
Messages
);
336
var message = response.
Messages
[0];
ChatCompletion\UseDelegateChatClientTests.cs (2)
103
cc.
Messages
.SelectMany(c => c.Contents).OfType<TextContent>().Last().Text += " world";
206
cc.
Messages
.SelectMany(c => c.Contents).OfType<TextContent>().Last().Text += " world (non-streaming)";