#!/bin/bash
# SessionStart hook — .claude/live/ 전량 로드 + 자동 비우기 (세션 시작 시)
# 세션 재시작 시 원본이 새로 로드되므로 더미는 역할 완료 → 비우기
# 흐름: 더미 로드(알림) → 더미 삭제 → 증분 카운터 정리

REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
[ -z "$REPO_ROOT" ] && exit 0

LIVE_DIR="$REPO_ROOT/.live"
[ ! -d "$LIVE_DIR" ] && exit 0

THROTTLE_DIR="$HOME/.claude/.burningtimes_throttle"
mkdir -p "$THROTTLE_DIR" 2>/dev/null

OUTPUT=""
TOTAL_CHARS=0
MAX_CHARS=8000
FILE_COUNT=0

for LIVE_FILE in "$LIVE_DIR"/*.md "$LIVE_DIR"/*.json; do
  [ ! -f "$LIVE_FILE" ] && continue
  BASENAME=$(basename "$LIVE_FILE")
  [ "$BASENAME" = "README.md" ] && continue

  CONTENT=$(head -c $MAX_CHARS "$LIVE_FILE" 2>/dev/null)
  CHARS=${#CONTENT}

  if [ "$CHARS" -gt 0 ] && [ $((TOTAL_CHARS + CHARS)) -lt $MAX_CHARS ]; then
    OUTPUT="$OUTPUT
[LIVE:$BASENAME]
$CONTENT
"
    TOTAL_CHARS=$((TOTAL_CHARS + CHARS + 30))
    FILE_COUNT=$((FILE_COUNT + 1))

    # 증분 카운터를 현재 줄 수로 설정 (다음 턴부터 증분 추적)
    FILE_HASH=$(echo "$LIVE_FILE" | sha1sum 2>/dev/null | cut -d' ' -f1)
    TOTAL_LINES=$(wc -l < "$LIVE_FILE" 2>/dev/null || echo 0)
    echo "$TOTAL_LINES" > "$THROTTLE_DIR/live_lastline_$FILE_HASH"
  fi
done

if [ "$FILE_COUNT" -gt 0 ]; then
  echo "📝 [Live 세션 로드] ${FILE_COUNT}개 더미 파일:$OUTPUT"

  # 원본이 새로 로드되었으므로 더미 파일 자동 비우기 (README.md 제외)
  CLEANED=0
  for LIVE_FILE in "$LIVE_DIR"/*.md "$LIVE_DIR"/*.json; do
    [ ! -f "$LIVE_FILE" ] && continue
    BASENAME=$(basename "$LIVE_FILE")
    [ "$BASENAME" = "README.md" ] && continue
    rm -f "$LIVE_FILE" 2>/dev/null && CLEANED=$((CLEANED + 1))
  done

  # 증분 카운터도 정리
  rm -f "$THROTTLE_DIR"/live_lastline_* 2>/dev/null

  if [ "$CLEANED" -gt 0 ]; then
    echo "🧹 [Live 정리] ${CLEANED}개 더미 파일 자동 삭제 완료 (원본 로드됨)"
  fi
fi

exit 0
