#!/bin/bash
# enqueue - Add task to queue
# Usage: enqueue <tier> <message>
# Tier: dev_followups | user_interrupts | background

set -euo pipefail

QUEUE_FILE="$HOME/.kugetsu/queue.json"
TIER="${1:-}"
MESSAGE="${2:-}"

if [ -z "$TIER" ] || [ -z "$MESSAGE" ]; then
    echo "Usage: enqueue <tier> <message>" >&2
    echo "  tier: dev_followups | user_interrupts | background" >&2
    exit 1
fi

if [[ ! "$TIER" =~ ^(dev_followups|user_interrupts|background)$ ]]; then
    echo "Error: Invalid tier '$TIER'" >&2
    echo "Valid tiers: dev_followups, user_interrupts, background" >&2
    exit 1
fi

ID="qe-$(date +%s)-$$"

python3 << EOF
import json
import os
import sys
from datetime import datetime

queue_file = os.path.expanduser("$QUEUE_FILE")
tier = "$TIER"
message = "$MESSAGE"
task_id = "$ID"

task = {
    "id": task_id,
    "message": message,
    "created": datetime.now().isoformat()
}

try:
    with open(queue_file, 'r') as f:
        queue = json.load(f)
except:
    queue = {"dev_followups": [], "user_interrupts": [], "background": []}

queue[tier].append(task)

with open(queue_file, 'w') as f:
    json.dump(queue, f, indent=2)

print(f"Enqueued: [{tier}] {message} (id: {task_id})")
EOF