o: fix tui event subscription - use IDs not names
Event topics use session/agent IDs, not names. Look up IDs from the idx files before subscribing to state events.
This commit is contained in:
parent
f490d4eef2
commit
b5138fd55e
|
|
@ -422,22 +422,29 @@ cmd_tui() {
|
||||||
tmux set-option -t "$tmux_session" status-right "starting... | %H:%M"
|
tmux set-option -t "$tmux_session" status-right "starting... | %H:%M"
|
||||||
tmux set-option -t "$tmux_session" status-right-length 64
|
tmux set-option -t "$tmux_session" status-right-length 64
|
||||||
|
|
||||||
# Subscribe to state events for this agent only
|
# Get session and agent IDs for event subscription
|
||||||
echo "session.${s}.agent.${a}.state" | ollie-9p rdwrs event 2>/dev/null | while read -r topic state; do
|
local sess_id agent_id
|
||||||
bg=""
|
sess_id=$(ollie-9p read "session/idx" 2>/dev/null | awk -F'\t' -v name="$s" '$2 == name { print $1; exit }')
|
||||||
case "$state" in
|
agent_id=$(ollie-9p read "session/$s/agent/idx" 2>/dev/null | awk -F'\t' -v name="$a" '$3 == name { print $2; exit }')
|
||||||
idle) bg="colour70" ;;
|
|
||||||
calling*) bg="colour214" ;;
|
if [[ -n "$sess_id" && -n "$agent_id" ]]; then
|
||||||
thinking) bg="colour33" ;;
|
# Subscribe to state events for this agent
|
||||||
paused) bg="colour245" ;;
|
echo "session.${sess_id}.agent.${agent_id}.state" | ollie-9p rdwrs event 2>/dev/null | while read -r topic state; do
|
||||||
*) bg="default" ;;
|
bg=""
|
||||||
esac
|
case "$state" in
|
||||||
tmux set-option -t "$tmux_session" status-right-style "fg=default,bg=$bg" 2>/dev/null
|
idle) bg="colour70" ;;
|
||||||
status=$(ollie-9p read "${PREFIX}/status" 2>/dev/null | head -n1)
|
calling*) bg="colour214" ;;
|
||||||
tmux set-option -t "$tmux_session" status-right "${status:-$state} | %H:%M" 2>/dev/null
|
thinking) bg="colour33" ;;
|
||||||
done &
|
paused) bg="colour245" ;;
|
||||||
local bg_pid=$!
|
*) bg="default" ;;
|
||||||
trap "kill $bg_pid 2>/dev/null" EXIT
|
esac
|
||||||
|
tmux set-option -t "$tmux_session" status-right-style "fg=default,bg=$bg" 2>/dev/null
|
||||||
|
status=$(ollie-9p read "${PREFIX}/status" 2>/dev/null | head -n1)
|
||||||
|
tmux set-option -t "$tmux_session" status-right "${status:-$state} | %H:%M" 2>/dev/null
|
||||||
|
done &
|
||||||
|
local bg_pid=$!
|
||||||
|
trap "kill $bg_pid 2>/dev/null" EXIT
|
||||||
|
fi
|
||||||
|
|
||||||
tmux select-pane -t "${tmux_session}:0.1"
|
tmux select-pane -t "${tmux_session}:0.1"
|
||||||
exec tmux attach -t "$tmux_session"
|
exec tmux attach -t "$tmux_session"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue