#!/bin/bash
# trigger-cc.sh - Trigger Claude Code to work on tasks from Work Tracker
# Runs as ccuser (non-root) to allow --dangerously-skip-permissions

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/config.env"

TASK_FILTER="${1:-next}"
LOG_FILE="/var/log/clawdbot/cc-trigger.log"
PID_FILE="/tmp/claude-code.pid"
OUTPUT_FILE="/tmp/cc-output.txt"

mkdir -p /var/log/clawdbot
touch "$OUTPUT_FILE"
chmod 666 "$OUTPUT_FILE"

log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

send_telegram() {
    local message="$1"
    curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
        -d chat_id="$TELEGRAM_CHAT_ID" \
        -d text="$message" \
        -d parse_mode="Markdown" \
        > /dev/null 2>&1
}

# Check if CC is already running
if [ -f "$PID_FILE" ]; then
    OLD_PID=$(cat "$PID_FILE")
    if ps -p "$OLD_PID" > /dev/null 2>&1; then
        log "CC already running (PID: $OLD_PID)"
        send_telegram "CC already running (PID: $OLD_PID). Use /stop first."
        exit 1
    else
        rm -f "$PID_FILE"
    fi
fi

log "Starting Claude Code trigger: $TASK_FILTER"
send_telegram "Starting Claude Code - Mode: $TASK_FILTER"

# Build the prompt based on filter
if [ "$TASK_FILTER" = "all" ]; then
    PROMPT="Read Work Tracker in Notion (DB: $WORK_TRACKER_DB). Find ALL tasks where Owner=Claude Code or empty, Status!=Done. Work through each: Investigate, Plan, Build, Test, Deploy, Learn. Update Notion. Summarize."
elif [ "$TASK_FILTER" = "next" ]; then
    PROMPT="Read Work Tracker in Notion (DB: $WORK_TRACKER_DB). Find HIGHEST PRIORITY task where Owner=Claude Code or empty, Status!=Done. Priority: P0>P1>P2>P3. Work on ONE task: Investigate, Plan, Build, Test, Deploy, Learn. Update Notion. Summarize."
else
    PROMPT="Read Work Tracker in Notion (DB: $WORK_TRACKER_DB). Find task: $TASK_FILTER. Work on it: Investigate, Plan, Build, Test, Deploy, Learn. Update Notion. Summarize."
fi

# Run Claude Code as ccuser (non-root) in background
(
    su - ccuser -c "cd /home/ccuser/rateright-growth && /home/ccuser/.local/bin/claude -p '$PROMPT' --allowedTools Bash,Read,Write,Edit,Grep,Glob --dangerously-skip-permissions --model sonnet" 2>&1 | tee "$OUTPUT_FILE"

    SUMMARY=$(tail -30 "$OUTPUT_FILE")
    send_telegram "CC Complete: $SUMMARY"

    rm -f "$PID_FILE"
    log "Claude Code completed"
) &

echo $! > "$PID_FILE"
log "Claude Code started with PID: $(cat $PID_FILE)"
echo "CC started. PID: $(cat $PID_FILE)"
