V1 / 8f6c47b125e8
ChatMessageExtensions.cs
Lilith/Core/Chat/ChatMessageExtensions.cs
Changed in this versionCS
namespace Lilith.Core.Chat;
public static class ChatMessageExtensions
{
public static ChatMessage Snapshot(this ChatMessage message) =>
message with { Images = message.Images is null ? null : [.. message.Images] };
public static SavedChatMessage ToSavedMessage(this ChatMessage message) => new()
{
Role = message.Role,
Content = message.Content ?? string.Empty,
Tokens = message.Tokens,
Images = message.Images is { Count: > 0 } ? [.. message.Images] : null
};
public static ChatMessage ToChatMessage(this SavedChatMessage message) =>
new(message.Role, message.Content, message.Images is null ? null : [.. message.Images], message.Tokens);
}