Documentation
¶
Overview ¶
Package runner executes notification pipeline steps in sequence.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Execute ¶
func Execute(steps []config.Step, defaultVolume int, creds config.Credentials, vars tmpl.Vars, desktop *int) error
Execute runs the given steps (already filtered by the caller). Remote steps (discord, slack, telegram, webhook, mqtt, toast, plugin) are fired in parallel via goroutines so network latency doesn't serialize. Audio steps (sound, say) run sequentially to avoid overlapping playback on the local speaker. Both groups execute concurrently with each other.
func FilterSteps ¶
FilterSteps returns only the steps that should run given the current AFK state, invocation mode, and elapsed time. Steps with When="" always run; "afk"/"present" filter on idle state; "run"/"direct" filter on whether the invocation came from `notify run`; "hours:X-Y" filters on the current hour (24h local time); "long:DURATION" filters on elapsed time (0 = non-run context, always skipped).
Types ¶
This section is empty.