#!/bin/bash
# Kipinä Agentic Studio — asennusskripti (Debian/Ubuntu)
set -e

echo "=== Kipinä Agentic Studio — Asennus ==="
echo ""

# Tarkistetaan käyttöjärjestelmä
if [ ! -f /etc/debian_version ]; then
    echo "⚠ Tämä skripti on suunniteltu Debian/Ubuntu-järjestelmille."
    echo "  Muilla jakeluilla voit asentaa riippuvuudet manuaalisesti."
    read -p "  Jatketaanko? (k/e) " -n 1 -r; echo
    [[ $REPLY =~ ^[Kk]$ ]] || exit 1
fi

echo "[1/6] Päivitetään pakettilistaus..."
sudo apt-get update -qq

echo "[2/6] Asennetaan peruspaketteja..."
sudo apt-get install -y -qq curl git build-essential pkg-config libssl-dev

# Rust
if command -v rustc &>/dev/null; then
    echo "[3/6] Rust löytyi: $(rustc --version)"
else
    echo "[3/6] Asennetaan Rust..."
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
    source "$HOME/.cargo/env"
fi

# Node.js (Astro-frontend vaatii)
if command -v node &>/dev/null; then
    echo "[4/6] Node.js löytyi: $(node --version)"
else
    echo "[4/6] Asennetaan Node.js 22..."
    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
    sudo apt-get install -y -qq nodejs
fi

# Ollama
if command -v ollama &>/dev/null; then
    echo "[5/6] Ollama löytyi"
else
    echo "[5/6] Asennetaan Ollama..."
    curl -fsSL https://ollama.ai/install.sh | sh
fi

# Malli
echo "[6/6] Ladataan kielimalli (qwen2.5-coder:3b)..."
ollama pull qwen2.5-coder:3b

echo ""
echo "=== Asennus valmis! ==="
echo ""
echo "Käynnistä:"
echo "  cd $(pwd)"
echo "  ./network-poc/local.sh"
echo ""
echo "Avaa selaimessa: http://localhost:3000"
