#!/usr/bin/env sh
# --- BEGIN BEADS INTEGRATION v1.0.5 ---
# This section is managed by beads. Do not remove these markers.
if command -v bd >/dev/null 2>&1; then
  export BD_GIT_HOOK=1
  _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
  _bd_used_perl=0
  if command -v timeout >/dev/null 2>&1; then
    timeout "$_bd_timeout" bd hooks run pre-push "$@"
    _bd_exit=$?
  elif command -v gtimeout >/dev/null 2>&1; then
    gtimeout "$_bd_timeout" bd hooks run pre-push "$@"
    _bd_exit=$?
  elif command -v perl >/dev/null 2>&1; then
    _bd_used_perl=1
    perl -e 'alarm shift; exec @ARGV' "$_bd_timeout" bd hooks run pre-push "$@"
    _bd_exit=$?
  else
    echo >&2 "beads: hook 'pre-push' running without timeout; install coreutils or perl to enable BEADS_HOOK_TIMEOUT"
    bd hooks run pre-push "$@"
    _bd_exit=$?
  fi
  if [ $_bd_exit -eq 124 ] || { [ $_bd_used_perl -eq 1 ] && [ $_bd_exit -eq 142 ]; }; then
    echo >&2 "beads: hook 'pre-push' timed out after ${_bd_timeout}s — continuing without beads"
    _bd_exit=0
  fi
  if [ $_bd_exit -eq 3 ]; then
    echo >&2 "beads: database not initialized — skipping hook 'pre-push'"
    _bd_exit=0
  fi
  if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
fi
# --- END BEADS INTEGRATION v1.0.5 ---
