store dialog data

This commit is contained in:
Jicheng Lu 2025-02-17 11:56:53 -06:00
parent 4aa1eb750b
commit eee93541ec
4 changed files with 23 additions and 11 deletions

View file

@ -58,13 +58,17 @@ public class DialogElement
[JsonPropertyName("payload")]
public string? Payload { get; set; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("data")]
public object? Data { get; set; }
public DialogElement()
{
}
public DialogElement(DialogMetaData meta, string content, string? richContent = null,
string? secondaryContent = null, string? secondaryRichContent = null, string? payload = null)
string? secondaryContent = null, string? secondaryRichContent = null, string? payload = null, object? data = null)
{
MetaData = meta;
Content = content;
@ -72,6 +76,7 @@ public class DialogElement
SecondaryContent = secondaryContent;
SecondaryRichContent = secondaryRichContent;
Payload = payload;
Data = data;
}
public override string ToString()

View file

@ -52,7 +52,8 @@ public class ConversationStorage : IConversationStorage
MetaData = meta,
Content = dialog.Content,
SecondaryContent = dialog.SecondaryContent,
Payload = dialog.Payload
Payload = dialog.Payload,
Data = dialog.Data
});
}
else
@ -83,7 +84,8 @@ public class ConversationStorage : IConversationStorage
SecondaryContent = dialog.SecondaryContent,
RichContent = richContent,
SecondaryRichContent = secondaryRichContent,
Payload = dialog.Payload
Payload = dialog.Payload,
Data = dialog.Data
});
}
@ -121,7 +123,8 @@ public class ConversationStorage : IConversationStorage
MetaData = meta,
Content = dialog.Content,
SecondaryContent = dialog.SecondaryContent,
Payload = dialog.Payload
Payload = dialog.Payload,
Data = dialog.Data
});
}
else
@ -152,7 +155,8 @@ public class ConversationStorage : IConversationStorage
SecondaryContent = dialog.SecondaryContent,
RichContent = richContent,
SecondaryRichContent = secondaryRichContent,
Payload = dialog.Payload
Payload = dialog.Payload,
Data = dialog.Data
});
}
}
@ -196,7 +200,8 @@ public class ConversationStorage : IConversationStorage
RichContent = richContent,
SecondaryContent = secondaryContent,
SecondaryRichContent = secondaryRichContent,
Payload = payload
Payload = payload,
Data = dialog.Data
};
results.Add(record);

View file

@ -79,9 +79,8 @@ public class ConversationController : ControllerBase
[HttpGet("/conversation/{conversationId}/dialogs")]
public async Task<IEnumerable<ChatResponseModel>> GetDialogs([FromRoute] string conversationId)
{
var conv = _services.GetRequiredService<IConversationService>();
conv.SetConversationId(conversationId, new List<MessageState>(), isReadOnly: true);
var history = conv.GetDialogHistory(fromBreakpoint: false);
var storage = _services.GetRequiredService<IConversationStorage>();
var history = storage.GetDialogs(conversationId);
var userService = _services.GetRequiredService<IUserService>();
var agentService = _services.GetRequiredService<IAgentService>();

View file

@ -11,6 +11,7 @@ public class DialogMongoElement
public string? RichContent { get; set; }
public string? SecondaryRichContent { get; set; }
public string? Payload { get; set; }
public object? Data { get; set; }
public DialogMongoElement()
{
@ -26,7 +27,8 @@ public class DialogMongoElement
SecondaryContent = dialog.SecondaryContent,
RichContent = dialog.RichContent,
SecondaryRichContent = dialog.SecondaryRichContent,
Payload = dialog.Payload
Payload = dialog.Payload,
Data = dialog.Data
};
}
@ -39,7 +41,8 @@ public class DialogMongoElement
SecondaryContent = dialog.SecondaryContent,
RichContent = dialog.RichContent,
SecondaryRichContent = dialog.SecondaryRichContent,
Payload = dialog.Payload
Payload = dialog.Payload,
Data = dialog.Data
};
}
}