#!/usr/bin/env bash

echo "Installing dependencies..."
pnpm install

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd -P)"

resolve_path() {
  local target="$1"
  cd "$(dirname "$target")" 2>/dev/null || { echo ""; return; }
  target="$(basename "$target")"
  while [ -L "$target" ]; do
    target="$(readlink "$target")"
    cd "$(dirname "$target")" 2>/dev/null || { echo ""; return; }
    target="$(basename "$target")"
  done
  echo "$(pwd -P)/$target"
}

needs_link=false
if ! command -v pi-bot &> /dev/null; then
  needs_link=true
elif [ -L "$(command -v pi-bot)" ]; then
  current_target="$(resolve_path "$(command -v pi-bot)")"
  expected_target="$(resolve_path "$PROJECT_DIR/bin/pi-bot.ts")"
  if [ "$current_target" != "$expected_target" ]; then
    needs_link=true
  fi
fi

if [ "$needs_link" = true ]; then
  echo "Registering pi-bot CLI globally..."
  pnpm link --global
fi