#!/usr/bin/env bash
set -euo pipefail

REGISTRY_URL="https://api.blockmachine.io"

echo "Blockmachine CLI Install"

if ! command -v python3 >/dev/null; then
  echo "Error: Python 3 is required."
  echo "Install: https://python.org"
  exit 1
fi

if command -v bm >/dev/null; then
  echo "bm is already installed: $(command -v bm)"
  echo "Upgrade: pip3 install --upgrade blockmachine"
  exit 0
fi

echo "Installing Blockmachine CLI..."

if command -v uv >/dev/null; then
  uv tool install blockmachine
else
  pip3 install --user blockmachine
  export PATH="$HOME/.local/bin:$PATH"
fi

if ! command -v bm >/dev/null; then
  echo ""
  echo "Installed, but bm is not on your PATH."
  echo "Add this to your shell profile (~/.bashrc, ~/.zshrc):"
  echo ""
  echo "  export PATH=\"\$HOME/.local/bin:\$PATH\""
  echo ""
  echo "Then restart your shell or run: source ~/.bashrc"
  exit 1
fi

mkdir -p "$HOME/.blockmachine"
cat > "$HOME/.blockmachine/config.json" <<JSON
{
  "api_url": "${REGISTRY_URL}"
}
JSON

echo ""
echo "Done. Registry URL set to ${REGISTRY_URL}"
echo "Run 'bm login' to authenticate."
