Skip to content

llms: support SystemChatMessage in ChatMessageModel.ToChatMessage#1496

Open
zxuhan wants to merge 1 commit intotmc:mainfrom
zxuhan:fix/tochatmessage-system-support
Open

llms: support SystemChatMessage in ChatMessageModel.ToChatMessage#1496
zxuhan wants to merge 1 commit intotmc:mainfrom
zxuhan:fix/tochatmessage-system-support

Conversation

@zxuhan
Copy link
Copy Markdown

@zxuhan zxuhan commented Apr 23, 2026

Summary

ConvertChatMessageToModel serializes any ChatMessage (including SystemChatMessage) into a ChatMessageModel, but ChatMessageModel.ToChatMessage only handled the AI and Human cases and returned nil for system messages. Callers such as the Mongo chat history (memory/mongo) could write a system message and silently lose it on read.

This adds the ChatMessageTypeSystem case and a round-trip test covering AI, Human, and System messages.

Fixes #1056

Test plan

  • go vet ./llms/...
  • go test ./llms/ passes
  • New TestChatMessageModelRoundTrip exercises the AI/Human/System round-trip via ConvertChatMessageToModelToChatMessage

ConvertChatMessageToModel writes the system type but ToChatMessage
returned nil for it, breaking round-trips through stores such as the
mongo chat history. Add the case and cover the round-trip with a test.

Fixes tmc#1056
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ToChatMessage() doesn't support SystemChatMessage

1 participant