#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TMP_DIR="$ROOT/.tmp/operator-handoff"
stop_pid_file() {
  local file="$1" label="$2"
  if [[ ! -f "$file" ]]; then echo "OK: no $label PID file"; return 0; fi
  local pid; pid="$(cat "$file")"
  if [[ "$pid" =~ ^[0-9]+$ ]] && kill -0 "$pid" 2>/dev/null; then
    echo "INFO: stopping $label pid $pid"
    kill "$pid" 2>/dev/null || true
    for _ in $(seq 1 50); do kill -0 "$pid" 2>/dev/null || break; sleep 0.1; done
    if kill -0 "$pid" 2>/dev/null; then echo "WARN: $label still running; sending SIGKILL"; kill -9 "$pid" 2>/dev/null || true; fi
  else
    echo "OK: $label pid not running"
  fi
  rm -f "$file"
}
for name in jarvis-dashboard jarvis-api health-dashboard autoshorts-dashboard autoshorts-api finance-dashboard finance-api; do
  stop_pid_file "$TMP_DIR/$name.pid" "$name"
done
rm -f "$TMP_DIR/handoff.env"
echo "JARVIS operator handoff stopped."
