#!/usr/bin/env bash
#
# Устанавливает агента-пресет «Юрист по ПО» в пользовательский корень
# пресетов DeepSeek Harness ($DSH_HOME/.agent-presets/software-lawyer).
#
# Использование:
#   ./agents/software-lawyer/install.sh          # установка (идемпотентно)
#   ./agents/software-lawyer/install.sh --force  # перезаписать существующий пресет
#
# После установки пресет «Юрист по ПО» появляется в списке агентов при
# создании новой сессии (обнаружение пресетов читает каталог при каждом
# вызове, перезапуск не требуется).

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_DIR="$SCRIPT_DIR"
DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
TARGET_DIR="$DSH_HOME/.agent-presets/software-lawyer"

FORCE=0
for arg in "$@"; do
  case "$arg" in
    --force|-f) FORCE=1 ;;
    -h|--help)
      sed -n '2,14p' "$0" | sed 's/^# \{0,1\}//'
      exit 0
      ;;
    *) echo "Неизвестный аргумент: $arg" >&2; exit 2 ;;
  esac
done

if [[ -d "$TARGET_DIR" && "$FORCE" -ne 1 ]]; then
  echo "Пресет уже установлен: $TARGET_DIR"
  echo "Для перезаписи запустите с --force."
  exit 0
fi

mkdir -p "$DSH_HOME/.agent-presets"

if [[ -d "$TARGET_DIR" ]]; then
  rm -rf "$TARGET_DIR"
fi

mkdir -p "$TARGET_DIR"
# Копируем содержимое пресета, исключая сам скрипт установки.
shopt -s dotglob
for entry in "$SOURCE_DIR"/*; do
  [[ "$(basename "$entry")" == "install.sh" ]] && continue
  cp -R "$entry" "$TARGET_DIR"/
done
shopt -u dotglob
# Пресет-каталоги в DSH создаются с правами владельца (0o700/0o600); копия
# наследует umask — приведём к аналогичному виду.
chmod -R u+rwX,go-rwx "$TARGET_DIR"

echo "Установлено: $TARGET_DIR"
echo "Пресет «Юрист по ПО» доступен при создании новой сессии."
