Skip to content

Commit e9a1086

Browse files
fix: include MessageId in AGUIToolMessage to ChatMessage transformation
1 parent 87c9d74 commit e9a1086

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

dotnet/src/Microsoft.Agents.AI.AGUI/Shared/AGUIChatMessageExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ public static IEnumerable<ChatMessage> AsChatMessages(
5151
new FunctionResultContent(
5252
toolMessage.ToolCallId,
5353
result)
54-
]);
54+
])
55+
{ MessageId = message.Id };
5556
break;
5657
}
5758

dotnet/tests/Microsoft.Agents.AI.AGUI.UnitTests/AGUIChatMessageExtensionsTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ public void AsChatMessages_WithToolMessage_DeserializesResultCorrectly()
286286
FunctionResultContent result = Assert.IsType<FunctionResultContent>(message.Contents[0]);
287287
Assert.Equal("call_abc", result.CallId);
288288
Assert.NotNull(result.Result);
289+
Assert.Equal("msg1", message.MessageId);
289290
}
290291

291292
[Fact]
@@ -310,6 +311,7 @@ public void AsChatMessages_WithEmptyToolContent_CreatesNullResult()
310311
FunctionResultContent result = Assert.IsType<FunctionResultContent>(message.Contents[0]);
311312
Assert.Equal("call_def", result.CallId);
312313
Assert.Equal(string.Empty, result.Result);
314+
Assert.Equal("msg1", message.MessageId);
313315
}
314316

315317
[Fact]
@@ -334,6 +336,7 @@ public void AsChatMessages_WithToolMessageWithoutCallId_TreatsAsRegularMessage()
334336
Assert.Equal(ChatRole.Tool, message.Role);
335337
var resultContent = Assert.IsType<FunctionResultContent>(message.Contents.First());
336338
Assert.Equal(string.Empty, resultContent.CallId);
339+
Assert.Equal("msg1", message.MessageId);
337340
}
338341

339342
[Fact]
@@ -423,6 +426,7 @@ public void AsChatMessages_WithFunctionCallContainingCustomType_SerializesCorrec
423426
Assert.Equal("Seattle", ((System.Text.Json.JsonElement)toolCallContent.Arguments["location"]!).GetString());
424427
Assert.Equal("fahrenheit", ((System.Text.Json.JsonElement)toolCallContent.Arguments["units"]!).GetString());
425428
Assert.True(toolCallContent.Arguments["includeForecast"] is System.Text.Json.JsonElement j && j.GetBoolean());
429+
Assert.Equal("msg1", message.MessageId);
426430
}
427431

428432
[Fact]

0 commit comments

Comments
 (0)