#!/bin/bash
# evening-brief.sh - Send evening brief to Telegram at 6pm Sydney
# Cron (UTC): 0 7 * * * /home/clawd/scripts/evening-brief.sh
# (6pm Sydney AEDT = 7am UTC, adjust for daylight savings)

set -e

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

TODAY=$(date +"%b %d, %Y")
TODAY_ISO=$(date +"%Y-%m-%d")

echo "Generating evening brief for $TODAY..."

# ===== 1. FETCH TODAY'S RESULTS =====
echo "Fetching today's stats..."
STATS=$(curl -s "${GROWTH_ENGINE_API}/api/dashboard/stats?date=$TODAY_ISO" 2>/dev/null || echo '{}')

CALLS_TODAY=$(echo "$STATS" | jq -r '.callsToday // 0')
LEADS_CONTACTED=$(echo "$STATS" | jq -r '.leadsContactedToday // 0')
NEW_LEADS=$(echo "$STATS" | jq -r '.newLeadsToday // 0')
CONVERSIONS=$(echo "$STATS" | jq -r '.conversionsToday // 0')

# ===== 2. FETCH SYSTEM STATE =====
echo "Fetching system state..."
SYSTEM_STATE=$(curl -s -X POST "https://api.notion.com/v1/databases/${SYSTEM_STATE_DB}/query" \
    -H "Authorization: Bearer $NOTION_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Notion-Version: 2022-06-28" \
    -d '{}')

# Check for any incidents (non-green status)
INCIDENTS=$(echo "$SYSTEM_STATE" | jq -r '.results[] | select(.properties.Status.select.name != "🟢 Online") | .properties.System.title[0].text.content' | tr '\n' ', ' | sed 's/,$//')
if [ -z "$INCIDENTS" ]; then
    SYSTEM_HEALTH="- All systems: 🟢 Online
- No incidents today"
else
    SYSTEM_HEALTH="- Issues detected: $INCIDENTS"
fi

# ===== 3. FETCH COMPLETED TODAY =====
echo "Fetching completed tasks..."
COMPLETED=$(curl -s -X POST "https://api.notion.com/v1/databases/${WORK_TRACKER_DB}/query" \
    -H "Authorization: Bearer $NOTION_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Notion-Version: 2022-06-28" \
    -d "{
        \"filter\": {
            \"and\": [
                {\"property\": \"Status\", \"select\": {\"equals\": \"Done\"}},
                {\"timestamp\": \"last_edited_time\", \"last_edited_time\": {\"on_or_after\": \"$TODAY_ISO\"}}
            ]
        }
    }")

COMPLETED_LIST=$(echo "$COMPLETED" | jq -r '.results[] | "- \(.properties.Task.title[0].text.content // "Unknown")"' | head -5)
if [ -z "$COMPLETED_LIST" ]; then
    COMPLETED_LIST="- No tasks completed today"
fi

# ===== 4. FETCH IN PROGRESS =====
echo "Fetching in-progress tasks..."
IN_PROGRESS=$(curl -s -X POST "https://api.notion.com/v1/databases/${WORK_TRACKER_DB}/query" \
    -H "Authorization: Bearer $NOTION_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Notion-Version: 2022-06-28" \
    -d '{
        "filter": {
            "or": [
                {"property": "Status", "select": {"equals": "Investigate"}},
                {"property": "Status", "select": {"equals": "Plan"}},
                {"property": "Status", "select": {"equals": "Build"}},
                {"property": "Status", "select": {"equals": "Test"}},
                {"property": "Status", "select": {"equals": "Deploy"}}
            ]
        }
    }')

IN_PROGRESS_LIST=$(echo "$IN_PROGRESS" | jq -r '.results[] | "- \(.properties.Task.title[0].text.content // "Unknown") (\(.properties.Status.select.name // "Unknown") stage)"' | head -3)
if [ -z "$IN_PROGRESS_LIST" ]; then
    IN_PROGRESS_LIST="- No tasks in progress"
fi

# ===== 5. FETCH BLOCKED TASKS =====
echo "Fetching blocked tasks..."
BLOCKED=$(curl -s -X POST "https://api.notion.com/v1/databases/${WORK_TRACKER_DB}/query" \
    -H "Authorization: Bearer $NOTION_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Notion-Version: 2022-06-28" \
    -d '{
        "filter": {
            "property": "Needs Approval",
            "checkbox": {"equals": true}
        }
    }')

BLOCKED_LIST=$(echo "$BLOCKED" | jq -r '.results[] | "- \(.properties.Task.title[0].text.content // "Unknown")"' | head -3)
if [ -z "$BLOCKED_LIST" ]; then
    BLOCKED_LIST="- [None]"
fi

# ===== 6. GENERATE OVERNIGHT PLAN =====
echo "Fetching overnight plan..."
# Get next priorities for CC to work on
NEXT_TASKS=$(curl -s -X POST "https://api.notion.com/v1/databases/${WORK_TRACKER_DB}/query" \
    -H "Authorization: Bearer $NOTION_API_KEY" \
    -H "Content-Type: application/json" \
    -H "Notion-Version: 2022-06-28" \
    -d '{
        "filter": {
            "and": [
                {"property": "Owner", "select": {"equals": "Claude Code"}},
                {"property": "Status", "select": {"does_not_equal": "Done"}}
            ]
        },
        "sorts": [{"property": "Priority", "direction": "ascending"}]
    }')

OVERNIGHT_PLAN=$(echo "$NEXT_TASKS" | jq -r '.results[:2][] | "- CC will work on: \(.properties.Task.title[0].text.content // "Unknown")"')
if [ -z "$OVERNIGHT_PLAN" ]; then
    OVERNIGHT_PLAN="- CC monitoring for issues
- Will alert if anything urgent"
else
    OVERNIGHT_PLAN="$OVERNIGHT_PLAN
- Clawdbot monitoring for SMS replies
- Will alert if anything urgent"
fi

# ===== 7. GENERATE INSIGHT =====
echo "Generating insight..."
CONTEXT="Today: $CALLS_TODAY calls, $LEADS_CONTACTED leads contacted, $NEW_LEADS new leads, $CONVERSIONS conversions"

INSIGHT_RESPONSE=$(curl -s -X POST "https://api.anthropic.com/v1/messages" \
    -H "Content-Type: application/json" \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -d "{
        \"model\": \"claude-3-5-sonnet-20241022\",
        \"max_tokens\": 100,
        \"messages\": [{
            \"role\": \"user\",
            \"content\": \"Based on today's sales activity, give ONE reflection or suggestion for tomorrow (max 2 sentences). Keep it practical. Data: $CONTEXT\"
        }]
    }")

INSIGHT=$(echo "$INSIGHT_RESPONSE" | jq -r '.content[0].text // "Focus on conversion quality over quantity tomorrow."')

# ===== 8. BUILD MESSAGE =====
MESSAGE="🌙 *EVENING BRIEF* | $TODAY

📊 *TODAY'S RESULTS*
- Calls made: $CALLS_TODAY
- Leads contacted: $LEADS_CONTACTED
- New leads added: $NEW_LEADS
- Conversions: $CONVERSIONS

🔧 *SYSTEM HEALTH*
$SYSTEM_HEALTH

✅ *COMPLETED TODAY*
$COMPLETED_LIST

🔄 *IN PROGRESS*
$IN_PROGRESS_LIST

⏳ *BLOCKED (Needs Michael)*
$BLOCKED_LIST

🌙 *OVERNIGHT PLAN*
$OVERNIGHT_PLAN

💡 *INSIGHT*
$INSIGHT"

# ===== 9. SEND TO TELEGRAM =====
echo "Sending to Telegram..."
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

echo "Evening brief sent at $(date)"
