#!/bin/bash

# Check the operating system
OS="$(uname -s)"

# --- Setup for macOS ---
if [ "$OS" == "Darwin" ]; then
    echo "Detected macOS. Using Homebrew for setup."

    # Check for Homebrew, install if not present
    if ! command -v brew &> /dev/null; then
        echo "Homebrew not found. Please install it first:"
        echo '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"'
        exit 1
    fi

    echo "Updating Homebrew..."
    brew update

    echo "Installing Node.js..."
    brew install node

# --- Setup for Linux (Debian/Ubuntu) ---
elif [ "$OS" == "Linux" ]; then
    echo "Detected Linux. Assuming Debian/Ubuntu-based system for setup."

    # Update package list
    sudo apt-get update

    # Install curl if not installed
    if ! command -v curl &> /dev/null; then
        sudo apt-get install -y curl
    fi

    # Download and run NodeSource setup script for Node.js 18.x
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

    # Install Node.js
    sudo apt-get install -y nodejs

else
    echo "Unsupported operating system: $OS"
    exit 1
fi

# --- Common Steps ---
# Check versions installed
node -v
npm -v
pip install -e ./ai-hub

# Install concurrently globally
echo "Installing concurrently globally..."
npm install -g concurrently

echo "Setup complete!"