#!/bin/sh
# Launcher for mirasim-relay.mjs.
#
# Resolution order for the runtime, widest-override-first:
#   1. $MIRASIM_NODE   — explicit override
#   2. node on PATH    — needs >= 18 for global fetch; >= 20 in practice
#   3. vendor/node     — the v22 binary shipped inside mirasim-server-linux-x64, kept
#                        alongside this script so the tool is self-contained on a box
#                        with no system Node at all.
set -eu

DIR="$(cd "$(dirname "$0")" && pwd)"
SCRIPT="$DIR/mirasim-relay.mjs"

if [ -n "${MIRASIM_NODE:-}" ]; then
  NODE="$MIRASIM_NODE"
elif command -v node >/dev/null 2>&1; then
  NODE="$(command -v node)"
elif [ -x "$DIR/vendor/node" ]; then
  NODE="$DIR/vendor/node"
else
  echo "mirasim-relay: no Node.js runtime found (set MIRASIM_NODE, install node >= 20, or restore vendor/node)" >&2
  exit 1
fi

exec "$NODE" "$SCRIPT" "$@"
