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