83 writes to MessageId
Microsoft.Extensions.AI (1)
ChatCompletion\FunctionInvokingChatClient.cs (1)
640
MessageId
= messageId,
Microsoft.Extensions.AI.Abstractions (2)
ChatCompletion\ChatResponse.cs (1)
152
MessageId
= message.MessageId,
ChatCompletion\ChatResponseUpdate.cs (1)
77
MessageId
= MessageId,
Microsoft.Extensions.AI.Abstractions.Tests (60)
ChatCompletion\ChatResponseUpdateExtensionsTests.cs (57)
32
new(ChatRole.Assistant, "Hello") { ResponseId = "someResponse",
MessageId
= "12345", CreatedAt = new DateTimeOffset(1, 2, 3, 4, 5, 6, TimeSpan.Zero), ModelId = "model123" },
76
new(null, "!") {
MessageId
= "1" },
77
new(ChatRole.Assistant, "a") {
MessageId
= "1" },
78
new(ChatRole.Assistant, "b") {
MessageId
= "2" },
79
new(ChatRole.User, "c") {
MessageId
= "2" },
80
new(ChatRole.User, "d") {
MessageId
= "2" },
81
new(ChatRole.Assistant, "e") {
MessageId
= "3" },
82
new(ChatRole.Tool, "f") {
MessageId
= "4" },
83
new(ChatRole.Tool, "g") {
MessageId
= "4" },
84
new(ChatRole.Tool, "h") {
MessageId
= "5" },
85
new(new("human"), "i") {
MessageId
= "6" },
86
new(new("human"), "j") {
MessageId
= "7" },
87
new(new("human"), "k") {
MessageId
= "7" },
88
new(null, "l") {
MessageId
= "7" },
89
new(null, "m") {
MessageId
= "8" },
187
new(ChatRole.Assistant, "A") {
MessageId
= "1", AuthorName = "Alice" },
188
new(null, "B") {
MessageId
= "1", AuthorName = "Alice" },
191
new(null, "C") {
MessageId
= "1", AuthorName = "Bob" },
194
new(null, "D") {
MessageId
= "2", AuthorName = "Bob" },
195
new(null, "E") {
MessageId
= "2", AuthorName = "Bob" },
198
new(ChatRole.User, "F") {
MessageId
= "2", AuthorName = "Bob" },
201
new(ChatRole.Tool, "G") {
MessageId
= "3", AuthorName = "Charlie" },
202
new(null, "H") {
MessageId
= "3", AuthorName = "Charlie" },
281
new(ChatRole.Assistant, "Hello") {
MessageId
= "1" },
282
new(null, " there") {
MessageId
= "1" },
285
new(null, " I'm Bob") {
MessageId
= "1", AuthorName = "Bob" },
286
new(null, " speaking") {
MessageId
= "1", AuthorName = "Bob" },
289
new(null, "Now Alice") {
MessageId
= "1", AuthorName = "Alice" },
320
new(null, " from") {
MessageId
= "msg1" },
321
new(null, " AI") {
MessageId
= "msg1" },
324
new(null, "Next message") {
MessageId
= "msg2" },
351
new(ChatRole.Assistant, "Hello") {
MessageId
= "msg1" },
352
new(null, " world") {
MessageId
= "msg1" },
355
new(null, "!") {
MessageId
= "" },
361
new(null, " are") {
MessageId
= "" },
384
new(null, "Hello") {
MessageId
= "1" },
385
new(null, " there") {
MessageId
= "1" },
388
new(ChatRole.Assistant, " from") {
MessageId
= "1" },
389
new(null, " AI") {
MessageId
= "1" },
392
new(ChatRole.User, "User message") {
MessageId
= "1" },
419
new(new ChatRole("agent1"), "Hello") {
MessageId
= "1" },
420
new(null, " from") {
MessageId
= "1" },
421
new(new ChatRole("agent1"), " agent1") {
MessageId
= "1" },
424
new(new ChatRole("agent2"), "Hi") {
MessageId
= "1" },
425
new(null, " from") {
MessageId
= "1" },
426
new(new ChatRole("agent2"), " agent2") {
MessageId
= "1" },
429
new(ChatRole.Assistant, "Assistant here") {
MessageId
= "1" },
458
new(ChatRole.Assistant, "Hello") {
MessageId
= "msg1", CreatedAt = new DateTimeOffset(2024, 1, 1, 10, 0, 0, TimeSpan.Zero), AuthorName = "Assistant" },
459
new(null, " from") {
MessageId
= "msg1", CreatedAt = new DateTimeOffset(2024, 1, 1, 10, 1, 0, TimeSpan.Zero) }, // Later CreatedAt should win
460
new(null, " AI") {
MessageId
= "msg1", AuthorName = "Assistant" }, // Keep same AuthorName to avoid creating new message
463
new(null, "More text") {
MessageId
= "msg2", CreatedAt = new DateTimeOffset(2024, 1, 1, 10, 2, 0, TimeSpan.Zero), AuthorName = "Assistant" },
466
new(ChatRole.User, "How") {
MessageId
= "msg3", CreatedAt = new DateTimeOffset(2024, 1, 1, 11, 0, 0, TimeSpan.Zero), AuthorName = "User" },
467
new(null, " are") {
MessageId
= "msg3", CreatedAt = new DateTimeOffset(2024, 1, 1, 11, 1, 0, TimeSpan.Zero) },
468
new(null, " you?") {
MessageId
= "msg3", AuthorName = "User" }, // Keep same AuthorName
471
new(ChatRole.Assistant, "I'm doing well,") {
MessageId
= "msg4", CreatedAt = new DateTimeOffset(2024, 1, 1, 12, 0, 0, TimeSpan.Zero) },
472
new(null, " thank you!") {
MessageId
= "msg4", CreatedAt = new DateTimeOffset(2024, 1, 1, 12, 2, 0, TimeSpan.Zero) }, // Later CreatedAt should win
749
new(ChatRole.Tool, "a") {
MessageId
= "4", CreatedAt = early },
ChatCompletion\ChatResponseUpdateTests.cs (3)
72
update.
MessageId
= "messageid";
129
MessageId
= "messageid",
188
MessageId
= "msg456",
Microsoft.Extensions.AI.OpenAI (8)
OpenAIAssistantsChatClient.cs (5)
169
MessageId
= responseId,
213
MessageId
= responseId,
244
MessageId
= responseId,
256
MessageId
= responseId,
305
MessageId
= responseId,
OpenAIChatClient.cs (2)
352
MessageId
= update.CompletionId, // There is no per-message ID, but there's only one message per response, so use the response ID
419
MessageId
= responseId, // There is no per-message ID, but there's only one message per response, so use the response ID
OpenAIResponsesChatClient.cs (1)
303
MessageId
= lastMessageId,
Microsoft.Extensions.AI.OpenAI.Tests (3)
OpenAIConversionTests.cs (3)
1098
MessageId
= "message-456",
1324
MessageId
= "message-1"
1331
MessageId
= "message-1",
Microsoft.Extensions.AI.Tests (9)
ChatCompletion\DistributedCachingChatClientTest.cs (1)
394
MessageId
= "someMessageId123",
ChatCompletion\FunctionInvokingChatClientApprovalsTests.cs (7)
706
yield return new ChatResponseUpdate(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]) {
MessageId
= messageId };
714
{
MessageId
= messageId };
779
yield return new ChatResponseUpdate(ChatRole.Assistant, [new TextContent("Text 1")]) {
MessageId
= messageId };
781
yield return new ChatResponseUpdate(ChatRole.Assistant, [new TextContent("Text 2")]) {
MessageId
= messageId };
783
yield return new ChatResponseUpdate(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func1")]) {
MessageId
= messageId };
790
{
MessageId
= messageId };
792
yield return new ChatResponseUpdate(ChatRole.Assistant, [new FunctionCallContent("callId1", "Func3")]) {
MessageId
= messageId };
ChatCompletion\FunctionInvokingChatClientTests.cs (1)
772
update.
MessageId
= messageId;
22 references to MessageId
Microsoft.Extensions.AI.Abstractions (8)
ChatCompletion\ChatResponseExtensions.cs (7)
55
/// method may use <see cref="ChatResponseUpdate.
MessageId
"/> to determine message boundaries, as well as coalesce
109
/// method may use <see cref="ChatResponseUpdate.
MessageId
"/> to determine message boundaries, as well as coalesce
132
/// <see cref="ChatMessage"/> instances. This includes using <see cref="ChatResponseUpdate.
MessageId
"/> to determine
160
/// <see cref="ChatMessage"/> instances. This includes using <see cref="ChatResponseUpdate.
MessageId
"/> to determine
495
NotEmptyOrEqual(update.
MessageId
, lastMessage.MessageId) ||
531
if (update.
MessageId
is { Length: > 0 })
535
message.MessageId = update.
MessageId
;
ChatCompletion\ChatResponseUpdate.cs (1)
77
MessageId =
MessageId
,
Microsoft.Extensions.AI.Abstractions.Tests (11)
ChatCompletion\ChatResponseTests.cs (3)
145
Assert.Equal("someMessage", update0.
MessageId
);
187
Assert.Equal("someMessage", update0.
MessageId
);
196
Assert.Equal("anotherMessage", update1.
MessageId
);
ChatCompletion\ChatResponseUpdateTests.cs (8)
24
Assert.Null(update.
MessageId
);
71
Assert.Null(update.
MessageId
);
73
Assert.Equal("messageid", update.
MessageId
);
160
Assert.Equal("messageid", result.
MessageId
);
207
Assert.Equal(original.
MessageId
, clone.
MessageId
);
239
Assert.Null(clone.
MessageId
);
262
Assert.Null(clone.
MessageId
);
Microsoft.Extensions.AI.OpenAI.Tests (2)
OpenAIChatClientTests.cs (2)
249
Assert.Equal("chatcmpl-ADxFKtX6xIwdWRN42QvBj2u1RZpCK", updates[i].
MessageId
);
1338
Assert.Equal("chatcmpl-ADymNiWWeqCJqHNFXiI1QtRcLuXcl", updates[i].
MessageId
);
Microsoft.Extensions.AI.Tests (1)
ChatCompletion\DistributedCachingChatClientTest.cs (1)
420
Assert.Equal("someMessageId123", item.
MessageId
);