Skip to main content

evaluate_condition

Function
This function is defined in the evaluator module.
Evaluate a condition expression with variable substitution. This is the shared condition evaluation function used by both AgentFlow and AgentTeam. It supports various condition formats. Supported formats:
  • Numeric comparison: “{{var}} > 80”, “{{var}} >= 50”, “{{var}} < 10”
  • String equality: “{{var}} == approved”, “{{var}} != rejected”
  • Contains check: “error in {{message}}”, “{{status}} contains success”
  • Boolean: “{{flag}}” (truthy check)
  • Nested property: “{{item.score}} >= 60”

Signature

def evaluate_condition(condition: str, variables: Dict[str, Any], previous_output: Optional[str]) -> bool

Parameters

condition
str
required
Condition expression with {{var}} placeholders.
variables
Dict
required
Dictionary containing variables for substitution.
previous_output
Optional
Optional output from previous step (substitutes {{previous_output}}).

Returns

Returns
bool
Boolean result of condition evaluation. Returns False on evaluation errors (fail-safe).

Usage

result = evaluate_condition("{{score}} > 80", {"score": 90})  # True
    result = evaluate_condition("{{status}} == approved", {"status": "approved"})  # True
    result = evaluate_condition("error in {{message}}", {"message": "An error occurred"})  # True

Uses

  • re.findall
  • get_nested_value
  • re.match
  • numeric_match.group
  • string_match.group
  • logger.warning

Used By

Source

View on GitHub

praisonaiagents/conditions/evaluator.py at line 131