#!/bin/bash
# install.sh - Installation one-liner pour MendAI (sans Ollama)
set -e

GREEN='\033[0;32m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m'

echo -e "${BLUE}🧠 Installation de MendAI...${NC}"

# Détection OS
if [[ "$(uname)" == "Darwin" ]]; then
    PLATFORM="macos"
else
    PLATFORM="linux"
fi

# Vérifier Python 3.8+
if ! command -v python3 &> /dev/null; then
    echo -e "${RED}❌ Python3 est requis mais introuvable.${NC}"
    exit 1
fi

PY_VERSION=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
if [[ $(echo "$PY_VERSION < 3.8" | bc -l 2>/dev/null || echo "1") -eq 1 ]]; then
    echo -e "${RED}❌ Python $PY_VERSION détecté, la version 3.8 ou supérieure est requise.${NC}"
    exit 1
fi

# Dossier d'installation
MEND_DIR="$HOME/.mend"
mkdir -p "$MEND_DIR"
cd "$MEND_DIR"

# Environnement virtuel
if [ ! -d "venv" ]; then
    echo -e "${BLUE}📦 Création de l'environnement virtuel...${NC}"
    python3 -m venv venv
fi

source venv/bin/activate
pip install --upgrade pip > /dev/null

# Télécharger le CLI et le module d'inférence locale depuis le site
echo -e "${BLUE}📥 Téléchargement de MendAI...${NC}"
curl -sSL https://mendai.pages.dev/mend.py -o mend.py
curl -sSL https://mendai.pages.dev/mendai_infer.py -o mendai_infer.py
chmod +x mend.py

# Créer le wrapper exécutable
cat > mend << 'WRAP'
#!/bin/bash
source "$HOME/.mend/venv/bin/activate"
python3 "$HOME/.mend/mend.py" "$@"
WRAP
chmod +x mend

# Ajouter l'alias permanent
SHELL_NAME=$(basename "$SHELL")
if [[ "$SHELL_NAME" == "bash" ]]; then
    RC="$HOME/.bashrc"
elif [[ "$SHELL_NAME" == "zsh" ]]; then
    RC="$HOME/.zshrc"
else
    RC="$HOME/.profile"
fi

if ! grep -q "alias mend=" "$RC" 2>/dev/null; then
    echo "alias mend='$HOME/.mend/mend'" >> "$RC"
    echo -e "${GREEN}✅ Alias ajouté dans $RC${NC}"
fi

export PATH="$HOME/.mend:$PATH"
echo -e "${GREEN}✅ MendAI installé avec succès !${NC}"
echo -e "${BLUE}➜  Source ton RC ou rouvre le terminal, puis tape : mend .${NC}"

# ------------------------------------------------------------------
# IA locale (optionnelle) — pas d'Ollama, pas d'API externe.
# Le modèle est ton propre fine-tune (voir train_mendai.py sur Colab).
# Ces libs sont lourdes (~3-4 Go avec PyTorch), donc on demande avant.
# ------------------------------------------------------------------
echo ""
read -p "Installer aussi MendAI local (IA, ~4 Go, nécessite d'avoir entraîné ton modèle au préalable) ? [y/N] " INSTALL_AI

if [[ "$INSTALL_AI" =~ ^[Yy]$ ]]; then
    echo -e "${BLUE}📦 Installation des dépendances IA (peut prendre plusieurs minutes)...${NC}"
    pip install torch transformers peft accelerate bitsandbytes > /dev/null
    mkdir -p "$MEND_DIR/model"
    echo -e "${GREEN}✅ Dépendances IA installées.${NC}"
    if [ -f "$MEND_DIR/model/adapter_config.json" ]; then
        echo -e "${GREEN}✅ Adaptateur trouvé dans ~/.mend/model/ — tu peux lancer : mend . --ai${NC}"
    else
        echo -e "${BLUE}➜  Entraîne ton modèle avec train_mendai.py (sur Google Colab, GPU gratuit),"
        echo -e "   puis copie le dossier obtenu dans : $MEND_DIR/model/${NC}"
    fi
else
    echo -e "${BLUE}ℹ️  IA locale ignorée. Tu peux l'installer plus tard avec :${NC}"
    echo -e "   pip install torch transformers peft accelerate bitsandbytes"
fi
