Refactor Triggered method to return conversation IDs

This commit is contained in:
aden.chen 2025-04-23 14:35:05 +08:00
parent 9d7d1288df
commit ac7d3ce842
2 changed files with 6 additions and 3 deletions

View file

@ -4,5 +4,5 @@ namespace BotSharp.Core.Rules.Engines;
public interface IRuleEngine
{
Task Triggered(IRuleTrigger trigger, string data, List<MessageState>? states = null);
Task<IEnumerable<string>> Triggered(IRuleTrigger trigger, string data, List<MessageState>? states = null);
}

View file

@ -18,7 +18,7 @@ public class RuleEngine : IRuleEngine
_logger = logger;
}
public async Task Triggered(IRuleTrigger trigger, string data, List<MessageState>? states = null)
public async Task<IEnumerable<string>> Triggered(IRuleTrigger trigger, string data, List<MessageState>? states = null)
{
// Pull all user defined rules
var agentService = _services.GetRequiredService<IAgentService>();
@ -36,7 +36,7 @@ public class RuleEngine : IRuleEngine
// Trigger the agents
var instructService = _services.GetRequiredService<IInstructService>();
var newConversationIds = new List<string>();
foreach (var agent in preFilteredAgents)
{
@ -68,6 +68,7 @@ public class RuleEngine : IRuleEngine
msg => Task.CompletedTask);
convService.SaveStates();
newConversationIds.Add(conv.Id);
/*foreach (var rule in agent.Rules)
{
@ -88,5 +89,7 @@ public class RuleEngine : IRuleEngine
}
}*/
}
return newConversationIds;
}
}