#!/bin/bash
# desktop-worker.sh — запускати на macOS для отримання задач від серверного Claude
# Встанови: запусти в окремому Terminal, або додай в launchd
#
# Usage: bash ~/desktop-worker.sh

WIKI_DIR="$HOME/Documents/srv-wiki"  # або де у тебе клонований репо
QUEUE_DIR="$WIKI_DIR/handoff-queue/tasks"
DONE_DIR="$WIKI_DIR/handoff-queue/done"

echo "🤖 Desktop Claude Worker starting..."
echo "   Watching: $QUEUE_DIR"
echo "   Poll interval: 60s"
echo ""

while true; do
    # Pull latest from server
    cd "$WIKI_DIR" && git pull --ff-only -q 2>/dev/null

    # Check for new tasks
    for task_file in "$QUEUE_DIR"/*.task; do
        [ -f "$task_file" ] || continue

        TASK_ID=$(basename "$task_file" .task)
        echo "📋 New task: $TASK_ID"
        cat "$task_file"
        echo ""
        echo "→ Run in Claude Code: claude \"$(sed -n '/^---$/,$ p' "$task_file" | tail -n +2)\""
        echo ""

        # Move to done (mark as picked up)
        mv "$task_file" "$DONE_DIR/${TASK_ID}.picked"
        cd "$WIKI_DIR" && git add -A && git commit -m "desktop: picked task $TASK_ID" -q && git push -q
    done

    sleep 60
done
