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

PACK_DIR=${PACK_DIR:-"$DEVENV_ROOT"}

if [[ ! -f "$PACK_DIR/pack.toml" ]]; then
  echo "error: $PACK_DIR/pack.toml not found (set PACK_DIR)" >&2
  exit 1
fi

echo "== packwiz refresh"
(cd "$PACK_DIR" && packwiz refresh)

echo "== side-metadata lint"
fail=0
shopt -s nullglob
for f in "$PACK_DIR"/mods/*.pw.toml; do
  if ! grep -q '^side = ' "$f"; then
    echo "error: $f missing 'side' entry" >&2
    fail=1
  fi
done
grep -h '^side = ' "$PACK_DIR"/mods/*.pw.toml 2>/dev/null | sort | uniq -c || true
[[ $fail -eq 0 ]] || exit 1

echo "== mrpack export"
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' EXIT
(cd "$PACK_DIR" && packwiz modrinth export -o "$tmp/test.mrpack")
ls -la "$tmp/test.mrpack"

echo "== PASS: pack is valid (refresh + side metadata + export)"
