#!/usr/bin/env bash
set -e
export PATH="/opt/homebrew/bin:/usr/local/bin:$HOME/.runfirst-agent/node-runtime/bin:$HOME/.nvm/versions/node/$(ls $HOME/.nvm/versions/node 2>/dev/null | tail -n 1)/bin:$PATH"
mkdir -p "$HOME/.runfirst-agent"

if ! command -v node >/dev/null 2>&1; then
  echo "========================================================"
  echo "  首次启动：正在从国内镜像下载轻量 Node 运行环境 (~35MB)..."
  echo "========================================================"
  ARCH="$(uname -m)"
  if [ "$ARCH" = "arm64" ]; then
    NODE_DIST="node-v22.14.0-darwin-arm64"
  else
    NODE_DIST="node-v22.14.0-darwin-x64"
  fi
  mkdir -p "$HOME/.runfirst-agent/node-runtime"
  curl -fL --progress-bar "https://npmmirror.com/mirrors/node/v22.14.0/${NODE_DIST}.tar.gz" | tar -xz -C "$HOME/.runfirst-agent/node-runtime" --strip-components=1
  export PATH="$HOME/.runfirst-agent/node-runtime/bin:$PATH"
fi

lsof -ti:4399 | xargs kill -9 2>/dev/null || true

APP_ROOT="$(cd "$(dirname "$0")/../Resources/app" && pwd)"
cd "$APP_ROOT"
nohup env OPEN_CLIENT_GUI=1 node apps/runner/src/index.mjs --open-gui > "$HOME/.runfirst-agent/client.log" 2>&1 &
sleep 1
open "http://127.0.0.1:4399" 2>/dev/null || true
