aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-10 19:31:02 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-10 19:31:02 +0300
commit09c0dabfb51d8bc48b450d84958d19b1b647d77a (patch)
treeb1893d8e41ae42798e2807bd985a5301052a8faa
parent82468a0e03360219898ebf3735bdf559182009f8 (diff)
chore: publish updated agent detection manifests
-rw-r--r--scripts/agent_detection_manifest_check.py1
-rw-r--r--website/agent-detection/claude.toml152
-rw-r--r--website/agent-detection/codex.toml85
3 files changed, 92 insertions, 146 deletions
diff --git a/scripts/agent_detection_manifest_check.py b/scripts/agent_detection_manifest_check.py
index 46dcdf69..d1346a94 100644
--- a/scripts/agent_detection_manifest_check.py
+++ b/scripts/agent_detection_manifest_check.py
@@ -38,6 +38,7 @@ REGION_RE = re.compile(
r"^(whole_recent|whole_recent_without_current_prompt_marker|after_last_prompt_marker|"
r"before_current_prompt_marker|current_prompt_block_marker|after_current_prompt_block_marker|"
r"prompt_box_body|above_prompt_box|last_non_empty_above_prompt_box|after_last_horizontal_rule|"
+ r"osc_title|osc_progress|"
r"bottom_lines\([1-9][0-9]*\)|bottom_non_empty_lines\([1-9][0-9]*\))$"
)
VERSION_RE = re.compile(r"^[0-9]+(?:\.[0-9]+)*$")
diff --git a/website/agent-detection/claude.toml b/website/agent-detection/claude.toml
index 84177af6..7bcecf6f 100644
--- a/website/agent-detection/claude.toml
+++ b/website/agent-detection/claude.toml
@@ -1,10 +1,18 @@
id = "claude"
-version = "2026.06.10.1"
-min_engine_version = 1
+version = "2026.06.10.3"
+min_engine_version = 2
updated_at = "2026-06-10T00:00:00Z"
aliases = ["claude-code"]
[[rules]]
+id = "osc_title_working"
+state = "working"
+priority = 1100
+region = "osc_title"
+visible_working = true
+regex = ['^[\x{2800}-\x{28FF}] ']
+
+[[rules]]
id = "transcript_viewer"
state = "unknown"
priority = 1000
@@ -20,6 +28,29 @@ any = [
]
[[rules]]
+id = "live_blocked_form"
+state = "blocked"
+priority = 980
+region = "after_last_horizontal_rule"
+visible_blocker = true
+contains = ["enter to select", "esc to cancel"]
+any = [
+ { contains = ["tab/arrow keys to navigate"] },
+ { contains = ["arrow keys to navigate"] },
+ { contains = ["arrows to navigate"] },
+ { contains = ["↑/↓ to navigate"] },
+ { contains = ["↑↓ to navigate"] },
+]
+
+[[rules]]
+id = "dynamic_workflow_prompt"
+state = "blocked"
+priority = 980
+region = "whole_recent"
+visible_blocker = true
+contains = ["run a dynamic workflow?", "esc to cancel"]
+
+[[rules]]
id = "live_prompt_box"
state = "idle"
priority = 950
@@ -47,27 +78,22 @@ not = [
]
[[rules]]
-id = "live_blocked_form"
+id = "bash_permission_prompt"
state = "blocked"
-priority = 980
-region = "after_last_horizontal_rule"
+priority = 850
+region = "whole_recent"
visible_blocker = true
-contains = ["enter to select", "esc to cancel"]
+contains = ["do you want to proceed?"]
any = [
- { contains = ["tab/arrow keys to navigate"] },
- { contains = ["arrow keys to navigate"] },
- { contains = ["arrows to navigate"] },
- { contains = ["↑/↓ to navigate"] },
- { contains = ["↑↓ to navigate"] },
+ { contains = ["bash command"] },
+ { contains = ["bash("] },
+ { contains = ["contains expansion"] },
+ { contains = ["tab to amend"] },
+ { contains = ["ctrl+e to explain"] },
+]
+all = [
+ { any = [{ line_regex = ['(?i)^\s*❯?\s*yes\b'] }, { line_regex = ['(?i)^\s*1\.\s*yes\b'] }, { line_regex = ['(?i)^\s*2\.\s*no\b'] }] },
]
-
-[[rules]]
-id = "dynamic_workflow_prompt"
-state = "blocked"
-priority = 980
-region = "whole_recent"
-visible_blocker = true
-contains = ["run a dynamic workflow?", "esc to cancel"]
[[rules]]
id = "generic_permission_prompt"
@@ -86,79 +112,6 @@ all = [
]
[[rules]]
-id = "bash_permission_prompt"
-state = "blocked"
-priority = 850
-region = "whole_recent"
-visible_blocker = true
-contains = ["do you want to proceed?"]
-any = [
- { contains = ["bash command"] },
- { contains = ["bash("] },
- { contains = ["contains expansion"] },
- { contains = ["tab to amend"] },
- { contains = ["ctrl+e to explain"] },
-]
-all = [
- { any = [{ line_regex = ['(?i)^\s*❯?\s*yes\b'] }, { line_regex = ['(?i)^\s*1\.\s*yes\b'] }, { line_regex = ['(?i)^\s*2\.\s*no\b'] }] },
-]
-
-[[rules]]
-id = "interrupt_chrome_working"
-state = "working"
-priority = 970
-region = "above_prompt_box"
-visible_working = true
-any = [
- { contains = ["esc to interrupt"] },
- { contains = ["ctrl+c to interrupt"] },
-]
-
-[[rules]]
-id = "spinner_activity_working"
-state = "working"
-priority = 960
-region = "above_prompt_box"
-visible_working = true
-line_regex = ['^\s*[·✱✲✳✴✵✶✷✸✹✺✻✼✽✾✿❀❁❂❃❇❈❉❊❋✢✣✤✥✦✧✨⊛⊕⊙◉◎◍⁂⁕※⍟☼★☆]\s+.*\p{Alphabetic}.*…']
-
-[[rules]]
-id = "ascii_spinner_activity_working"
-state = "working"
-priority = 960
-region = "above_prompt_box"
-visible_working = true
-line_regex = ['^\s*\*\s+\p{Alphabetic}.*…\s*\([^)]*\b[1-9][0-9]*s\b[^)]*\)']
-
-[[rules]]
-id = "latest_background_status_working"
-state = "working"
-priority = 960
-region = "last_non_empty_above_prompt_box"
-visible_working = true
-any = [
- { regex = ['(?i)^\W*waiting for [1-9][0-9]* background agents? to finish$'] },
- { regex = ['(?i).*\b[1-9][0-9]* shells? still running\b'] },
- { regex = ['(?i).*\b[1-9][0-9]* local agents? still running\b'] },
-]
-
-[[rules]]
-id = "bottom_agent_status_working"
-state = "working"
-priority = 955
-region = "bottom_non_empty_lines(10)"
-visible_working = true
-line_regex = ['^\s*◯\s+(?:Explore|Agent)\b.*\b[1-9][0-9]*s\b(?:\s*·.*)?$']
-
-[[rules]]
-id = "dynamic_workflow_progress_working"
-state = "working"
-priority = 965
-region = "bottom_non_empty_lines(10)"
-visible_working = true
-line_regex = ['^\s*[◯●]\s+.*\b(?:[0-9]+/[1-9][0-9]*) agents done\b.*\b[1-9][0-9]*s\b']
-
-[[rules]]
id = "legacy_no_prompt_blocker"
state = "blocked"
priority = 300
@@ -177,3 +130,18 @@ any = [
not = [
{ regex = ['(?m)^\s*❯\s*$'] },
]
+
+[[rules]]
+id = "osc_title_idle"
+state = "idle"
+priority = 250
+region = "osc_title"
+visible_idle = true
+regex = ['^\x{2733} ']
+
+[[rules]]
+id = "osc_progress_idle"
+state = "idle"
+priority = 250
+region = "osc_progress"
+regex = ['^4;0']
diff --git a/website/agent-detection/codex.toml b/website/agent-detection/codex.toml
index cd09e4b0..8cd42fa3 100644
--- a/website/agent-detection/codex.toml
+++ b/website/agent-detection/codex.toml
@@ -1,9 +1,25 @@
id = "codex"
-version = "2026.06.10.1"
-min_engine_version = 1
+version = "2026.06.10.2"
+min_engine_version = 2
updated_at = "2026-06-10T00:00:00Z"
[[rules]]
+id = "osc_title_blocked"
+state = "blocked"
+priority = 1100
+region = "osc_title"
+visible_blocker = true
+contains = ["Action Required"]
+
+[[rules]]
+id = "osc_title_working"
+state = "working"
+priority = 1050
+region = "osc_title"
+visible_working = true
+regex = ['^[\x{2800}-\x{28FF}] ']
+
+[[rules]]
id = "transcript_viewer"
state = "unknown"
priority = 1000
@@ -29,45 +45,16 @@ any = [
]
[[rules]]
-id = "current_live_working"
+id = "background_terminal_working"
state = "working"
-priority = 710
-region = "current_prompt_block_marker"
+priority = 800
+region = "bottom_non_empty_lines(6)"
visible_working = true
any = [
- { line_regex = ['(?i)^\s*• queued follow-up inputs'] },
- { line_regex = ['(?i)^\s*• messages to be submitted after next tool call'] },
- { contains = ["Waiting for background terminal"] },
{ contains = ["background terminal running"] },
+ { contains = ["Waiting for background terminal"] },
{ contains = ["/ps to view"] },
{ contains = ["/stop to close"] },
- { regex = ['(?i)^\s*•.*\([0-9]+[hms](?: [0-9]+[hms]){0,2}.*esc\s*(…|to interrupt|to .+…)'] },
-]
-
-[[rules]]
-id = "current_working_status"
-state = "working"
-priority = 700
-region = "current_prompt_block_marker"
-any = [
- { line_regex = ['(?i)^\s*• queued follow-up inputs'] },
- { line_regex = ['(?i)^\s*• messages to be submitted after next tool call'] },
- { contains = ["Working ("] },
- { contains = ["Waiting for background terminal ("] },
- { contains = ["Booting MCP server:"] },
- { contains = ["reviewing approval request ("] },
- { regex = ['(?i)reviewing .* approval requests \('] },
- { regex = ['(?i)^\s*•.*\([0-9]+[hms](?: [0-9]+[hms]){0,2}\).* • esc(…| to interrupt| to .+…)'] },
-]
-
-[[rules]]
-id = "current_working_status_with_detail"
-state = "working"
-priority = 690
-region = "after_current_prompt_block_marker"
-any = [
- { contains = ["Queued follow-up inputs"] },
- { contains = ["Messages to be submitted after next tool call"] },
]
[[rules]]
@@ -83,23 +70,13 @@ any = [
]
[[rules]]
-id = "fallback_working"
-state = "working"
-priority = 500
-region = "whole_recent_without_current_prompt_marker"
-visible_working = true
-any = [
- { line_regex = ['(?i)^\s*•.*\([0-9]+[hms](?: [0-9]+[hms]){0,2}.*esc\s*(…|to interrupt|to .+…)'] },
- { contains = ["esc to interrupt"] },
- { all = [{ contains = ["ctrl+c to interrupt"] }, { line_regex = ['(?i)^\s*•'] }] },
- { all = [{ contains = ["press esc to interrupt"] }, { line_regex = ['(?i)^\s*•'] }] },
-]
-
-[[rules]]
-id = "fallback_status_working"
-state = "working"
-priority = 490
-region = "whole_recent_without_current_prompt_marker"
-any = [
- { line_regex = ['(?i)^\s*•.*(Working \(|Waiting for background terminal \(|Booting MCP server:|reviewing approval request \(|reviewing .* approval requests \()'] },
+id = "osc_title_idle"
+state = "idle"
+priority = 100
+region = "osc_title"
+visible_idle = true
+regex = ['\S']
+not = [
+ { regex = ['^[\x{2800}-\x{28FF}]'] },
+ { contains = ["Action Required"] },
]