#!/usr/bin/env bash
# Test/run dispatcher for the watch_sceen_ai container.
#
#   smoke  (default)  pytest smoke suite (mock pipeline, no deps, no GPU)
#   voice             python -m wsai --voice  (eyes-free mock voice loop demo)
#   mock              python -m wsai          (full mock flow, few frames)
#   gpu               nvidia-smi — prove the GPU is visible inside the container
#   join              node dave/bot.mjs — LIVE official-bot voice join (needs .env
#                     mounted; honors RUN_MS / GUILD_ID / CHANNEL_ID)
#   shell             drop to bash
set -euo pipefail
cd /app

cmd="${1:-smoke}"; shift || true

case "$cmd" in
  smoke)  exec python -m pytest -q ;;
  voice)  exec python -m wsai --voice ;;
  mock)   exec python -m wsai ;;
  gpu)    exec nvidia-smi ;;
  join)   cd dave && exec node bot.mjs "$@" ;;
  shell)  exec bash ;;
  *)      exec "$cmd" "$@" ;;
esac
