#!/usr/bin/env bash
# Stop supervising the keeper in THIS container. Kills ONLY the keeper's own
# processes, matched by their absolute path — never a broad pkill.
set -uo pipefail
DEST="$HOME/.session-keeper"

# drop the cron self-heal line if it exists, so it can't relaunch the supervisor
if command -v crontab >/dev/null 2>&1; then
  ( crontab -l 2>/dev/null | grep -v 'session-keeper/watchdog.sh' ) | crontab - 2>/dev/null || true
fi

# supervisor FIRST (so it stops relaunching), then the keeper. Exact-path match,
# pgrep+kill by pid (no pkill) to avoid hitting anything else.
for p in $(pgrep -f "$DEST/daemon.sh" 2>/dev/null);  do kill "$p" 2>/dev/null || true; done
sleep 1
for p in $(pgrep -f "$DEST/keeper.py" 2>/dev/null);  do kill "$p" 2>/dev/null || true; done

sleep 1
if pgrep -f "$DEST/keeper.py" >/dev/null 2>&1; then
  echo "✗ keeper still running — check: pgrep -af session-keeper"
else
  echo "✓ keeper stopped + unsupervised"
fi