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

# DevFlow PostToolUse Hook — talks to hook-daemon via hook-client
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$SCRIPT_DIR/..}"
source "$SCRIPT_DIR/runtime-node"
DEVFLOW_NODE="$(devflow_resolve_node "$PLUGIN_ROOT")"
CLIENT_JS="$PLUGIN_ROOT/dist/hooks/hook-client.js"
FALLBACK_JS="$PLUGIN_ROOT/dist/hooks/post-tool-use.js"

INPUT="$(cat)"

if [ -f "$CLIENT_JS" ]; then
  "$DEVFLOW_NODE" "$CLIENT_JS" post-tool-use "$INPUT" 2>/dev/null || {
    echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
  }
elif [ -f "$FALLBACK_JS" ]; then
  echo "$INPUT" | DEVFLOW_HOOK_DEGRADED=1 "$DEVFLOW_NODE" "$FALLBACK_JS" 2>/dev/null || true
fi

exit 0
