aboutsummaryrefslogtreecommitdiff
path: root/crates/detect-core/src/manifests/kiro.toml
blob: 9d50f93203226253561c3388ca2cc48b8a9b64aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
id = "kiro"
version = "2026.09.19.1"
min_engine_version = 2
updated_at = "2026-09-19T00:00:00Z"
aliases = ["kiro-cli"]

[[rules]]
id = "live_prompt_idle"
state = "idle"
priority = 1100
region = "bottom_non_empty_lines(4)"
visible_idle = true
line_regex = ['(?i)^\s*[>›]\s*ask a question or describe a task(?:\s+(?:enter|↵))?\s*$']

[[rules]]
id = "tool_approval"
state = "blocked"
priority = 1050
region = "bottom_non_empty_lines(8)"
visible_blocker = true
any = [
  { all = [
    { regex = ['(?is)(?:^|\n)\s*esc\s+to\s+close\b(?:[^\n]*\bto\s+navigate\b[^\n]*|.*\bto\s+navigate\b.*\bto\s+select\b.*\btab\s+to\s+edit|[^\n]*\benter\s+to\s+see\s+more\s+options)\s*\z'] },
    { any = [
      { line_regex = [
        '(?i)^\s*[>❯]\s*(?:allow|always allow|deny|always deny)\s*$',
        '(?i)^\s*(?:[>❯]\s*)?allow\s*$',
        '(?i)^\s*(?:[>❯]\s*)?always allow\s*$',
        '(?i)^\s*(?:[>❯]\s*)?deny\s*$',
        '(?i)^\s*(?:[>❯]\s*)?always deny\s*$',
      ] },
      { line_regex = [
        '(?i)^\s*[>❯]\s*(?:yes, single permission|trust, always allow in this session|no \(tab to edit\))\s*$',
        '(?i)^\s*(?:[>❯]\s*)?yes, single permission\s*$',
        '(?i)^\s*(?:[>❯]\s*)?trust, always allow in this session\s*$',
        '(?i)^\s*(?:[>❯]\s*)?no \(tab to edit\)\s*$',
      ] },
      { line_regex = [
        '(?i)^\s*[>❯]\s*(?:trust\b.*|entire tool)\s*$',
        '(?i)^\s*(?:[>❯]\s*)?(?:trust )?entire tool(?:\s+\([^\n]*\))?(?:\s+(?:session|workspace|always))?\s*$',
      ] },
    ] },
  ] },
]

[[rules]]
id = "tool_approval_edit"
state = "blocked"
priority = 1045
region = "whole_recent"
visible_blocker = true
regex = ['(?im)(?:^|\n)[ \t]*[-─]+[ \t]*\n[^\n]*requires\s+approval\s*[·.]\s*modify\s+request[ \t]*\n(?:[ \t]*\n|[^\n]*[^\s─-][^\n]*\n)*?[ \t]*[>›][ \t]*[^\n]*\n(?:[ \t]*\n|[^\n]*[^\s─-][^\n]*\n)*[ \t]*[-─]+[ \t]*\n[ \t]*esc[ \t]+to[ \t]+close[ \t]*\n?\z']

[[rules]]
id = "crew_approval"
state = "blocked"
priority = 1040
region = "bottom_non_empty_lines(8)"
visible_blocker = true
contains = [
  "tool approval",
  "approve all pending",
  "configure individually (agent monitor)",
  "exit (cancel subagents)",
]

[[rules]]
id = "question_panel"
state = "blocked"
priority = 1030
region = "bottom_non_empty_lines(8)"
visible_blocker = true
contains = ["to navigate", "to submit", "esc to cancel"]

[[rules]]
id = "live_working_footer"
state = "working"
priority = 950
region = "bottom_non_empty_lines(4)"
visible_working = true
contains = ["kiro is working", "type to steer", "ctrl+s to queue"]

[[rules]]
id = "osc_title_working"
state = "working"
priority = 900
region = "osc_title"
visible_working = true
regex = ['(?i)^[◐◓◑◒/|\\-]\s+kiro:']

[[rules]]
id = "osc_progress_working"
state = "working"
priority = 890
region = "osc_progress"
visible_working = true
regex = ['^4;3;?$']