From ee51c5e5fbaea694e65bb0a4908f75bcaf9707d1 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 8 Jun 2026 20:55:51 +0300 Subject: feat: use pty-first agent detection --- src/detect/agents/antigravity.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/detect/agents/antigravity.rs') 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(); -- cgit v1.2.3