aboutsummaryrefslogtreecommitdiff
path: root/src/detect/manifests/codex.toml
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-10 15:24:24 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-10 15:33:45 +0300
commit36a1b7f86444871f0c38ff36510a6e3c2eec48c6 (patch)
tree4a2d100eef7f26af7feaa93ce661423c3994c54e /src/detect/manifests/codex.toml
parent8d13492926829c5cf0ea42c8613344cd65ff59fa (diff)
feat: distribute agent detection manifests
Diffstat (limited to 'src/detect/manifests/codex.toml')
-rw-r--r--src/detect/manifests/codex.toml105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/detect/manifests/codex.toml b/src/detect/manifests/codex.toml
new file mode 100644
index 00000000..cd09e4b0
--- /dev/null
+++ b/src/detect/manifests/codex.toml
@@ -0,0 +1,105 @@
+id = "codex"
+version = "2026.06.10.1"
+min_engine_version = 1
+updated_at = "2026-06-10T00:00:00Z"
+
+[[rules]]
+id = "transcript_viewer"
+state = "unknown"
+priority = 1000
+region = "after_last_prompt_marker"
+skip_state_update = true
+contains = ["↑/↓ to scroll", "pgup/pgdn to", "home/end to jump", "q to quit"]
+any = [
+ { contains = ["esc to edit prev"] },
+ { contains = ["esc/← to edit prev"] },
+]
+
+[[rules]]
+id = "live_strong_blocker"
+state = "blocked"
+priority = 900
+region = "after_last_prompt_marker"
+visible_blocker = true
+any = [
+ { contains = ["press enter to confirm or esc to cancel"] },
+ { contains = ["enter to submit answer"] },
+ { contains = ["enter to submit all"] },
+ { contains = ["allow command?"] },
+]
+
+[[rules]]
+id = "current_live_working"
+state = "working"
+priority = 710
+region = "current_prompt_block_marker"
+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 = ["/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]]
+id = "weak_blocker"
+state = "blocked"
+priority = 600
+region = "whole_recent"
+any = [
+ { contains = ["[y/n]"] },
+ { contains = ["yes (y)"] },
+ { contains = ["do you want to"], any = [{ contains = ["yes"] }, { contains = ["❯"] }] },
+ { contains = ["would you like to"], any = [{ contains = ["yes"] }, { contains = ["❯"] }] },
+]
+
+[[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 \()'] },
+]