@@ -43,7 +43,7 @@ public async Task<IEnumerable<string>> Triggered(IRuleTrigger trigger, string te
4343 // Criteria validation
4444 if ( ! string . IsNullOrEmpty ( rule . RuleCriteria ? . Name ) && ! rule . RuleCriteria . Disabled )
4545 {
46- var criteriaResult = await ExecuteCriteriaAsync ( agent , rule , trigger , rule . RuleCriteria ? . Name , text , states , options ) ;
46+ var criteriaResult = await ExecuteCriteriaAsync ( agent , rule . RuleCriteria , trigger , text , states , options ) ;
4747 if ( criteriaResult ? . IsValid == false )
4848 {
4949 _logger . LogWarning ( "Criteria validation failed for agent {AgentId} with trigger {TriggerName}" , agent . Id , trigger . Name ) ;
@@ -75,9 +75,8 @@ public async Task<IEnumerable<string>> Triggered(IRuleTrigger trigger, string te
7575 #region Criteria
7676 private async Task < RuleCriteriaResult > ExecuteCriteriaAsync (
7777 Agent agent ,
78- AgentRule rule ,
78+ AgentRuleCriteria ruleCriteria ,
7979 IRuleTrigger trigger ,
80- string ? criteriaProvider ,
8180 string text ,
8281 IEnumerable < MessageState > ? states ,
8382 RuleTriggerOptions ? triggerOptions )
@@ -87,7 +86,7 @@ private async Task<RuleCriteriaResult> ExecuteCriteriaAsync(
8786 try
8887 {
8988 var criteria = _services . GetServices < IRuleCriteria > ( )
90- . FirstOrDefault ( x => x . Provider == criteriaProvider ) ;
89+ . FirstOrDefault ( x => x . Provider == ruleCriteria . Name ) ;
9190
9291 if ( criteria == null )
9392 {
@@ -98,7 +97,7 @@ private async Task<RuleCriteriaResult> ExecuteCriteriaAsync(
9897 var context = new RuleCriteriaContext
9998 {
10099 Text = text ,
101- Parameters = BuildContextParameters ( rule . RuleCriteria ? . Config , states ) ,
100+ Parameters = BuildContextParameters ( ruleCriteria . Config , states ) ,
102101 JsonOptions = triggerOptions ? . JsonOptions
103102 } ;
104103
@@ -108,7 +107,7 @@ private async Task<RuleCriteriaResult> ExecuteCriteriaAsync(
108107 var hooks = _services . GetHooks < IRuleTriggerHook > ( agent . Id ) ;
109108 foreach ( var hook in hooks )
110109 {
111- await hook . BeforeRuleCriteriaExecuted ( agent , trigger , context ) ;
110+ await hook . BeforeRuleCriteriaExecuted ( agent , ruleCriteria , trigger , context ) ;
112111 }
113112
114113 // Execute criteria
@@ -117,14 +116,14 @@ private async Task<RuleCriteriaResult> ExecuteCriteriaAsync(
117116
118117 foreach ( var hook in hooks )
119118 {
120- await hook . AfterRuleCriteriaExecuted ( agent , trigger , result ) ;
119+ await hook . AfterRuleCriteriaExecuted ( agent , ruleCriteria , trigger , result ) ;
121120 }
122121
123122 return result ;
124123 }
125124 catch ( Exception ex )
126125 {
127- _logger . LogError ( ex , "Error executing rule criteria {CriteriaProvider} for agent {AgentId}" , criteriaProvider ?? string . Empty , agent . Id ) ;
126+ _logger . LogError ( ex , "Error executing rule criteria {CriteriaProvider} for agent {AgentId}" , ruleCriteria . Name , agent . Id ) ;
128127 return result ;
129128 }
130129 }
0 commit comments