fix/guard: tail-1 → tail-5 — Orchestrator sieht jetzt Bestätigungs-Dialoge in Subagenten
Root Cause: tmuxSubagentenStatus() holte nur die letzte Zeile (tail -1), das war immer der Pi-Status-Bar, nie der Dialog-Inhalt. Jetzt tail -5 mit expliziter Dialog-Erkennung (Erlauben?, → Yes, ACHTUNG:).
This commit is contained in:
parent
71bb9893c2
commit
3e4e1a4bff
1 changed files with 7 additions and 3 deletions
|
|
@ -165,16 +165,20 @@ function tmuxSubagentenStatus(): string | null {
|
||||||
const lines = sessions.map((name) => {
|
const lines = sessions.map((name) => {
|
||||||
try {
|
try {
|
||||||
const lastLine = execSync(
|
const lastLine = execSync(
|
||||||
`tmux capture-pane -t '${name}' -p 2>/dev/null | grep -v '^[[:space:]]*$' | tail -1`,
|
`tmux capture-pane -t '${name}' -p 2>/dev/null | grep -v '^[[:space:]]*$' | tail -5`,
|
||||||
{ encoding: "utf-8", timeout: 1000 },
|
{ encoding: "utf-8", timeout: 1000 },
|
||||||
).trim().slice(0, 100);
|
).trim().slice(0, 500);
|
||||||
|
|
||||||
// W03: Beendete Sessions erkennen und explizit markieren.
|
// W03: Beendete Sessions erkennen und explizit markieren.
|
||||||
if (lastLine.includes("Pi beendet") || lastLine.includes("=== Pi beendet ===") || lastLine.includes("Fenster kann geschlossen werden")) {
|
if (lastLine.includes("Pi beendet") || lastLine.includes("=== Pi beendet ===") || lastLine.includes("Fenster kann geschlossen werden")) {
|
||||||
fertigSessions.push(name);
|
fertigSessions.push(name);
|
||||||
return ` • ${name}: ✅ FERTIG → tmux kill-session -t ${name}`;
|
return ` • ${name}: ✅ FERTIG → tmux kill-session -t ${name}`;
|
||||||
}
|
}
|
||||||
return ` • ${name}: ${lastLine || "(leer)"}`;
|
// Dialog-Erkennung: Erlauben/Ablehnen-Prompt sichtbar machen.
|
||||||
|
if (lastLine.includes("Erlauben?") || lastLine.includes("→ Yes") || lastLine.includes("navigate") || lastLine.includes("ACHTUNG:")) {
|
||||||
|
return ` • ${name} ⚠️ WARTET AUF BESTÄTIGUNG:\n${lastLine.split("\n").map(l => ` ${l}`).join("\n")}`;
|
||||||
|
}
|
||||||
|
return ` • ${name}: ${lastLine.split("\n").pop() || "(leer)"}`;
|
||||||
} catch {
|
} catch {
|
||||||
return ` • ${name}`;
|
return ` • ${name}`;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue