Skip to content

.NET: [Bug]: AGUI AGUIMessage -> ChatMessage transformation issue on AGUIToolMessage #3365

@MaciejWarchalowski

Description

@MaciejWarchalowski

Description

  • When transforming AGUIToolMessage to ChatMessage, the ChatMessage.MessageId is null.
  • I would expect ChatMessage.MessageId to be populated with AGUIToolMessage.Id

Code Sample

public void AsChatMessages_WithToolMessage_DeserializesResultCorrectly()
    {
        // Arrange
        const string JsonContent = "{\"status\":\"success\",\"value\":42}";
        List<AGUIMessage> aguiMessages =
        [
            new AGUIToolMessage
            {
                Id = "msg1",
                Content = JsonContent,
                ToolCallId = "call_abc"
            }
        ];

        // Act
        List<ChatMessage> chatMessages = aguiMessages.AsChatMessages(AGUIJsonSerializerContext.Default.Options).ToList();

        // Assert
        ChatMessage message = Assert.Single(chatMessages);
        Assert.Equal(ChatRole.Tool, message.Role);
        FunctionResultContent result = Assert.IsType<FunctionResultContent>(message.Contents[0]);
        Assert.Equal("call_abc", result.CallId);
        Assert.NotNull(result.Result);
        Assert.Equal("msg1", message.MessageId); //I would expect this test to pass.
    }

Error Messages / Stack Traces

I would expect `

Assert.Equal("msg1", message.MessageId);

to pass.

Package Versions

Microsoft.Agents.AI.AGUI.Shared

.NET Version

.NET 10

Additional Context

No response

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions