@team-agent/installer 0.3.30 → 0.3.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Cargo.lock
CHANGED
package/Cargo.toml
CHANGED
|
@@ -141,7 +141,7 @@ pub(crate) fn non_provider_command(command: &str) -> Option<&str> {
|
|
|
141
141
|
|
|
142
142
|
pub(crate) fn latest_prompt_signal(scrollback: &str) -> Option<AgentActivity> {
|
|
143
143
|
// E47 ROOT-FIX#2 (0.3.24 P0, idle/busy 假阳): limit the scan to the
|
|
144
|
-
// BOTTOM ACTIVE REGION (last 1-
|
|
144
|
+
// BOTTOM ACTIVE REGION (last 1-5 non-empty lines = composer / status
|
|
145
145
|
// line). The pre-fix `rfind` across the whole Tail(40) buffer let a
|
|
146
146
|
// historical spinner/`Working` token out-position the live `❯`/`›`
|
|
147
147
|
// composer (the rfind-recency family bug — same shape as the #320
|
|
@@ -155,7 +155,7 @@ pub(crate) fn latest_prompt_signal(scrollback: &str) -> Option<AgentActivity> {
|
|
|
155
155
|
.lines()
|
|
156
156
|
.rev()
|
|
157
157
|
.filter(|line| !line.trim().is_empty())
|
|
158
|
-
.take(
|
|
158
|
+
.take(5)
|
|
159
159
|
.collect();
|
|
160
160
|
if active_region.is_empty() {
|
|
161
161
|
return None;
|
|
@@ -168,11 +168,13 @@ pub(crate) fn latest_prompt_signal(scrollback: &str) -> Option<AgentActivity> {
|
|
|
168
168
|
has_idle_prompt = true;
|
|
169
169
|
}
|
|
170
170
|
// codex live spinner shapes (provider/adapter.rs:875-876 markers):
|
|
171
|
-
// braille spinner, `• Working (`, `Thinking`; claude
|
|
172
|
-
//
|
|
171
|
+
// braille spinner, `• Working (`, `Thinking`; claude `✶`/`✢`/`✻`
|
|
172
|
+
// and Claude Code tool-progress verbs. We look for STRUCTURAL
|
|
173
|
+
// composer/status signals in the active region only.
|
|
173
174
|
if [
|
|
174
175
|
"working (", "thinking", "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦",
|
|
175
|
-
"⠧", "⠇", "⠏", "✶", "✢",
|
|
176
|
+
"⠧", "⠇", "⠏", "✶", "✢", "✻", "analyzing", "reading", "writing",
|
|
177
|
+
"searching", "running", "editing",
|
|
176
178
|
]
|
|
177
179
|
.iter()
|
|
178
180
|
.any(|needle| lower.contains(needle))
|
|
@@ -622,6 +622,45 @@ fn e47_claude_live_working_in_bottom_active_region_classifies_working() {
|
|
|
622
622
|
);
|
|
623
623
|
}
|
|
624
624
|
|
|
625
|
+
#[test]
|
|
626
|
+
fn worker_state_claude_code_busy_signal_within_bottom_five_classifies_working() {
|
|
627
|
+
let scrollback = "older output\n\
|
|
628
|
+
✻ Searching files\n\
|
|
629
|
+
Reading src/lib.rs\n\
|
|
630
|
+
tool progress\n\
|
|
631
|
+
status line\n\
|
|
632
|
+
› Continue?\n\
|
|
633
|
+
❯ ";
|
|
634
|
+
let st = serde_json::json!({});
|
|
635
|
+
let a = classify_agent_activity(&st, scrollback, false, Some("claude"), None);
|
|
636
|
+
assert_eq!(
|
|
637
|
+
a.status,
|
|
638
|
+
ActivityStatus::Working,
|
|
639
|
+
"Claude Code busy signal inside the bottom five active lines must \
|
|
640
|
+
classify Working even when an idle prompt glyph is also visible. Got {a:?}"
|
|
641
|
+
);
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
#[test]
|
|
645
|
+
fn worker_state_historical_claude_code_busy_above_bottom_five_stays_idle() {
|
|
646
|
+
let scrollback = "✻ Searching old result\n\
|
|
647
|
+
historical tool output\n\
|
|
648
|
+
line 1\n\
|
|
649
|
+
line 2\n\
|
|
650
|
+
line 3\n\
|
|
651
|
+
line 4\n\
|
|
652
|
+
› Continue?\n\
|
|
653
|
+
❯ ";
|
|
654
|
+
let st = serde_json::json!({});
|
|
655
|
+
let a = classify_agent_activity(&st, scrollback, false, Some("claude"), None);
|
|
656
|
+
assert_eq!(
|
|
657
|
+
a.status,
|
|
658
|
+
ActivityStatus::Idle,
|
|
659
|
+
"Claude Code busy signal above the bottom five active lines is \
|
|
660
|
+
scrollback history and must not override the live idle prompt. Got {a:?}"
|
|
661
|
+
);
|
|
662
|
+
}
|
|
663
|
+
|
|
625
664
|
#[test]
|
|
626
665
|
fn e47_iron_law_no_signal_in_bottom_region_stays_uncertain_not_idle() {
|
|
627
666
|
// Defence: IRON LAW (activity.rs:3 / bug-071/077/085). When the bottom
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@team-agent/installer",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.31",
|
|
4
4
|
"description": "npx installer for Team Agent",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"codex",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"team-agent-installer": "npm/install.mjs"
|
|
21
21
|
},
|
|
22
22
|
"optionalDependencies": {
|
|
23
|
-
"@team-agent/cli-darwin-arm64": "0.3.
|
|
24
|
-
"@team-agent/cli-darwin-x64": "0.3.
|
|
25
|
-
"@team-agent/cli-linux-x64": "0.3.
|
|
23
|
+
"@team-agent/cli-darwin-arm64": "0.3.31",
|
|
24
|
+
"@team-agent/cli-darwin-x64": "0.3.31",
|
|
25
|
+
"@team-agent/cli-linux-x64": "0.3.31"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"postinstall": "node npm/bincheck.mjs",
|