#!/bin/sh
set -eu
umask 077
SOURCE=$0
while [ -L "$SOURCE" ]; do
  DIRECTORY=$(CDPATH= cd -- "$(dirname -- "$SOURCE")" && pwd -P)
  LINK=$(readlink "$SOURCE")
  case "$LINK" in /*) SOURCE=$LINK ;; *) SOURCE=$DIRECTORY/$LINK ;; esac
done
RELEASE=$(CDPATH= cd -- "$(dirname -- "$SOURCE")/.." && pwd -P)
# Homebrew's versioned Node formula is keg-only. Prefer its known paths without
# invoking Homebrew or changing the user's shell configuration on every launch.
for NODE_BIN in /opt/homebrew/opt/node@22/bin /usr/local/opt/node@22/bin; do
  if [ -x "$NODE_BIN/node" ]; then PATH="$NODE_BIN:$PATH"; break; fi
done
export PATH
PYTHON=${SOPHIA_BOT_RELEASE_PYTHON:-python3.12}
command -v "$PYTHON" >/dev/null 2>&1 || { echo "Sophia Bot needs Python 3.12. Install with Homebrew, or provide python3.12 on PATH." >&2; exit 1; }
export SOPHIA_BOT_RELEASE_ROOT="$RELEASE"
export SOPHIA_BOT_DISTRIBUTION="${SOPHIA_BOT_DISTRIBUTION:-standalone}"
export PYTHONPATH="$RELEASE/app:$RELEASE/runtime:$RELEASE/vendor/python"
export PYTHONNOUSERSITE=1 PYTHONDONTWRITEBYTECODE=1
exec "$PYTHON" -P -m sophiabot.product_runtime "$@"
