diff --git a/extensions/arbeitsweise-guard.ts b/extensions/arbeitsweise-guard.ts index c72c78c..daa241a 100644 --- a/extensions/arbeitsweise-guard.ts +++ b/extensions/arbeitsweise-guard.ts @@ -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}`; }