#!/usr/bin/env bash
# Install hook for adom-step2glb.
# adom-wiki `pkg install` does NOT pull release assets (unlike old adompkg),
# so this hook downloads the platform binary from the release itself —
# version-pinned from the manifest (same pattern as adom-molecule).
set -euo pipefail

cd "$(dirname "$0")"

DEST="/usr/local/bin/step2glb"
VER="$(grep -o '"version"[^,]*' package.json | grep -o '[0-9][0-9.]*' | head -1)"
BIN_URL="https://wiki.adom.inc/download/adom/adom-step2glb/${VER}/adom-step2glb"
TMP_BIN="$(mktemp)"
if curl -fsSL "$BIN_URL" -o "$TMP_BIN"; then
  if [ -w "$(dirname "$DEST")" ]; then install -m 0755 "$TMP_BIN" "$DEST"; else sudo install -m 0755 "$TMP_BIN" "$DEST"; fi
  # clear stale shadows that would win on PATH (see molecule-pipeline #190 rule 5)
  for shadow in "$HOME/.local/bin/step2glb"; do
    if { [ -e "$shadow" ] || [ -L "$shadow" ]; } && [ "$shadow" != "$DEST" ]; then
      if [ -w "$shadow" ] || [ -w "$(dirname "$shadow")" ]; then rm -f "$shadow"; else sudo rm -f "$shadow"; fi
    fi
  done
  echo "OK: installed step2glb ${VER} binary -> $DEST"
elif [ -f adom-step2glb ]; then
  echo "WARN: release download failed; using tarball-local binary" >&2
  if [ -w "$(dirname "$DEST")" ]; then install -m 0755 adom-step2glb "$DEST"; else sudo install -m 0755 adom-step2glb "$DEST"; fi
else
  echo "WARN: no binary available; skills only" >&2
fi

SKILL_DIR="$HOME/.claude/skills/adom-step2glb"

if [ -f SKILL.md ] || [ -d skills ]; then
  mkdir -p "$SKILL_DIR"
  [ -f SKILL.md ] && cp SKILL.md "$SKILL_DIR/SKILL.md"
  [ -d skills ] && cp -r skills/. "$SKILL_DIR/"
  echo "OK: installed adom-step2glb skill -> $SKILL_DIR"
else
  echo "OK: adom-step2glb (no skill payload; binary delivered via release asset)"
fi
