Nó de código lançando erro desconhecido repentinamente

Descreva o problema/erro/pergunta

Estou trabalhando em um workflow há um tempo, mas não toquei nele por quase 2 semanas (última alteração foi por volta de 20 de abril). Nesse período, acredito que nossa instância foi atualizada de 2.18.4 → 2.18.7 (configurado para auto-atualizar), porém não vejo nada nas notas de lançamento que deveria causar esse problema. Desde então atualizei para 2.19.2 (o auto-update não fez essa atualização, tive que fazer manualmente) e ainda estou vendo os mesmos resultados. Vou reverter se necessário, mas se alguma funcionalidade foi propositalmente alterada/removida, vou precisar corrigir isso se quiser fazer upgrade no futuro…

Os passos iniciais do workflow são
-isolar um único anexo PDF de um email
-gerar um prompt para Claude processar dito PDF (code node, js)
-Enviar para Claude (http)
O código que estava funcionando para gerar o prompt é este:

const binaryData = $input.item.binary.attachment_0;
const buffer = await this.helpers.getBinaryDataBuffer(0, 'attachment_0');
const base64Pdf = buffer.toString('base64');
const body = {
  model: 'claude-sonnet-4-6',
  max_tokens: 2000,
  messages: [
    {
      role: 'user',
      content: [
        {
          type: 'document',
          source: {
            type: 'base64',
            media_type: 'application/pdf',
            data: base64Pdf
          }
        },
        {
          type: 'text',
          text: 'Extract the following data from this PDF: -Purchase order number -Ship Date -Invoice number -Array of items ordered.  Include the dell part number (do not include the word Dell), description, serial number, and ext net price.  Return ONLY the raw JSON with no markdown, no explanation, no code fences.'
        }
      ]
    }
  ]
};
return [{
  json: { body: JSON.stringify(body) }
}];

Resultando em:

image

O passo inicial para isolar o PDF usa este código:



const binary = $input.item.binary;
// Find the key of the PDF attachment
const pdfKey = Object.keys(binary).find(
  key => binary[key].mimeType === 'application/pdf'
);
if (!pdfKey) {
  throw new Error('No PDF attachment found on this email');
}
return [{
  json: $input.item.json,        // pass through the email data unchanged
  binary: {
    attachment_0: binary[pdfKey] // rename it to a predictable key
  }
}];



Resultando em attachment_0

Porém, após voltar a esse workflow depois de ~2 semanas, esse passo de gerar o prompt agora resulta em um erro desconhecido. Tentei corrigi-lo com vários outros códigos js, sem sucesso em recriar o que preciso. Minha familiaridade com JS é em nível amador, mas Claude tem sido ótimo gerando código. Passei por várias iterações sem sucesso.

Informações sobre sua configuração n8n

  • versão n8n: 2.18.7 - 2.19.2 (self-hosted)
  • Banco de dados (padrão: SQLite):
  • Configuração n8n EXECUTIONS_PROCESS (padrão: own, main):
  • Executando n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Sistema operacional:

Pode ignorar… Reiniciei meu servidor n8n e parece estar funcionando novamente. Uma das atualizações deve ter bloqueado o acesso a algo.

ótimo @flowdan , o importante é que está funcionando agora.
Recomendo marcar sua resposta como a solução para que possa ajudar outras pessoas da comunidade quando procurarem por algo semelhante depois.