min_engine_version = 1
[[rule]]
id = "current_approval_panel"
state = "blocked"
priority = 400
region = "whole_recent"
gate = { all = [
{ contains = "↵ confirm" },
{ any = [
{ contains = "run this command?" },
{ contains = "write this file?" },
{ contains = "apply these edits?" },
{ contains = "stop this task?" },
{ contains = "ready to build with this plan?" },
{ line_regex = '(?i)^\s*▶?\s*approve .*\?$' },
] },
{ contains = " choose" },
{ any = [ { contains = "approve" }, { contains = "reject" }, { contains = "revise" } ] },
] }
[[rule]]
id = "question_panel"
state = "blocked"
priority = 390
region = "whole_recent"
gate = { all = [
{ contains = "↑↓ select" },
{ contains = "esc cancel" },
{ line_regex = '^\s*question\s*$' },
{ line_regex = '^\s*\? ' },
{ any = [
{ contains = "↵ choose" },
{ contains = "↵ toggle" },
{ contains = "↵ save" },
] },
] }
[[rule]]
id = "legacy_approval_panel"
state = "blocked"
priority = 300
region = "whole_recent"
gate = { all = [
{ contains = "requesting approval" },
{ contains = "reject" },
{ any = [
{ contains = "approve once" },
{ contains = "approve for this session" },
] },
{ any = [
{ contains = "1/2/3/4 choose" },
{ contains = "↵ confirm" },
] },
] }
[[rule]]
id = "background_agent_status_working"
state = "working"
priority = 120
region = "bottom_non_empty_lines(3)"
gate = { line_regex = '\bkimi[-\w.]*\s+thinking\b.*\[[1-9][0-9]*\s+agents?\s+running\]' }
[[rule]]
id = "moon_spinner_working"
state = "working"
priority = 100
region = "whole_recent"
gate = { line_regex = '^\s*(🌕|🌖|🌗|🌘|🌑|🌒|🌓|🌔)\s*$' }
[[rule]]
id = "braille_spinner_working"
state = "working"
priority = 90
region = "whole_recent"
gate = { line_regex = '^\s*[\x{2800}-\x{28FF}]+\s*(thinking\.\.\.|working\.\.\.|using )' }