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

VERSION="${HONGJING_VERSION:-2.2.6}"
DIR="${HONGJING_DIR:-$HOME/hongjing}"
NAME="${HONGJING_NAME:-wsl-agent}"
SERVER="${HONGJING_SERVER:-wss://hongjing2.aimusic.win/ws}"
PLATFORM_URL="https://file.aimusic.win/gemma/platform-linux-amd64-${VERSION}"
PLATFORM_SHA256="d6b45d998daccef8a7e59afbb69b3a3c04948205a9aea384a8e275660a08b28f"

mkdir -p "$DIR"
cd "$DIR"

curl -fL "$PLATFORM_URL" -o platform.tmp
actual="$(sha256sum platform.tmp | awk '{print $1}')"
if [ "$actual" != "$PLATFORM_SHA256" ]; then
  echo "platform sha256 mismatch: got $actual want $PLATFORM_SHA256" >&2
  rm -f platform.tmp
  exit 1
fi

chmod +x platform.tmp

cat > restart-platform.sh <<EOF
#!/usr/bin/env bash
set -euo pipefail
cd "$DIR"
sleep 1
pkill -f "$DIR/platform" 2>/dev/null || true
pkill -f "$DIR/plugins/linux/linux" 2>/dev/null || true
mv platform.tmp platform
rm -rf plugins
nohup ./platform -server "$SERVER" -name "$NAME" > platform.log 2>&1 &
echo \\\$! > platform.pid
EOF
chmod +x restart-platform.sh
nohup ./restart-platform.sh > restart-platform.log 2>&1 &

sleep 3
echo "hongjing platform restart scheduled: dir=$DIR, name=$NAME"
echo "--- platform.log ---"
tail -n 80 platform.log 2>/dev/null || true
echo "--- restart-platform.log ---"
tail -n 80 restart-platform.log 2>/dev/null || true
