90 lines
3.1 KiB
C#
90 lines
3.1 KiB
C#
using BotSharp.Abstraction.Conversations.Models;
|
|
|
|
namespace BotSharp.Plugin.MongoStorage.Models;
|
|
|
|
[BsonIgnoreExtraElements(Inherited = true)]
|
|
public class DialogMongoElement
|
|
{
|
|
public DialogMetaDataMongoElement MetaData { get; set; } = new();
|
|
public string Content { get; set; } = default!;
|
|
public string? SecondaryContent { get; set; }
|
|
public string? RichContent { get; set; }
|
|
public string? SecondaryRichContent { get; set; }
|
|
public string? Payload { get; set; }
|
|
|
|
public static DialogMongoElement ToMongoElement(DialogElement dialog)
|
|
{
|
|
return new DialogMongoElement
|
|
{
|
|
MetaData = DialogMetaDataMongoElement.ToMongoElement(dialog.MetaData),
|
|
Content = dialog.Content,
|
|
SecondaryContent = dialog.SecondaryContent,
|
|
RichContent = dialog.RichContent,
|
|
SecondaryRichContent = dialog.SecondaryRichContent,
|
|
Payload = dialog.Payload
|
|
};
|
|
}
|
|
|
|
public static DialogElement ToDomainElement(DialogMongoElement dialog)
|
|
{
|
|
return new DialogElement
|
|
{
|
|
MetaData = DialogMetaDataMongoElement.ToDomainElement(dialog.MetaData),
|
|
Content = dialog.Content,
|
|
SecondaryContent = dialog.SecondaryContent,
|
|
RichContent = dialog.RichContent,
|
|
SecondaryRichContent = dialog.SecondaryRichContent,
|
|
Payload = dialog.Payload
|
|
};
|
|
}
|
|
}
|
|
|
|
[BsonIgnoreExtraElements(Inherited = true)]
|
|
public class DialogMetaDataMongoElement
|
|
{
|
|
public string Role { get; set; } = default!;
|
|
public string AgentId { get; set; } = default!;
|
|
public string MessageId { get; set; } = default!;
|
|
public string MessageType { get; set; } = default!;
|
|
public string? MessageLabel { get; set; }
|
|
public string? FunctionName { get; set; }
|
|
public string? FunctionArgs { get; set; }
|
|
public string? ToolCallId { get; set; }
|
|
public string? SenderId { get; set; }
|
|
public DateTime CreateTime { get; set; }
|
|
|
|
public static DialogMetaData ToDomainElement(DialogMetaDataMongoElement meta)
|
|
{
|
|
return new DialogMetaData
|
|
{
|
|
Role = meta.Role,
|
|
AgentId = meta.AgentId,
|
|
MessageId = meta.MessageId,
|
|
MessageType = meta.MessageType,
|
|
MessageLabel = meta.MessageLabel,
|
|
FunctionName = meta.FunctionName,
|
|
FunctionArgs = meta.FunctionArgs,
|
|
ToolCallId = meta.ToolCallId,
|
|
SenderId = meta.SenderId,
|
|
CreatedTime = meta.CreateTime,
|
|
};
|
|
}
|
|
|
|
public static DialogMetaDataMongoElement ToMongoElement(DialogMetaData meta)
|
|
{
|
|
return new DialogMetaDataMongoElement
|
|
{
|
|
Role = meta.Role,
|
|
AgentId = meta.AgentId,
|
|
MessageId = meta.MessageId,
|
|
MessageType = meta.MessageType,
|
|
MessageLabel = meta.MessageLabel,
|
|
FunctionName = meta.FunctionName,
|
|
FunctionArgs = meta.FunctionArgs,
|
|
ToolCallId = meta.ToolCallId,
|
|
SenderId = meta.SenderId,
|
|
CreateTime = meta.CreatedTime,
|
|
};
|
|
}
|
|
}
|