diff --git a/packages/conditions/src/executeCondition.ts b/packages/conditions/src/executeCondition.ts index fd3480888..f5f3badab 100644 --- a/packages/conditions/src/executeCondition.ts +++ b/packages/conditions/src/executeCondition.ts @@ -12,7 +12,7 @@ export const executeCondition = ( sessionStore, variables, }: { sessionStore: SessionStore; variables: Variable[] }, -): boolean => { +): { passed: boolean; logs?: ContinueChatResponse["logs"] } => { if (!condition.comparisons || condition.comparisons.length === 0) return false; return (condition.logicalOperator ?? LogicalOperator.AND) === @@ -178,7 +178,12 @@ const executeComparison = ( if (b === "" || !b || !a) return false; const regex = preprocessRegex(b); if (!regex.pattern) return false; - return new RegExp(regex.pattern, regex.flags).test(a); + try { + return new RegExp(regex.pattern, regex.flags).test(a); + } catch { + // Most likelInvalid regex, treat as non-match + return false; + } }; return compare(matchesRegex, inputValue, value, "some"); }