salt.thorium.timer

Allow flow-based timers inside Thorium formulas.

These timers keep state across multiple Thorium evaluation cycles, which makes them useful for cooldowns, delayed reactions, and rate limiting.

salt.thorium.timer.hold(name, seconds)

Wait for a given period of time, then fire a result of True, requiring this state allows for an action to be blocked for evaluation based on time.

A common pattern is to require a check.* state first and then require this timer from the action state so the action only runs after the hold period has elapsed.

USAGE:

hold_on_a_moment:
  timer.hold:
    - seconds: 30

cooldown:
  timer.hold:
    - seconds: 900
    - require:
      - check: repeated_failures