#!/bin/sh
# Runs ONE program file from /work. Only .py/.js/.mjs files inside /work are accepted.
set -e
cd /work
f="$1"; [ -n "$f" ] || { echo "usage: qrypt-run <file.py|file.mjs|file.js>" >&2; exit 2; }
p=$(realpath -e -- "$f"); case "$p" in /work/*) ;; *) echo "qrypt-run: file must be inside /work" >&2; exit 2;; esac
[ "$(basename "$p")" = ".env" ] && { echo "qrypt-run: refusing to run .env" >&2; exit 2; }
export PYTHONDONTWRITEBYTECODE=1 HOME=/tmp
case "$p" in
  *.py)  py=python3; [ -x /work/.venv/bin/python ] && py=/work/.venv/bin/python; exec "$py" "$p";;
  *.mjs|*.js) exec node "$p";;
  *) echo "qrypt-run: only .py, .mjs or .js files" >&2; exit 2;;
esac
