diff --git a/src/Infrastructure/BotSharp.Core/Evaluations/EvaluationConversationHook.cs b/src/Infrastructure/BotSharp.Core/Evaluations/EvaluationConversationHook.cs index 6232c887e..ad1454301 100644 --- a/src/Infrastructure/BotSharp.Core/Evaluations/EvaluationConversationHook.cs +++ b/src/Infrastructure/BotSharp.Core/Evaluations/EvaluationConversationHook.cs @@ -5,39 +5,56 @@ namespace BotSharp.Core.Evaluations; public class EvaluationConversationHook : ConversationHookBase { private readonly IExecutionLogger _logger; + private readonly ConversationSetting _convSettings; - public EvaluationConversationHook(IExecutionLogger logger) + public EvaluationConversationHook(IExecutionLogger logger, ConversationSetting convSettings) { _logger = logger; + _convSettings = convSettings; } public override Task OnMessageReceived(RoleDialogModel message) { - _logger.Append(_conversation.Id, $"[{DateTime.Now}] {message.Role}: {message.Content}"); + if (_convSettings.EnableExecutionLog) + { + _logger.Append(_conversation.Id, $"[{DateTime.Now}] {message.Role}: {message.Content}"); + } return base.OnMessageReceived(message); } public override Task OnFunctionExecuted(RoleDialogModel message) { - _logger.Append(_conversation.Id, $"[{DateTime.Now}] {message.Role}: {message.FunctionName}({message.FunctionArgs}) => {message.Content}"); + if (_convSettings.EnableExecutionLog) + { + _logger.Append(_conversation.Id, $"[{DateTime.Now}] {message.Role}: {message.FunctionName}({message.FunctionArgs}) => {message.Content}"); + } return base.OnFunctionExecuted(message); } public override Task OnResponseGenerated(RoleDialogModel message) { - _logger.Append(_conversation.Id, $"[{DateTime.Now}] {message.Role}: {message.Content}"); + if (_convSettings.EnableExecutionLog) + { + _logger.Append(_conversation.Id, $"[{DateTime.Now}] {message.Role}: {message.Content}"); + } return base.OnResponseGenerated(message); } public override Task OnHumanInterventionNeeded(RoleDialogModel message) { - _logger.Append(_conversation.Id, $"[{DateTime.Now}] {AgentRole.Function}: trigger_event({{\"event\": \"{message.FunctionName}\"}})"); + if (_convSettings.EnableExecutionLog) + { + _logger.Append(_conversation.Id, $"[{DateTime.Now}] {AgentRole.Function}: trigger_event({{\"event\": \"{message.FunctionName}\"}})"); + } return base.OnHumanInterventionNeeded(message); } public override Task OnConversationEnding(RoleDialogModel message) { - _logger.Append(_conversation.Id, $"[{DateTime.Now}] {AgentRole.Function}: trigger_event({{\"event\": \"{message.FunctionName}\"}})"); + if (_convSettings.EnableExecutionLog) + { + _logger.Append(_conversation.Id, $"[{DateTime.Now}] {AgentRole.Function}: trigger_event({{\"event\": \"{message.FunctionName}\"}})"); + } return base.OnConversationEnding(message); } } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/AgentCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/AgentDocument.cs similarity index 95% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/AgentCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/AgentDocument.cs index 39d77a078..5e7c2f35c 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/AgentCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/AgentDocument.cs @@ -2,7 +2,7 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class AgentCollection : MongoBase +public class AgentDocument : MongoBase { public string Name { get; set; } public string Description { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDialogCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDialogDocument.cs similarity index 79% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDialogCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDialogDocument.cs index e527453d0..21444c048 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDialogCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDialogDocument.cs @@ -2,7 +2,7 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class ConversationDialogCollection : MongoBase +public class ConversationDialogDocument : MongoBase { public string ConversationId { get; set; } public List Dialogs { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDocument.cs similarity index 90% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDocument.cs index 8a6ed4f85..4606974d0 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ConversationDocument.cs @@ -2,7 +2,7 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class ConversationCollection : MongoBase +public class ConversationDocument : MongoBase { public string AgentId { get; set; } public string UserId { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogDocument.cs similarity index 75% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogDocument.cs index 1a2c4c6c8..955b22a9f 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/ExecutionLogDocument.cs @@ -1,6 +1,6 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class ExecutionLogCollection : MongoBase +public class ExecutionLogDocument : MongoBase { public string ConversationId { get; set; } public List Logs { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/LlmCompletionLogCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/LlmCompletionLogDocument.cs similarity index 85% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/LlmCompletionLogCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/LlmCompletionLogDocument.cs index 266742626..f55047e89 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/LlmCompletionLogCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/LlmCompletionLogDocument.cs @@ -1,6 +1,6 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class LlmCompletionLogCollection : MongoBase +public class LlmCompletionLogDocument : MongoBase { public string ConversationId { get; set; } public string MessageId { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserAgentCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserAgentDocument.cs similarity index 85% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserAgentCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserAgentDocument.cs index 2142ad429..bb4af1ae1 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserAgentCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserAgentDocument.cs @@ -1,6 +1,6 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class UserAgentCollection : MongoBase +public class UserAgentDocument : MongoBase { public string UserId { get; set; } public string AgentId { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserCollection.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserDocument.cs similarity index 91% rename from src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserCollection.cs rename to src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserDocument.cs index 5220dd87d..f7f5320ed 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserCollection.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Collections/UserDocument.cs @@ -1,6 +1,6 @@ namespace BotSharp.Plugin.MongoStorage.Collections; -public class UserCollection : MongoBase +public class UserDocument : MongoBase { public string FirstName { get; set; } public string LastName { get; set; } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs index 0b5f2fe88..11a1af333 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs @@ -28,24 +28,24 @@ private string GetDatabaseName(string mongoDbConnectionString) private IMongoDatabase Database { get { return _mongoClient.GetDatabase(_mongoDbDatabaseName); } } - public IMongoCollection Agents - => Database.GetCollection($"{_collectionPrefix}_Agents"); + public IMongoCollection Agents + => Database.GetCollection($"{_collectionPrefix}_Agents"); - public IMongoCollection Conversations - => Database.GetCollection($"{_collectionPrefix}_Conversations"); + public IMongoCollection Conversations + => Database.GetCollection($"{_collectionPrefix}_Conversations"); - public IMongoCollection ConversationDialogs - => Database.GetCollection($"{_collectionPrefix}_ConversationDialogs"); + public IMongoCollection ConversationDialogs + => Database.GetCollection($"{_collectionPrefix}_ConversationDialogs"); - public IMongoCollection ExectionLogs - => Database.GetCollection($"{_collectionPrefix}_ExecutionLogs"); + public IMongoCollection ExectionLogs + => Database.GetCollection($"{_collectionPrefix}_ExecutionLogs"); - public IMongoCollection Users - => Database.GetCollection($"{_collectionPrefix}_Users"); + public IMongoCollection Users + => Database.GetCollection($"{_collectionPrefix}_Users"); - public IMongoCollection UserAgents - => Database.GetCollection($"{_collectionPrefix}_UserAgents"); + public IMongoCollection UserAgents + => Database.GetCollection($"{_collectionPrefix}_UserAgents"); - public IMongoCollection LlmCompletionLogs - => Database.GetCollection($"{_collectionPrefix}_Llm_Completion_Logs"); + public IMongoCollection LlmCompletionLogs + => Database.GetCollection($"{_collectionPrefix}_Llm_Completion_Logs"); } diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs index 5f238e2fd..cc7ea6e08 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.cs @@ -59,7 +59,7 @@ public int Transaction(Action action) { if (table == nameof(Agent)) { - var agents = _agents.Select(x => new AgentCollection + var agents = _agents.Select(x => new AgentDocument { Id = !string.IsNullOrEmpty(x.Id) ? x.Id : Guid.NewGuid().ToString(), Name = x.Name, @@ -88,8 +88,8 @@ public int Transaction(Action action) foreach (var agent in agents) { - var filter = Builders.Filter.Eq(x => x.Id, agent.Id); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agent.Id); + var update = Builders.Update .Set(x => x.Name, agent.Name) .Set(x => x.Description, agent.Description) .Set(x => x.Instruction, agent.Instruction) @@ -109,7 +109,7 @@ public int Transaction(Action action) } else if (table == nameof(User)) { - var users = _users.Select(x => new UserCollection + var users = _users.Select(x => new UserDocument { Id = !string.IsNullOrEmpty(x.Id) ? x.Id : Guid.NewGuid().ToString(), FirstName = x.FirstName, @@ -125,8 +125,8 @@ public int Transaction(Action action) foreach (var user in users) { - var filter = Builders.Filter.Eq(x => x.Id, user.Id); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, user.Id); + var update = Builders.Update .Set(x => x.FirstName, user.FirstName) .Set(x => x.LastName, user.LastName) .Set(x => x.Email, user.Email) @@ -141,7 +141,7 @@ public int Transaction(Action action) } else if (table == nameof(UserAgent)) { - var userAgents = _userAgents.Select(x => new UserAgentCollection + var userAgents = _userAgents.Select(x => new UserAgentDocument { Id = !string.IsNullOrEmpty(x.Id) ? x.Id : Guid.NewGuid().ToString(), AgentId = x.AgentId, @@ -153,8 +153,8 @@ public int Transaction(Action action) foreach (var userAgent in userAgents) { - var filter = Builders.Filter.Eq(x => x.Id, userAgent.Id); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, userAgent.Id); + var update = Builders.Update .Set(x => x.AgentId, userAgent.AgentId) .Set(x => x.UserId, userAgent.UserId) .Set(x => x.Editable, userAgent.Editable) @@ -224,8 +224,8 @@ private void UpdateAgentName(string agentId, string name) { if (string.IsNullOrEmpty(name)) return; - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Name, name) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -236,8 +236,8 @@ private void UpdateAgentDescription(string agentId, string description) { if (string.IsNullOrEmpty(description)) return; - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Description, description) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -246,8 +246,8 @@ private void UpdateAgentDescription(string agentId, string description) private void UpdateAgentIsPublic(string agentId, bool isPublic) { - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.IsPublic, isPublic) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -256,8 +256,8 @@ private void UpdateAgentIsPublic(string agentId, bool isPublic) private void UpdateAgentDisabled(string agentId, bool disabled) { - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Disabled, disabled) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -266,8 +266,8 @@ private void UpdateAgentDisabled(string agentId, bool disabled) private void UpdateAgentAllowRouting(string agentId, bool allowRouting) { - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.AllowRouting, allowRouting) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -278,8 +278,8 @@ private void UpdateAgentProfiles(string agentId, List profiles) { if (profiles.IsNullOrEmpty()) return; - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Profiles, profiles) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -291,8 +291,8 @@ private void UpdateAgentRoutingRules(string agentId, List rules) if (rules.IsNullOrEmpty()) return; var ruleElements = rules.Select(x => RoutingRuleMongoElement.ToMongoElement(x)).ToList(); - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.RoutingRules, ruleElements) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -303,8 +303,8 @@ private void UpdateAgentInstruction(string agentId, string instruction) { if (string.IsNullOrEmpty(instruction)) return; - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Instruction, instruction) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -316,8 +316,8 @@ private void UpdateAgentFunctions(string agentId, List functions) if (functions.IsNullOrEmpty()) return; var functionsToUpdate = functions.Select(f => FunctionDefMongoElement.ToMongoElement(f)).ToList(); - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Functions, functionsToUpdate) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -329,8 +329,8 @@ private void UpdateAgentTemplates(string agentId, List templates) if (templates.IsNullOrEmpty()) return; var templatesToUpdate = templates.Select(t => AgentTemplateMongoElement.ToMongoElement(t)).ToList(); - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Templates, templatesToUpdate) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -342,8 +342,8 @@ private void UpdateAgentResponses(string agentId, List responses) if (responses.IsNullOrEmpty()) return; var responsesToUpdate = responses.Select(r => AgentResponseMongoElement.ToMongoElement(r)).ToList(); - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Responses, responsesToUpdate) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -354,8 +354,8 @@ private void UpdateAgentSamples(string agentId, List samples) { if (samples.IsNullOrEmpty()) return; - var filter = Builders.Filter.Eq(x => x.Id, agentId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agentId); + var update = Builders.Update .Set(x => x.Samples, samples) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -364,8 +364,8 @@ private void UpdateAgentSamples(string agentId, List samples) private void UpdateAgentAllFields(Agent agent) { - var filter = Builders.Filter.Eq(x => x.Id, agent.Id); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.Id, agent.Id); + var update = Builders.Update .Set(x => x.Name, agent.Name) .Set(x => x.Description, agent.Description) .Set(x => x.Disabled, agent.Disabled) @@ -420,7 +420,7 @@ private void UpdateAgentAllFields(Agent agent) public List GetAgents(AgentFilter filter) { var agents = new List(); - IQueryable query = _dc.Agents.AsQueryable(); + IQueryable query = _dc.Agents.AsQueryable(); if (!string.IsNullOrEmpty(filter.AgentName)) { @@ -510,7 +510,7 @@ public void BulkInsertAgents(List agents) { if (agents.IsNullOrEmpty()) return; - var agentDocs = agents.Select(x => new AgentCollection + var agentDocs = agents.Select(x => new AgentDocument { Id = !string.IsNullOrEmpty(x.Id) ? x.Id : Guid.NewGuid().ToString(), Name = x.Name, @@ -544,7 +544,7 @@ public void BulkInsertUserAgents(List userAgents) { if (userAgents.IsNullOrEmpty()) return; - var userAgentDocs = userAgents.Select(x => new UserAgentCollection + var userAgentDocs = userAgents.Select(x => new UserAgentDocument { Id = !string.IsNullOrEmpty(x.Id) ? x.Id : Guid.NewGuid().ToString(), AgentId = x.AgentId, @@ -561,8 +561,8 @@ public bool DeleteAgents() { try { - _dc.UserAgents.DeleteMany(Builders.Filter.Empty); - _dc.Agents.DeleteMany(Builders.Filter.Empty); + _dc.UserAgents.DeleteMany(Builders.Filter.Empty); + _dc.Agents.DeleteMany(Builders.Filter.Empty); return true; } catch @@ -578,7 +578,7 @@ public void CreateNewConversation(Conversation conversation) { if (conversation == null) return; - var conv = new ConversationCollection + var conv = new ConversationDocument { Id = !string.IsNullOrEmpty(conversation.Id) ? conversation.Id : Guid.NewGuid().ToString(), AgentId = conversation.AgentId, @@ -591,7 +591,7 @@ public void CreateNewConversation(Conversation conversation) UpdatedTime = DateTime.UtcNow, }; - var dialog = new ConversationDialogCollection + var dialog = new ConversationDialogDocument { Id = Guid.NewGuid().ToString(), ConversationId = conv.Id, @@ -606,10 +606,10 @@ public bool DeleteConversation(string conversationId) { if (string.IsNullOrEmpty(conversationId)) return false; - var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); - var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); - var filterExeLog = Builders.Filter.Eq(x => x.ConversationId, conversationId); - var filterPromptLog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); + var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterExeLog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterPromptLog = Builders.Filter.Eq(x => x.ConversationId, conversationId); var exeLogDeleted = _dc.ExectionLogs.DeleteMany(filterExeLog); var promptLogDeleted = _dc.LlmCompletionLogs.DeleteMany(filterPromptLog); @@ -623,7 +623,7 @@ public List GetConversationDialogs(string conversationId) var dialogs = new List(); if (string.IsNullOrEmpty(conversationId)) return dialogs; - var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); var foundDialog = _dc.ConversationDialogs.Find(filter).FirstOrDefault(); if (foundDialog == null) return dialogs; @@ -635,17 +635,17 @@ public void AppendConversationDialogs(string conversationId, List { if (string.IsNullOrEmpty(conversationId)) return; - var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); + var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); var foundConv = _dc.Conversations.Find(filterConv).FirstOrDefault(); if (foundConv == null) return; - var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); var foundDialog = _dc.ConversationDialogs.Find(filterDialog).FirstOrDefault(); if (foundDialog == null) return; var dialogElements = dialogs.Select(x => DialogMongoElement.ToMongoElement(x)).ToList(); - var updateDialog = Builders.Update.PushEach(x => x.Dialogs, dialogElements); - var updateConv = Builders.Update.Set(x => x.UpdatedTime, DateTime.UtcNow); + var updateDialog = Builders.Update.PushEach(x => x.Dialogs, dialogElements); + var updateConv = Builders.Update.Set(x => x.UpdatedTime, DateTime.UtcNow); _dc.ConversationDialogs.UpdateOne(filterDialog, updateDialog); _dc.Conversations.UpdateOne(filterConv, updateConv); @@ -655,11 +655,11 @@ public void UpdateConversationTitle(string conversationId, string title) { if (string.IsNullOrEmpty(conversationId)) return; - var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); + var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); var foundConv = _dc.Conversations.Find(filterConv).FirstOrDefault(); if (foundConv == null) return; - var updateConv = Builders.Update + var updateConv = Builders.Update .Set(x => x.UpdatedTime, DateTime.UtcNow) .Set(x => x.Title, title); @@ -671,7 +671,7 @@ public List GetConversationStates(string conversationId) var states = new List(); if (string.IsNullOrEmpty(conversationId)) return states; - var filter = Builders.Filter.Eq(x => x.Id, conversationId); + var filter = Builders.Filter.Eq(x => x.Id, conversationId); var foundConversation = _dc.Conversations.Find(filter).FirstOrDefault(); var savedStates = foundConversation?.States ?? new List(); return savedStates; @@ -681,11 +681,11 @@ public void UpdateConversationStates(string conversationId, List { if (string.IsNullOrEmpty(conversationId)) return; - var filter = Builders.Filter.Eq(x => x.Id, conversationId); + var filter = Builders.Filter.Eq(x => x.Id, conversationId); var foundConv = _dc.Conversations.Find(filter).FirstOrDefault(); if (foundConv == null) return; - var update = Builders.Update + var update = Builders.Update .Set(x => x.States, states) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -696,11 +696,11 @@ public void UpdateConversationStatus(string conversationId, string status) { if (string.IsNullOrEmpty(conversationId) || string.IsNullOrEmpty(status)) return; - var filter = Builders.Filter.Eq(x => x.Id, conversationId); + var filter = Builders.Filter.Eq(x => x.Id, conversationId); var foundConv = _dc.Conversations.Find(filter).FirstOrDefault(); if (foundConv == null) return; - var update = Builders.Update + var update = Builders.Update .Set(x => x.Status, status) .Set(x => x.UpdatedTime, DateTime.UtcNow); @@ -711,8 +711,8 @@ public Conversation GetConversation(string conversationId) { if (string.IsNullOrEmpty(conversationId)) return null; - var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); - var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filterConv = Builders.Filter.Eq(x => x.Id, conversationId); + var filterDialog = Builders.Filter.Eq(x => x.ConversationId, conversationId); var conv = _dc.Conversations.Find(filterConv).FirstOrDefault(); var dialog = _dc.ConversationDialogs.Find(filterDialog).FirstOrDefault(); @@ -739,8 +739,8 @@ public Conversation GetConversation(string conversationId) public List GetConversations(ConversationFilter filter) { var records = new List(); - var builder = Builders.Filter; - var filters = new List>(); + var builder = Builders.Filter; + var filters = new List>(); if (!string.IsNullOrEmpty(filter.AgentId)) filters.Add(builder.Eq(x => x.AgentId, filter.AgentId)); if (!string.IsNullOrEmpty(filter.Status)) filters.Add(builder.Eq(x => x.Status, filter.Status)); @@ -825,7 +825,7 @@ public void CreateUser(User user) { if (user == null) return; - var userCollection = new UserCollection + var userCollection = new UserDocument { Id = Guid.NewGuid().ToString(), FirstName = user.FirstName, @@ -848,8 +848,8 @@ public void AddExecutionLogs(string conversationId, List logs) { if (string.IsNullOrEmpty(conversationId) || logs.IsNullOrEmpty()) return; - var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); - var update = Builders.Update + var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var update = Builders.Update .SetOnInsert(x => x.Id, Guid.NewGuid().ToString()) .PushEach(x => x.Logs, logs); @@ -861,7 +861,7 @@ public List GetExecutionLogs(string conversationId) var logs = new List(); if (string.IsNullOrEmpty(conversationId)) return logs; - var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); + var filter = Builders.Filter.Eq(x => x.ConversationId, conversationId); var logCollection = _dc.ExectionLogs.Find(filter).FirstOrDefault(); logs = logCollection?.Logs ?? new List(); @@ -872,7 +872,7 @@ public List GetExecutionLogs(string conversationId) #region LLM Completion Log public void SaveLlmCompletionLog(LlmCompletionLog log) { - var completiongLog = new LlmCompletionLogCollection + var completiongLog = new LlmCompletionLogDocument { Id = string.IsNullOrEmpty(log.Id) ? Guid.NewGuid().ToString() : log.Id, ConversationId = log.ConversationId,