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

CISPAR_DIR="${CISPAR_DIR:-$HOME/.cispar}"
REPO="https://github.com/TU_USUARIO/cispar-soc"  # cambia esto
VERSION="${CISPAR_VERSION:-latest}"

echo "Installing CISPAR SOC Agent..."

# Check Node 22+
if ! command -v node &>/dev/null; then
  echo "ERROR: Node.js 22+ required. Install from https://nodejs.org" >&2
  exit 1
fi
NODE_MAJOR=$(node -e "process.stdout.write(process.version.slice(1).split('.')[0])")
if [ "$NODE_MAJOR" -lt 22 ]; then
  echo "ERROR: Node.js 22+ required (found v${NODE_MAJOR}.x)" >&2
  exit 1
fi

# Check required env vars
REQUIRED_VARS="GEMINI_API_KEY GROQ_API_KEY"
for var in $REQUIRED_VARS; do
  if [ -z "${!var:-}" ]; then
    echo "WARNING: $var is not set. Set it in ~/.cispar/.env before starting." >&2
  fi
done

# Install via npm
if command -v npm &>/dev/null; then
  echo "Installing cispar-soc from npm..."
  npm install -g cispar-soc@${VERSION}
  echo ""
  echo "CISPAR installed. Usage:"
  echo "  cispar gateway                     # start SOC agent"
  echo "  AXEL_IA_CONFIG_PATH=~/.cispar/axel-ia.json cispar gateway"
  exit 0
fi

# Fallback: clone from git
echo "npm not found, cloning from git..."
mkdir -p "$CISPAR_DIR"
if [ -d "$CISPAR_DIR/.git" ]; then
  git -C "$CISPAR_DIR" pull --rebase
else
  git clone --depth 1 "$REPO" "$CISPAR_DIR"
fi
cd "$CISPAR_DIR"
npm install --omit=dev
npm link

echo ""
echo "CISPAR SOC Agent installed at $CISPAR_DIR"
echo ""
echo "Setup:"
echo "  1. Copy your API keys to $CISPAR_DIR/.env"
echo "  2. Run: cispar gateway"
