blob: 0eece95b07f2f5d2db478c66d1ffebd99cd7c045 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
use super::super::AgentState;
pub(super) fn detect(content: &str) -> AgentState {
let lower = content.to_lowercase();
// Blocked
if has_visible_blocker(content) {
return AgentState::Blocked;
}
// Working
if lower.contains("esc to cancel")
|| lower.contains("esc cancel")
|| lower.contains("esc again to cancel")
{
return AgentState::Working;
}
AgentState::Idle
}
pub(super) fn has_visible_blocker(content: &str) -> bool {
let lower = content.to_lowercase();
lower.contains("esc to cancel")
&& (lower.contains("enter to select")
|| lower.contains("enter to confirm")
|| lower.contains("enter to submit"))
}
|