npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-tembory

v1.3.7

Published

Tembory node for n8n AI Agents with operational memory, tool history and decision state

Readme

Tembory

Node de memoria operacional da Tembory para agentes de IA no n8n.

Versao atual: 1.3.6.

1.3.6

  • Fortalece o default recomendado para agentes mini/SLM em workflows reais.
  • Memoria Inteligente (Recomendado) agora usa productionBalanced com contexto de 20000 caracteres, entrada do SLM em 12000 caracteres, resumo SLM em 3000 caracteres e active summary em 3500 caracteres.
  • Mantem 30 tools recentes no contexto operacional e TTL de tool history em 86400 segundos.
  • Alinha os defaults visiveis em Ajustes Tecnicos para nao mostrar configuracao mais fraca quando o usuario abre os grupos.
  • Esclarece que o cache tecnico SLM usa segundos; 300 segundos equivalem a 5 minutos.

1.3.5

  • Atualiza o Tembory Agent Memory para usuarios leigos: o padrao agora e Modo da Memoria -> Memoria Inteligente (Recomendado).
  • Esse modo aplica productionBalanced sem exigir que a pessoa abra ajustes tecnicos: contexto estruturado, active summary, tool history/results, action ledger, decision state, operational state e mensagens recentes ficam ligados por padrao.
  • Renomeia campos visiveis para linguagem operacional: Tamanho do Contexto, Mensagens Recentes, Mostrar Evidencias no Output e Mostrar Ajustes Tecnicos.
  • Mantem os controles brutos escondidos em Ajustes Tecnicos Tembory, para debug e casos avancados, sem tornar isso obrigatorio para o usuario comum.

1.3.4

  • Torna a credencial Tembory API obrigatoria nos nodes Tembory Memory e Tembory Agent Memory.
  • Bloqueia loadMemoryVariables, saveContext e execucao direta quando nao houver API key configurada.
  • Remove o comportamento enganoso de fallback local silencioso sem credencial: fallback interno so pode existir depois que o node estiver autenticado.

1.3.3

  • Remove texto generico de trabalho como continue according to the agent prompt... quando a memoria nao inferiu uma acao concreta.
  • Para mensagens gerais, a memoria registra conversa e contexto, mas nao inventa currentGoal, currentTask ou nextExpectedAction.
  • Para turnos que podem exigir tool, o debug visual passa a mostrar uma orientacao objetiva: avaliar se precisa de tool e consultar conversation_frame, tool_state, tool_history e action_ledger antes de executar algo novo.

1.3.2

  • Remodela o output visual para debug simples no n8n com sentToAgent, slm, memory, conversation, tools, io e save.
  • Remove duplicacoes visuais de saveContext: savedMessages, conversationTimeline, toolNames e toolEvents deixam de aparecer como blocos paralelos no topo.
  • Expõe o status real da SLM no visual: fonte, geração no load atual, cache técnico, active summary carregado/atualizado, chars e preview.
  • Mantem o contexto enviado ao Agent como tembory.agent_context.v2; a mudança é no side channel visual e na instrução da SLM para resumir objetivo, próxima ação e evidências operacionais.

1.3.1

  • Republica o pacote como latest sem a marcacao deprecated aplicada por engano na 1.3.0.
  • Mantem o mesmo contrato da 1.3.0: node legado Tembory e node opt in Tembory Agent Memory.

1.3.0

  • Adiciona um segundo node no pacote: Tembory Agent Memory, com internal name temboryAgentMemory.
  • Mantem o node atual Tembory com internal name temboryMemory, sem migracao automatica de workflows existentes.
  • O novo node nasce como caminho opt in para a experiencia v2: menos campos visiveis, controles avancados recolhidos e base para tembory.visual.v2.
  • Reaproveita o runtime estavel de memoria, captura de tools e persistencia enquanto a timeline v2 e a slmAnalysis incremental sao implementadas em cortes posteriores.

1.2.2

  • No Modo Simples Recomendado, remove campos visuais redundantes do side channel: toolEvents, toolNames e savedMessages.
  • Mantem as mesmas informacoes em toolLog, conversation, conversationTimeline, userInput, assistantOutput e toolCapture.
  • O contexto interno do Agent e a persistencia das tools nao mudam; a alteracao e apenas na organizacao do JSON visual do n8n.

1.2.1

  • Remove duplicacao visual no output do saveContext: o resumo fica apenas em memorySummary, sem repetir os mesmos campos no topo do JSON.
  • Mantem toolLog, toolEvents, conversa, input/output e captura de tools dentro de memorySummary para debug humano organizado.

1.2.0

  • Remodela o contexto compacto do Agent para tembory.agent_context.v2, com contrato unico para conversa, fatos canonicos, evidencias de tools, politica de reuso, frescor, captura e budget.
  • Remove duplicacao estrutural de mensagens no prompt do Agent: a conversa passa por conversationFrame e nao e repetida em blocos equivalentes.
  • Preserva inputs, outputs, timestamps, fatos extraidos e resultados parseados de tools em toolEvidence, incluindo tools de busca vetorial quando o n8n entrega o payload.
  • Mantem toolReuseGuard generico para evitar repeticao indevida de side effects e reutilizar outputs anteriores como evidencia sem transformar memoria em ToolMessage.
  • Enriquece o resumo visual do n8n lendo o novo schema v2 sem vazar o chatHistory bruto no output do Agent.

1.1.44

  • Adiciona toolReuseGuard no contexto compacto do agente para reduzir repeticao indevida de tools entre turnos.
  • Registra chamadas bem sucedidas recentes com input_hash e classifica tools de leitura versus side effect de forma generica.
  • Instrui o agente a consultar tool_ledger antes de nova tool e a nao repetir side effects sem pedido explicito do usuario.
  • Remove duplicacoes do payload compacto para manter o contexto balanceado abaixo do limite de regressao.

1.1.43

  • Adiciona toolCapture no payload visual de saveContext, deixando explicito quando nenhuma execucao de tool chegou para a memoria.
  • Suporta tambem intermediate_steps em snake case, alem de intermediateSteps.
  • Quando toolCallsCaptured for 0, o payload informa que e necessario o AI Agent entregar intermediateSteps, __temboryToolCalls ou tool messages para a memoria conseguir salvar a tool.

1.1.42

  • Explicita conversation e conversationTimeline tambem no payload visual de saveContext.
  • Aumenta a timeline visual de conversa do loadMemoryVariables para ate 16 mensagens recentes.
  • Parseia resultados de tools de busca vetorial em outputParsed.documents, preservando pageContent, metadata, id, source e score quando existirem.

1.1.41

  • Padroniza a saida visual do node com visualSchema, memorySummary e toolLog tanto no loadMemoryVariables quanto no saveContext.
  • Mantem toolEvents para compatibilidade, mas agora tambem mostra inputParsed, outputParsed, timestamps e facts com IDs operacionais quando existirem.
  • Aumenta a visibilidade do historico recente de tools no resumo visual para evitar esconder eventos importantes no debug humano.

1.1.40

  • Extrai fatos operacionais path aware de inputs e outputs de tools, preservando IDs como serviceId, providerId, locationId, customerId, reservationId e bookingId.
  • Injeta esses fatos em operationalState, actionLedger, toolLedger e action_directive.
  • Corrige o risco de o Agent usar serviceId antigo de memoria vetorial quando o check_availabilities mais recente ja retornou o ID correto para o Booking.

1.1.39

  • Ajusta a semantica de repeticao de tools: do_not_repeat_tools fica restrito a turnos de recall, status operacional ou pedido explicito para nao chamar tools.
  • Em turnos normais, o Agent recebe repeat_tool_policy e avoid_repeating_tools_unless_needed, deixando claro que tools anteriores sao evidencia reutilizavel, nao ferramentas proibidas.
  • Compacta decisionState.tool_decision_state para evitar duplicar outputs longos de tools no contexto balanceado.

1.1.38

  • Torna o resumo visual independente do tipo da mensagem LangChain, procurando o contexto Tembory em qualquer mensagem carregada.
  • Enriquece eventos chatHistory.addMessage(s) com savedMessages, input/output resumidos e tool events quando esse for o caminho usado pelo Agent.
  • Mantem a separacao entre contexto interno do Agent e output compacto para humano.

1.1.37

  • Normaliza chatHistory legado para chat_history no modo simples, evitando que historico bruto vaze no output final do Agent.
  • Mantem chatHistory apenas como alias nao enumeravel no contrato interno de memoria.
  • O caminho de execucao normal do node passa a retornar resumo visual compacto, nao o array bruto de mensagens.

1.1.36

  • Mantem o comportamento funcional da 1.1.35.
  • Corrige o resumo visual do n8n para mensagens LangChain serializadas, incluindo objetos com kwargs.content.
  • Evita o fallback pobre { action, messages } quando o contexto foi carregado corretamente mas o output humano nao conseguiu parsear o SystemMessage.

1.1.35

  • Corrige a chave default de memoria do runtime para chat_history, que e o placeholder usado pelo AI Agent do n8n.
  • Mantem compatibilidade com chatHistory, devolvendo aliases para workflows antigos.
  • Faz o contexto operacional do Tembory entrar no prompt principal do Agent em modo simples.

1.1.34

  • Adiciona statusAnswerMaterial no contexto do Agent para perguntas sobre historico operacional.
  • Quando o usuario pergunta quais tools foram chamadas, o Agent recebe um bloco direto com tool count, inputs, outputs, timestamps e action ledger.
  • Instrui explicitamente o Agent a responder desse material e nao dizer que nao tem acesso quando o historico existe.

1.1.33

  • Corrige o runtime do Modo Simples Recomendado para usar defaults seguros nos parametros que ficam escondidos na interface.
  • Evita erro Could not get parameter em nodes novos quando memoryKey, retrievalMode e payloadFormat nao estao gravados no workflow.
  • Mantem o modo avancado com todas as opcoes disponiveis.

1.1.32

  • Adiciona Modo de Configuracao com Simples Recomendado e Avancado.
  • O modo simples usa os defaults validados nos testes reais: contexto estruturado, resumo por contexto ativo, tool history/results/action ledger, backend persistente e diagnostico pesado desligado.
  • O modo avancado continua exibindo todas as opcoes existentes, sem remover nenhum controle.
  • Atualiza a expressao padrao de Consulta para ler tambem $json.body.chatInput.

1.1.31

  • Adiciona agentContextBudget no payload visual do n8n com caracteres e tokens aproximados injetados no Agent.
  • Mostra loadedSections fora do bloco de diagnostico para facilitar debug humano.
  • Melhora o parsing de outputs comuns de tools do n8n, incluindo envelopes json, data, body e result.
  • Mantem outputParsed, capturedAt, toolTimestamp, toolStatus, conversa e save visual por execucao.

Contrato operacional atual

O Tembory e memoria operacional generica. Ele nao decide regra de negocio, nao escolhe a tool pelo dominio do cliente e nao substitui o prompt do agente.

O que ele deve guardar e devolver:

  • Mensagens recentes por threadId ou sessionId.
  • Tool calls genericas, independente do nome da tool.
  • Input enviado para a tool.
  • Output bruto retornado pela tool.
  • Output util em outputParsed, quando o formato permitir parsing seguro.
  • Status da tool.
  • capturedAt, que e quando o Tembory capturou o evento.
  • toolTimestamp, que e o timestamp retornado pela propria tool quando existir.
  • actionLedger, workingMemory, decisionState, operationalState e resumo ativo.

O que ele nao deve fazer:

  • Inventar politica de tool.
  • Considerar uma acao lateral concluida sem tool bem sucedida no turno correto.
  • Transformar observacao ou inferencia em regra obrigatoria.
  • Esconder falha de save no payload visual.

Visao geral

O Tembory entrega contexto operacional para o AI Agent sem depender apenas do historico textual da conversa. Ele combina transcript curto, profile facts, tool history, estado operacional, action ledger, working memory, decision state, active summary persistente, compressao de memoria e diagnosticos.

A SLM conectada ao node organiza o estado ativo em bullets curtos e persistentes. Ela e contexto auxiliar read-only: nao decide politica de negocio, nao escolhe tools e nao substitui o prompt do agente.

Principais recursos

  • Porta ai_memory para conectar direto no AI Agent do n8n.
  • Entrada LLM obrigatoria para gerar e atualizar o resumo ativo.
  • Campo Projeto para isolar memorias por cliente/workspace.
  • Profile facts: nome, empresa, email, telefone, preferencias e contexto comercial.
  • Tool history: tools chamadas, inputs, outputs, status e ordem.
  • Working memory: objetivo atual, intencao recente, entidades ativas, ultimo erro e proxima acao esperada.
  • Decision state: decisoes ativas, ferramentas que nao devem ser repetidas e politica de conflitos.
  • Operational state: resumo deterministico do estado atual das tools e do proximo passo seguro.
  • Action ledger: linha cronologica das acoes executadas pelo agente.
  • Memory compression: resumos de turno, sessao, entidades e workflow.
  • Active summary persistente gerado pela SLM.

Custo de IA

O node usa o modelo de linguagem conectado no proprio n8n. Para esse papel, um modelo pequeno e barato costuma ser suficiente, porque a tarefa e resumir, organizar e compactar contexto operacional.

Credencial

Use a credencial Tembory API com a API key gerada no SaaS. A API key identifica a conta e o projeto comercial no Tembory.

Presets operacionais

O campo Preset Operacional preenche defaults de producao:

  • Producao Rapida (Thread + SLM): padrao recomendado para a maioria dos agentes.
  • Producao Balanceada: mais contexto, ainda compacto.
  • Producao Economica: reduz resultados e secoes para economizar tokens.
  • Producao Nano/SLM: otimizado para modelo pequeno.
  • Diagnostico Completo: teste e auditoria.
  • Auditoria: payload detalhado para depuracao.

Recomendacao pratica:

  • Use Modo Simples Recomendado em producao normal.
  • Use Producao Balanceada quando o agente precisar comparar mais historico.
  • Use Auditoria ou Diagnostico Completo apenas enquanto estiver depurando.

No modo simples, o node aplica automaticamente:

  • Modo de Recuperacao: operacional estruturado.
  • Formato do Contexto: producao estruturado.
  • Preset Operacional: producao balanceada.
  • Fonte do Resumo do SLM: automatica.
  • Maximo de Caracteres do Contexto: 20000.
  • Maximo de Caracteres de Entrada do SLM: 12000.
  • Maximo de Caracteres do Resumo do SLM: 3000.
  • Maximo de Caracteres do Active Summary: 3500.
  • Tool history, resultados de tools, action ledger, working memory, decision state, operational state e memory compression ligados.
  • Persistencia no backend e active summary ligados.
  • Diagnostico pesado, scores, semantic fallback e tool facts desligados.
  • Cache tecnico do SLM em 300 segundos.
  • TTL de tool history em 86400 segundos.
  • Ultimas tools mantidas no contexto compacto: 30.

Uso com $fromAI()

Em tools conectadas ao AI Agent, o n8n permite que o modelo preencha parametros dinamicamente com $fromAI(). Isso e responsabilidade do Agent e da tool do n8n. O Tembory apenas fornece contexto operacional para o Agent, incluindo conversa, tools anteriores, inputs, outputs e timestamps.

Referencia oficial do n8n: https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/

Prompt recomendado para AI Agent

O Tembory entrega memoria operacional, mas o Agent ainda precisa de politica clara para decidir quando usar memoria e quando chamar tool. Em workflows com muitas tools, adicione um bloco como este no System Message do AI Agent:

Antes de chamar uma ferramenta, consulte a memoria Tembory: tool_state, tool_history, action_ledger, decision_state, operational_state, active_summary e conversation_frame.
Use a memoria para evitar repeticao, mas nao substitua verificacao operacional nova por inferencia.
Se o usuario pedir para verificar, validar, consultar, checar, confirmar status, criar, atualizar, registrar ou acionar algo que ainda nao esteja confirmado por uma tool recente no tool_history, chame a tool correta.
Nao repita uma tool se a memoria ja trouxer evidencia suficiente para a pergunta atual.
Nunca declare uma acao como confirmada, criada, atualizada, enviada ou reservada sem uma tool de side effect bem-sucedida no turno atual.
Se uma tool retornar dado incoerente com a pergunta, aponte a inconsistencia em vez de inventar.
Quando responder sobre historico operacional, use os outputs e timestamps das tools salvas pela memoria.

Regras praticas:

  • Perguntas de recall/status podem usar memoria sem chamar tools.
  • Pedidos novos de verificacao, consulta, atualizacao ou registro devem chamar a tool correta quando ainda nao houver evidencia recente.
  • Acoes laterais como confirmar, reservar, enviar, criar ou atualizar so podem ser declaradas como concluidas depois de uma tool de side effect bem-sucedida.
  • Outputs incoerentes de tools devem ser tratados como inconsistencia, nao como fato confirmado.

Payload visual do n8n

No output do node durante uma execucao, o Tembory mostra um resumo compacto para humano:

  • memorySummary.intent: classificacao operacional leve do turno.
  • memorySummary.conversation: contagem e ultimas mensagens.
  • memorySummary.conversationTimeline: timeline curta com timestamps.
  • memorySummary.toolEvents: ultimas tool calls com input, output, outputParsed, status e timestamps.
  • memorySummary.lastSave: ultimo save persistido.
  • memorySummary.loadedSections: quais blocos foram injetados no contexto do Agent.
  • memorySummary.agentContextBudget: tamanho aproximado do contexto enviado ao Agent.

Exemplo de budget:

{
  "agentContextBudget": {
    "messages": 1,
    "chars": 12000,
    "approxTokens": 3000,
    "largestSections": [
      { "section": "tools", "chars": 1600, "approxTokens": 400 }
    ]
  }
}

Blocos de contexto

Quando habilitados, o agente recebe:

  • Conversation frame
  • Profile facts
  • Working memory
  • Decision state
  • Operational state
  • Action ledger
  • Memory compression
  • Recent messages
  • Recent highlights
  • Tool history
  • Active summary
  • SLM summary
  • Diagnostics

Validacao local

npm test
npm run simulate:n8n-agent