#!/usr/bin/env bash
set -euo pipefail

SELF_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=/usr/local/libexec/brixcli/common.sh
source "${SELF_DIR%/bin}/libexec/brixcli/common.sh"

usage() {
  echo "Usage: reset-agent-session <agent-name>"
}

main() {
  require_root
  load_config
  ensure_runtime_dirs

  local agent="${1:-}"
  [[ -n "${agent}" ]] || { usage; exit 1; }

  validate_agent_name "${agent}"
  agent_must_exist "${agent}"

  systemctl stop "brixcli-agent@${agent}.service" || true
  runuser -u "${agent}" -- tmux kill-session -t main 2>/dev/null || true
  systemctl restart "brixcli-session@${agent}.service"
  systemctl restart "brixcli-agent@${agent}.service"

  printf 'Reset terminal session for %s\n' "${agent}"
}

main "$@"
