Merge pull request #1028 from adenchen123/master

Refactor Triggered method to return conversation IDs
This commit is contained in:
易磊 2025-04-23 14:45:35 +08:00 committed by GitHub
commit c1d0eb1873
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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;
}
}