#!/bin/bash
HOOK_CWD=$(pwd)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
if [ -n "$CLAUDE_PLUGIN_ROOT" ] && [ -d "$CLAUDE_PLUGIN_ROOT" ]; then
PROJECT_ROOT="$(dirname "$CLAUDE_PLUGIN_ROOT")"
else
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
fi
cd "$PROJECT_ROOT" || true
source "${SCRIPT_DIR}/common.sh"
cd "$HOOK_CWD" || true
INPUT=$(cat)
PROMPT=$(echo "$INPUT" | python3 -c "
import sys, json
try:
d = json.load(sys.stdin)
print(d.get('prompt', ''))
except Exception:
print('')
" 2>/dev/null)
if [ -n "$PROMPT" ] && [ ${#PROMPT} -ge 1 ]; then
TODAY=$(date +%Y-%m-%d)
SESSION_TIME=$(date +%H:%M)
case "$MEMORY_DIR" in
/*) MEMORY_FILE="$MEMORY_DIR/$TODAY.md" ;;
*) MEMORY_FILE="$HOOK_CWD/$MEMORY_DIR/$TODAY.md" ;;
esac
mkdir -p "$(dirname "$MEMORY_FILE")"
if [ ! -f "$MEMORY_FILE" ]; then
echo "# $TODAY" > "$MEMORY_FILE"
fi
PREVIEW=$(printf '%s' "$PROMPT" | tr '\n' ' ' | head -c 400)
echo "" >> "$MEMORY_FILE" && \
printf -- '- **%s** (user): ' "$SESSION_TIME" >> "$MEMORY_FILE" && \
printf '%s\n' "$PREVIEW" >> "$MEMORY_FILE"
run_ogmemory index "$MEMORY_FILE" 2>/dev/null || true
fi
echo '{"systemMessage": "[ogmemory] Memory available"}'