export const AUTOMATION_QUEUE_NAME = 'automation-runs';

export type AutomationJobKind = 'execute-node' | 'resume-atlas';

export interface AutomationJobData {
  // Ausente = 'execute-node' (jobs legados / engine). 'resume-atlas' = job de timer
  // durável: ao vencer, só pede ao Atlas para retomar a Espera (não roda o engine).
  kind?: AutomationJobKind;
  runId: string;
  automationId: string;
  versionId: string | null;
  nodeKey: string;
  subject: Record<string, unknown>;
  payload: Record<string, unknown>;
  dryRun: boolean;
  attempt: number;
  // Token de unicidade por entrada de Espera (kind='resume-atlas'). Idealmente é o
  // id do wait-log no Atlas; quando ausente, o BFF gera um UUID no enqueue para
  // garantir que dois timers distintos nunca colidam no BullMQ.
  waitSeq?: string;
}
