n8n-nodes-tembory 1.1.37 → 1.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Node de memoria operacional da Tembory para agentes de IA no n8n.
|
|
4
4
|
|
|
5
|
-
Versao atual: `1.1.
|
|
5
|
+
Versao atual: `1.1.38`.
|
|
6
|
+
|
|
7
|
+
## 1.1.38
|
|
8
|
+
|
|
9
|
+
- Torna o resumo visual independente do tipo da mensagem LangChain, procurando o contexto Tembory em qualquer mensagem carregada.
|
|
10
|
+
- Enriquece eventos `chatHistory.addMessage(s)` com `savedMessages`, input/output resumidos e tool events quando esse for o caminho usado pelo Agent.
|
|
11
|
+
- Mantem a separacao entre contexto interno do Agent e output compacto para humano.
|
|
6
12
|
|
|
7
13
|
## 1.1.37
|
|
8
14
|
|
|
@@ -3027,10 +3027,11 @@ const summarizeMemoryMessagesForSideChannel = (messages = []) => {
|
|
|
3027
3027
|
const type = messageTypeOf(message);
|
|
3028
3028
|
return type === 'system' || /system/i.test(String(message?.role || ''));
|
|
3029
3029
|
});
|
|
3030
|
-
|
|
3030
|
+
const contextMessage = firstSystem || list.find((message) => messageContentOf(message).includes('tembory.agent_context.v1')) || list[0];
|
|
3031
|
+
if (!contextMessage)
|
|
3031
3032
|
return summary;
|
|
3032
3033
|
try {
|
|
3033
|
-
const rawContent = messageContentOf(
|
|
3034
|
+
const rawContent = messageContentOf(contextMessage);
|
|
3034
3035
|
let parsed;
|
|
3035
3036
|
try {
|
|
3036
3037
|
parsed = JSON.parse(rawContent);
|
|
@@ -3150,7 +3151,7 @@ const summarizeMemoryMessagesForSideChannel = (messages = []) => {
|
|
|
3150
3151
|
return Object.fromEntries(Object.entries(summary).filter(([, value]) => value !== undefined));
|
|
3151
3152
|
}
|
|
3152
3153
|
catch {
|
|
3153
|
-
const content = messageContentOf(
|
|
3154
|
+
const content = messageContentOf(contextMessage);
|
|
3154
3155
|
return cleanContextValue({
|
|
3155
3156
|
...summary,
|
|
3156
3157
|
contextChars: content.length || undefined,
|
|
@@ -3852,24 +3853,40 @@ class TemboryMemory {
|
|
|
3852
3853
|
addMessage: async (message) => {
|
|
3853
3854
|
currentMessages.push(message);
|
|
3854
3855
|
const saved = await TemboryMemory.prototype.saveMessagesForItem.call(this, itemIndex, [message]);
|
|
3855
|
-
recordMemoryEvent('chatHistory.addMessage', {
|
|
3856
|
+
recordMemoryEvent('chatHistory.addMessage', {
|
|
3857
|
+
saved: Boolean(saved && saved.saved),
|
|
3858
|
+
messages: 1,
|
|
3859
|
+
...summarizeSaveContextForSideChannel((saved && saved.input) || {}, (saved && saved.output) || {}, currentMessages),
|
|
3860
|
+
});
|
|
3856
3861
|
},
|
|
3857
3862
|
addUserMessage: async (message) => {
|
|
3858
3863
|
const baseMessage = toBaseMessage({ role: 'user', content: message });
|
|
3859
3864
|
currentMessages.push(baseMessage);
|
|
3860
3865
|
const saved = await TemboryMemory.prototype.saveMessagesForItem.call(this, itemIndex, [baseMessage]);
|
|
3861
|
-
recordMemoryEvent('chatHistory.addUserMessage', {
|
|
3866
|
+
recordMemoryEvent('chatHistory.addUserMessage', {
|
|
3867
|
+
saved: Boolean(saved && saved.saved),
|
|
3868
|
+
messages: 1,
|
|
3869
|
+
...summarizeSaveContextForSideChannel((saved && saved.input) || {}, (saved && saved.output) || {}, currentMessages),
|
|
3870
|
+
});
|
|
3862
3871
|
},
|
|
3863
3872
|
addAIChatMessage: async (message) => {
|
|
3864
3873
|
const baseMessage = toBaseMessage({ role: 'assistant', content: message });
|
|
3865
3874
|
currentMessages.push(baseMessage);
|
|
3866
3875
|
const saved = await TemboryMemory.prototype.saveMessagesForItem.call(this, itemIndex, [baseMessage]);
|
|
3867
|
-
recordMemoryEvent('chatHistory.addAIChatMessage', {
|
|
3876
|
+
recordMemoryEvent('chatHistory.addAIChatMessage', {
|
|
3877
|
+
saved: Boolean(saved && saved.saved),
|
|
3878
|
+
messages: 1,
|
|
3879
|
+
...summarizeSaveContextForSideChannel((saved && saved.input) || {}, (saved && saved.output) || {}, currentMessages),
|
|
3880
|
+
});
|
|
3868
3881
|
},
|
|
3869
3882
|
addMessages: async (messages) => {
|
|
3870
3883
|
currentMessages.push(...messages);
|
|
3871
3884
|
const saved = await TemboryMemory.prototype.saveMessagesForItem.call(this, itemIndex, messages);
|
|
3872
|
-
recordMemoryEvent('chatHistory.addMessages', {
|
|
3885
|
+
recordMemoryEvent('chatHistory.addMessages', {
|
|
3886
|
+
saved: Boolean(saved && saved.saved),
|
|
3887
|
+
messages: Array.isArray(messages) ? messages.length : 0,
|
|
3888
|
+
...summarizeSaveContextForSideChannel((saved && saved.input) || {}, (saved && saved.output) || {}, currentMessages),
|
|
3889
|
+
});
|
|
3873
3890
|
},
|
|
3874
3891
|
clear: async () => {
|
|
3875
3892
|
currentMessages = [];
|
package/package.json
CHANGED