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) => {
|
||||
try {
|
||||
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 },
|
||||
).trim().slice(0, 100);
|
||||
).trim().slice(0, 500);
|
||||
|
||||
// W03: Beendete Sessions erkennen und explizit markieren.
|
||||
if (lastLine.includes("Pi beendet") || lastLine.includes("=== Pi beendet ===") || lastLine.includes("Fenster kann geschlossen werden")) {
|
||||
fertigSessions.push(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 {
|
||||
return ` • ${name}`;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue