#!/bin/bash
# Extrai prompt de uma task específica do plano para usar com /ralph-loop
#
# Uso:
#   ./scripts/ralph-loop-task.sh plan.yaml 0    # Primeira task
#   ./scripts/ralph-loop-task.sh plan.yaml 1    # Segunda task
#
# Depois copie o output e use:
#   /ralph-loop "<PROMPT>" --max-iterations 30 --completion-promise "COMPLETE"

PLAN_FILE="${1:-plan.yaml}"
TASK_INDEX="${2:-0}"

if [ ! -f "$PLAN_FILE" ]; then
  echo "Erro: Arquivo não encontrado: $PLAN_FILE"
  echo ""
  echo "Uso: $0 <plan.yaml> [task_index]"
  exit 1
fi

node --input-type=module -e "
import { readFileSync } from 'fs';
import { parse } from 'yaml';

const plan = parse(readFileSync('$PLAN_FILE', 'utf-8'));
const taskIndex = parseInt('$TASK_INDEX', 10);

if (taskIndex >= plan.tasks.length) {
  console.error('Erro: Task index', taskIndex, 'não existe. Total de tasks:', plan.tasks.length);
  process.exit(1);
}

const task = plan.tasks[taskIndex];

console.log('# Task:', task.name);
console.log('# ID:', task.id);
console.log('# Max Iterations:', task.maxIterations);
console.log('#');
console.log('# Para usar com /ralph-loop, execute:');
console.log('#');
console.log('# /ralph-loop \"<PROMPT_ABAIXO>\" --max-iterations', task.maxIterations, '--completion-promise \"COMPLETE\"');
console.log('#');
console.log('# ─────────────────────────────────────────────────────────────');
console.log('');
console.log(task.prompt);
"
