aboutsummaryrefslogtreecommitdiff
path: root/src/detect/agents/antigravity.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-08 20:55:51 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-09 04:26:19 +0300
commitee51c5e5fbaea694e65bb0a4908f75bcaf9707d1 (patch)
treef566d2a5921d4112602a7abcffb5cf6eb04d5f24 /src/detect/agents/antigravity.rs
parenta7cd7806f2fa0251e2dca41ffec61ceafb6f0e18 (diff)
feat: use pty-first agent detection
Diffstat (limited to 'src/detect/agents/antigravity.rs')
-rw-r--r--src/detect/agents/antigravity.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/detect/agents/antigravity.rs b/src/detect/agents/antigravity.rs
index b504a96a..9790c5a4 100644
--- a/src/detect/agents/antigravity.rs
+++ b/src/detect/agents/antigravity.rs
@@ -1,12 +1,7 @@
use super::super::AgentState;
pub(super) fn detect(content: &str) -> AgentState {
- let lower = content.to_lowercase();
-
- let has_permission_request = lower.contains("requesting permission for:");
- let has_permission_question = lower.contains("do you want to proceed?");
- let has_permission_controls = lower.contains("tab amend") && lower.contains("edit command");
- if has_permission_request && (has_permission_question || has_permission_controls) {
+ if has_visible_blocker(content) {
return AgentState::Blocked;
}
@@ -17,6 +12,14 @@ pub(super) fn detect(content: &str) -> AgentState {
AgentState::Idle
}
+pub(super) fn has_visible_blocker(content: &str) -> bool {
+ let lower = content.to_lowercase();
+ let has_permission_request = lower.contains("requesting permission for:");
+ let has_permission_question = lower.contains("do you want to proceed?");
+ let has_permission_controls = lower.contains("tab amend") && lower.contains("edit command");
+ has_permission_request && (has_permission_question || has_permission_controls)
+}
+
fn has_antigravity_spinner(content: &str) -> bool {
content.lines().any(|line| {
let trimmed = line.trim_start();