#!/bin/bash
set -euo pipefail
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
STATE_DIR="${REPO_ROOT}/.claude/state"
if [[ ! -d "$STATE_DIR" ]]; then
echo '{"continue": true, "message": "No state directory"}'
exit 0
fi
if [[ -L "$STATE_DIR" ]]; then
echo '{"continue": true, "message": "State directory is symlink, skipping"}'
exit 0
fi
cleanup_files=(
"pending-skill.json"
"current-operation.json"
)
for filename in "${cleanup_files[@]}"; do
file="${STATE_DIR}/${filename}"
if [[ -f "$file" && ! -L "$file" ]]; then
rm -f "$file" 2>/dev/null || true
fi
done
for file in "${STATE_DIR}"/inbox-*.tmp; do
if [[ -f "$file" && ! -L "$file" ]]; then
rm -f "$file" 2>/dev/null || true
fi
done
echo '{"continue": true, "message": "Session cleanup completed"}'