#!/bin/bash
# voice-task-processor.sh
# Simple voice message task extraction and logging
# Proof of concept for voice message automation

set -e

echo "🎤 VOICE TASK PROCESSOR"
echo "======================"
echo ""

# Simulated voice transcription (in real system, would come from Telegram/Whisper)
VOICE_TEXT="$1"

if [ -z "$VOICE_TEXT" ]; then
    echo "Usage: ./voice-task-processor.sh \"Transcribed voice message text\""
    echo ""
    echo "Example: ./voice-task-processor.sh \"Research competitor pricing for construction platforms\""
    exit 1
fi

echo "Processing voice message:"
echo "\"$VOICE_TEXT\""
echo ""

# Task detection patterns
TASK_PATTERNS=(
    "research"
    "build"
    "create"
    "make"
    "implement"
    "add"
    "fix"
    "debug"
    "check"
    "audit"
    "review"
    "analyze"
    "investigate"
    "look into"
    "find out"
)

# System routing
ROUTE_RESEARCH=(
    "research"
    "analyze"
    "investigate"
    "look into"
    "find out"
    "what is"
    "how does"
)

ROUTE_DEVELOPMENT=(
    "build"
    "create"
    "make"
    "implement"
    "add"
    "develop"
    "code"
)

ROUTE_FIXES=(
    "fix"
    "debug"
    "repair"
    "solve"
    "troubleshoot"
)

ROUTE_AUDIT=(
    "check"
    "audit"
    "review"
    "verify"
    "validate"
)

# Determine task type
TASK_TYPE="UNKNOWN"
PRIORITY="P2"

# Check for urgent keywords
if [[ "$VOICE_TEXT" =~ (urgent|critical|important|asap|now|immediately) ]]; then
    PRIORITY="P0"
elif [[ "$VOICE_TEXT" =~ (today|tomorrow|this week|soon) ]]; then
    PRIORITY="P1"
fi

# Route to appropriate system
ROUTE=""

for pattern in "${ROUTE_RESEARCH[@]}"; do
    if [[ "$VOICE_TEXT" =~ $pattern ]]; then
        ROUTE="RESEARCH"
        TASK_TYPE="research"
        break
    fi
done

if [ -z "$ROUTE" ]; then
    for pattern in "${ROUTE_DEVELOPMENT[@]}"; do
        if [[ "$VOICE_TEXT" =~ $pattern ]]; then
            ROUTE="DEVELOPMENT"
            TASK_TYPE="development"
            break
        fi
    done
fi

if [ -z "$ROUTE" ]; then
    for pattern in "${ROUTE_FIXES[@]}"; do
        if [[ "$VOICE_TEXT" =~ $pattern ]]; then
            ROUTE="FIX"
            TASK_TYPE="fix"
            PRIORITY="P1" # Fixes are usually higher priority
            break
        fi
    done
fi

if [ -z "$ROUTE" ]; then
    for pattern in "${ROUTE_AUDIT[@]}"; do
        if [[ "$VOICE_TEXT" =~ $pattern ]]; then
            ROUTE="AUDIT"
            TASK_TYPE="audit"
            break
        fi
    done
fi

if [ -z "$ROUTE" ]; then
    ROUTE="GENERAL"
    TASK_TYPE="task"
fi

echo "📊 ANALYSIS RESULTS:"
echo "  Task Type: $TASK_TYPE"
echo "  Priority:  $PRIORITY"
echo "  Route:     $ROUTE"
echo ""

# Create task entry
TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
TASK_ID="VOICE-$(date +%Y%m%d-%H%M%S)"

echo "📝 TASK CREATED:"
echo "  ID:       $TASK_ID"
echo "  From:     Voice Message"
echo "  Time:     $TIMESTAMP"
echo "  Priority: $PRIORITY"
echo "  Text:     $VOICE_TEXT"
echo ""

# Route to appropriate system
case $ROUTE in
    "RESEARCH")
        echo "🎯 ROUTING: Research Agent"
        echo "  File: .claude/RESEARCH-MD.md"
        echo ""
        # In real system, would append to RESEARCH-MD.md
        echo "# Voice Research Task - $TASK_ID" >> .claude/RESEARCH-MD.md
        echo "**Added:** $TIMESTAMP" >> .claude/RESEARCH-MD.md
        echo "**Priority:** $PRIORITY" >> .claude/RESEARCH-MD.md
        echo "**Request:** $VOICE_TEXT" >> .claude/RESEARCH-MD.md
        echo "" >> .claude/RESEARCH-MD.md
        echo "✅ Added to research queue"
        ;;
        
    "DEVELOPMENT")
        echo "🎯 ROUTING: CC (Development Agent)"
        echo "  File: .claude/INBOX.md"
        echo ""
        # In real system, would append to INBOX.md
        echo "### Task: $TASK_ID" >> .claude/INBOX.md
        echo "**Type:** voice-development" >> .claude/INBOX.md
        echo "**Priority:** $PRIORITY" >> .claude/INBOX.md
        echo "**Added:** $TIMESTAMP" >> .claude/INBOX.md
        echo "**Request:** $VOICE_TEXT" >> .claude/INBOX.md
        echo "" >> .claude/INBOX.md
        echo "✅ Added to development queue"
        ;;
        
    "FIX")
        echo "🎯 ROUTING: CC (Fix Agent)"
        echo "  File: .claude/INBOX.md (P$PRIORITY)"
        echo ""
        echo "### Task: $TASK_ID" >> .claude/INBOX.md
        echo "**Type:** voice-fix" >> .claude/INBOX.md
        echo "**Priority:** $PRIORITY" >> .claude/INBOX.md
        echo "**Added:** $TIMESTAMP" >> .claude/INBOX.md
        echo "**Request:** $VOICE_TEXT" >> .claude/INBOX.md
        echo "" >> .claude/INBOX.md
        echo "✅ Added to fix queue"
        ;;
        
    "AUDIT")
        echo "🎯 ROUTING: Audit System"
        echo "  File: audits/voice-audit-requests.md"
        echo ""
        mkdir -p audits
        echo "## Audit Request - $TASK_ID" >> audits/voice-audit-requests.md
        echo "**Added:** $TIMESTAMP" >> audits/voice-audit-requests.md
        echo "**Priority:** $PRIORITY" >> audits/voice-audit-requests.md
        echo "**Request:** $VOICE_TEXT" >> audits/voice-audit-requests.md
        echo "" >> audits/voice-audit-requests.md
        echo "✅ Added to audit queue"
        ;;
        
    *)
        echo "🎯 ROUTING: General Task System"
        echo "  File: .claude/VOICE-TASKS.md"
        echo ""
        echo "## $TASK_ID" >> .claude/VOICE-TASKS.md
        echo "**Added:** $TIMESTAMP" >> .claude/VOICE-TASKS.md
        echo "**Priority:** $PRIORITY" >> .claude/VOICE-TASKS.md
        echo "**Request:** $VOICE_TEXT" >> .claude/VOICE-TASKS.md
        echo "" >> .claude/VOICE-TASKS.md
        echo "✅ Added to general voice task queue"
        ;;
esac

echo ""
echo "📋 CONFIRMATION MESSAGE (to send back):"
echo "----------------------------------------"
echo "✅ Voice message processed and logged!"
echo "   Task ID: $TASK_ID"
echo "   Type: $TASK_TYPE"
echo "   Priority: $PRIORITY"
echo "   Route: $ROUTE system"
echo "   Added: $TIMESTAMP"
echo ""
echo "The task has been added to the appropriate queue and will be addressed based on priority."
echo "----------------------------------------"

echo ""
echo "🚀 NEXT STEPS FOR FULL AUTOMATION:"
echo "1. Integrate with Telegram webhook"
echo "2. Connect to Whisper API for real transcription"
echo "3. Add to Notion Work Tracker automatically"
echo "4. Include in Rivet coordination system"
echo "5. Add follow-up reminders"

echo ""
echo "✅ Proof of concept complete!"