#!/bin/bash
# Kipinä Node — lataa oikea binääri ja käynnistä
set -e

BASE_URL="https://kipina.studio/download"
HUB_URL="${KIPINA_HUB:-wss://kipina.studio/ws}"
MODEL="${KIPINA_MODEL:-qwen2.5-coder:3b}"

# Tunnista OS ja arkkitehtuuri
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)

case "$OS-$ARCH" in
    darwin-arm64)  BINARY="kipina-node-macos-arm64" ;;
    darwin-x86_64) BINARY="kipina-node-macos-arm64" ;; # Rosetta
    linux-x86_64)  BINARY="kipina-node-linux-x86_64" ;;
    linux-aarch64) BINARY="kipina-node-linux-arm64" ;;
    *) echo "Ei tuettu: $OS-$ARCH"; exit 1 ;;
esac

echo ""
echo "  ╔══════════════════════════════════════╗"
echo "  ║       Kipinä Agentic Node            ║"
echo "  ╚══════════════════════════════════════╝"
echo ""
echo "  OS: $OS ($ARCH)"
echo "  Hub: $HUB_URL"
echo "  Malli: $MODEL"
echo ""

# Tarkista Ollama
if ! command -v ollama &>/dev/null; then
    echo "  ✗ Ollama ei ole asennettu."
    echo "    Asenna: curl -fsSL https://ollama.ai/install.sh | sh"
    echo "    macOS:  brew install ollama"
    exit 1
fi

# Varmista Ollama käynnissä
if ! curl -s http://localhost:11434/api/tags &>/dev/null; then
    echo "  Käynnistetään Ollama..."
    ollama serve &>/dev/null &
    sleep 3
fi
echo "  ✓ Ollama käynnissä"

# Lataa malli
if ! ollama list 2>/dev/null | grep -q "$MODEL"; then
    echo "  Ladataan $MODEL..."
    ollama pull "$MODEL"
fi
echo "  ✓ Malli $MODEL valmis"

# Lataa binääri
BIN_PATH="./kipina-node-bin"
if [ ! -f "$BIN_PATH" ]; then
    echo "  Ladataan $BINARY..."
    curl -sSL "$BASE_URL/$BINARY" -o "$BIN_PATH"
    chmod +x "$BIN_PATH"
fi

echo ""
echo "  ✓ Yhdistetään laskentaverkkoon..."
echo "    Ctrl+C pysäyttää"
echo ""

HUB_URL="$HUB_URL" OLLAMA_MODEL="$MODEL" exec "$BIN_PATH"
