aboutsummaryrefslogtreecommitdiff
path: root/crates/detect-core/src/manifests/opencode.toml
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-19 16:02:57 +0300
committerIgor Soarez <igor@soarez.org>2026-10-19 16:02:57 +0300
commitab33633ceb9e4bea3e292b2371241797d1587d02 (patch)
tree7b03faf43e5714782e43d582a00626a6f0d852f1 /crates/detect-core/src/manifests/opencode.toml
initial dingger: tmux agent watcher with herdr's detection engine
extract detect-core from herdr's src/detect (engine + 22 manifests, tests unchanged) and add the dingger binary: tmux capture-pane watcher, process-tree agent identification, herdr's notification policy, embedded notification sounds, @agent_state write-back, and catalog-based manifest refresh. viewer screens are non-observations per the engine contract; reviewed by a three-model panel (opus 5.5, gpt 6.1 sol, kimi k3) with all confirmed findings applied as deletions.
Diffstat (limited to 'crates/detect-core/src/manifests/opencode.toml')
-rw-r--r--crates/detect-core/src/manifests/opencode.toml37
1 files changed, 37 insertions, 0 deletions
diff --git a/crates/detect-core/src/manifests/opencode.toml b/crates/detect-core/src/manifests/opencode.toml
new file mode 100644
index 0000000..5245238
--- /dev/null
+++ b/crates/detect-core/src/manifests/opencode.toml
@@ -0,0 +1,37 @@
+id = "opencode"
+version = "2026.06.10.1"
+min_engine_version = 1
+updated_at = "2026-06-10T00:00:00Z"
+aliases = ["open-code", "herdr:opencode"]
+
+[[rules]]
+id = "permission_required"
+state = "blocked"
+priority = 300
+region = "whole_recent"
+visible_blocker = true
+any = [
+ { contains = ["△ Permission required"] },
+ { contains = ["esc dismiss"], any = [{ contains = ["enter confirm"] }, { contains = ["enter submit"] }, { contains = ["enter toggle"] }], all = [{ any = [{ contains = ["↑↓ select"] }, { contains = ["⇆ tab"] }] }] },
+]
+
+[[rules]]
+id = "interrupt_hint_working"
+state = "working"
+priority = 110
+region = "whole_recent"
+visible_working = true
+any = [
+ { contains = ["esc to interrupt"] },
+ { contains = ["ctrl+c to interrupt"] },
+ { contains = ["press esc to interrupt"] },
+ { line_regex = ['(?i).*opencode.*esc (again to )?interrupt'] },
+]
+
+[[rules]]
+id = "progress_bar_working"
+state = "working"
+priority = 100
+region = "whole_recent"
+visible_working = true
+regex = ['(■|⬝){4,}']