#!/bin/bash
# SubStatus — Subagent-Status-Übersicht (W04)
#
# Zeigt alle laufenden tmux-Sessions mit Status + letztem Output.
# Markiert beendete Sessions mit Kill-Befehl.
# Kombiniert tmux ls + intercom list in einer Übersicht.
#
# Nutzung: SubStatus

echo "=== Subagent-Status $(date '+%H:%M:%S') ==="
echo ""

SESSIONS=$(tmux ls -F '#{session_name}|#{session_attached}' 2>/dev/null || echo "")

if [ -z "$SESSIONS" ]; then
    echo "  (keine aktiven tmux-Sessions)"
    echo ""
else
    echo "── tmux-Sessions ──────────────────────────────────────────"
    FERTIG_SESSIONS=()

    while IFS='|' read -r name attached; do
        LAST=$(tmux capture-pane -t "$name" -p 2>/dev/null | grep -v '^[[:space:]]*$' | tail -1 | cut -c1-80)
        ATTACH_SYMBOL="  "
        [ "$attached" = "1" ] && ATTACH_SYMBOL="[W]"

        if echo "$LAST" | grep -qE "Pi beendet|Fenster kann geschlossen werden"; then
            echo "  [FERTIG] $name"
            echo "     last: $LAST"
            FERTIG_SESSIONS+=("$name")
        else
            echo "  $ATTACH_SYMBOL $name"
            echo "     last: ${LAST:-(leer)}"
        fi
        echo ""
    done <<< "$SESSIONS"

    if [ ${#FERTIG_SESSIONS[@]} -gt 0 ]; then
        echo "── Fertige Sessions schliessen ─────────────────────────────"
        for s in "${FERTIG_SESSIONS[@]}"; do
            echo "  tmux kill-session -t $s"
        done
        echo ""
    fi
fi

echo "── intercom ────────────────────────────────────────────────"
intercom list 2>/dev/null || echo "  (intercom nicht verfügbar)"
echo ""
