#!/bin/bash
set -e

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "=== Kipinä Studio Local Development ==="

# Frontend
echo "[1/3] Rakennetaan frontend..."
cd "$SCRIPT_DIR/frontend"
[ -d node_modules ] || npm install --silent
npm run build --silent 2>&1 | tail -1

# Hub
echo "[2/3] Käynnistetään hub..."
cd "$SCRIPT_DIR/hub"
cargo run &
HUB_PID=$!
sleep 3

# Native-node (jos Ollama on käynnissä)
if curl -s http://localhost:11434/api/tags >/dev/null 2>&1; then
    echo "[3/3] Ollama löytyi — käynnistetään native-node..."
    cd "$SCRIPT_DIR/native-node"
    HUB_URL=ws://localhost:3000/ws cargo run --no-default-features &
    NODE_PID=$!
    echo "      Native-node PID: $NODE_PID"
else
    echo "[3/3] Ollama ei käynnissä — käytetään selaimen Wasm-laskentaa"
    echo "      Nopeampi: ollama serve & ollama pull qwen2.5-coder:7b && ./local.sh"
fi

echo ""
echo "=== http://localhost:3000 ==="
echo "    Ctrl+C pysäyttää"

# Odotetaan hub-prosessia
wait $HUB_PID
