n8n-nodes-mem0-self 0.2.1 → 0.2.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"GenericFunctions.d.ts","sourceRoot":"","sources":["../../../nodes/Mem0/GenericFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EAErB,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAGtB,KAAK,GAAG,GAAG,iBAAiB,GAAG,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE7F;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAK9C;AAED;;;GAGG;AACH,wBAAsB,cAAc,CACnC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAC9B,EAAE,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAC1B,OAAO,CAAC,GAAG,CAAC,CAqBd"}
1
+ {"version":3,"file":"GenericFunctions.d.ts","sourceRoot":"","sources":["../../../nodes/Mem0/GenericFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EAErB,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAGtB,KAAK,GAAG,GAAG,iBAAiB,GAAG,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE7F;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAK9C;AAED;;;GAGG;AACH,wBAAsB,cAAc,CACnC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAC9B,EAAE,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAC1B,OAAO,CAAC,GAAG,CAAC,CAmCd"}
@@ -25,14 +25,26 @@ async function mem0ApiRequest(method, endpoint, body = {}, qs = {}) {
25
25
  const credentials = await this.getCredentials('mem0SelfHostedApi');
26
26
  const baseUrl = credentials.baseUrl.replace(/\/$/, '');
27
27
  const resolvedEndpoint = endpoint.startsWith('/') ? endpoint : `/${endpoint}`;
28
+ const methodUpper = method.toUpperCase();
29
+ const hasBody = body && Object.keys(body).length > 0 && !['GET', 'DELETE'].includes(methodUpper);
28
30
  const options = {
29
- method: method,
30
- body,
31
+ method: methodUpper,
31
32
  qs,
32
33
  url: `${baseUrl}${resolvedEndpoint}`,
34
+ json: true,
33
35
  };
36
+ if (hasBody) {
37
+ options.body = body;
38
+ }
39
+ const headers = {};
40
+ if (hasBody) {
41
+ headers['Content-Type'] = 'application/json';
42
+ }
34
43
  if (credentials.apiKey) {
35
- options.headers = { 'X-API-Key': credentials.apiKey };
44
+ headers['X-API-Key'] = credentials.apiKey;
45
+ }
46
+ if (Object.keys(headers).length > 0) {
47
+ options.headers = headers;
36
48
  }
37
49
  try {
38
50
  return await this.helpers.httpRequest(options);
@@ -1 +1 @@
1
- {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Mem0/GenericFunctions.ts"],"names":[],"mappings":";;AAgBA,wCAKC;AAMD,wCA2BC;AA/CD,+CAA4C;AAI5C;;;;GAIG;AACH,SAAgB,cAAc,CAAC,GAAQ;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACnE,IAAI,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAEnC,MAAc,EACd,QAAgB,EAChB,OAA4B,EAAE,EAC9B,KAA0B,EAAE;IAE5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,OAAO,GAAI,WAAW,CAAC,OAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAE9E,MAAM,OAAO,GAAwB;QACpC,MAAM,EAAE,MAAuC;QAC/C,IAAI;QACJ,EAAE;QACF,GAAG,EAAE,GAAG,OAAO,GAAG,gBAAgB,EAAE;KACpC,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,MAAgB,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,MAAO,IAA0B,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAY,CAAC,CAAC;IACtD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Mem0/GenericFunctions.ts"],"names":[],"mappings":";;AAgBA,wCAKC;AAMD,wCAyCC;AA7DD,+CAA4C;AAI5C;;;;GAIG;AACH,SAAgB,cAAc,CAAC,GAAQ;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACnE,IAAI,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAEnC,MAAc,EACd,QAAgB,EAChB,OAA4B,EAAE,EAC9B,KAA0B,EAAE;IAE5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,OAAO,GAAI,WAAW,CAAC,OAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEjG,MAAM,OAAO,GAAwB;QACpC,MAAM,EAAE,WAA4C;QACpD,EAAE;QACF,GAAG,EAAE,GAAG,OAAO,GAAG,gBAAgB,EAAE;QACpC,IAAI,EAAE,IAAI;KACV,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAgB,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,MAAO,IAA0B,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAY,CAAC,CAAC;IACtD,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Mem0Memory.node.d.ts","sourceRoot":"","sources":["../../../nodes/Mem0/Mem0Memory.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,MAAM,cAAc,CAAC;AA+DtB,qBAAa,UAAW,YAAW,SAAS;IAC3C,WAAW,EAAE,oBAAoB,CAyE/B;IAEI,UAAU,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAuI9E,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAUvE"}
1
+ {"version":3,"file":"Mem0Memory.node.d.ts","sourceRoot":"","sources":["../../../nodes/Mem0/Mem0Memory.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,MAAM,cAAc,CAAC;AAqMtB,qBAAa,UAAW,YAAW,SAAS;IAC3C,WAAW,EAAE,oBAAoB,CAyE/B;IAEI,UAAU,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA8D9E,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAUvE"}
@@ -6,45 +6,75 @@ const GenericFunctions_1 = require("./GenericFunctions");
6
6
  let HumanMessage;
7
7
  let AIMessage;
8
8
  let SystemMessage;
9
- (function loadLangchainMessages() {
10
- const candidates = ['@langchain/core/messages', 'langchain/messages'];
11
- for (const moduleName of candidates) {
9
+ let BufferWindowMemory;
10
+ let logWrapper;
11
+ (function loadDeps() {
12
+ const messageCandidates = ['@langchain/core/messages', 'langchain/messages'];
13
+ for (const moduleName of messageCandidates) {
12
14
  try {
13
15
  const loaded = require(moduleName);
14
16
  if (loaded?.HumanMessage && loaded?.AIMessage) {
15
17
  HumanMessage = loaded.HumanMessage;
16
18
  AIMessage = loaded.AIMessage;
17
19
  SystemMessage = loaded.SystemMessage || loaded.HumanMessage;
18
- return;
20
+ break;
19
21
  }
20
22
  }
21
23
  catch {
22
- // Continue trying other candidates
24
+ // continue
23
25
  }
24
26
  }
25
- class BaseMessage {
26
- constructor(content) {
27
- this.lc_namespace = ['langchain_core', 'messages'];
28
- this.lc_serializable = true;
29
- this.additional_kwargs = {};
30
- this.content = content;
27
+ if (!HumanMessage || !AIMessage) {
28
+ class BaseMessage {
29
+ constructor(content) {
30
+ this.lc_namespace = ['langchain_core', 'messages'];
31
+ this.lc_serializable = true;
32
+ this.additional_kwargs = {};
33
+ this.content = content;
34
+ }
31
35
  }
36
+ HumanMessage = class extends BaseMessage {
37
+ _getType() {
38
+ return 'human';
39
+ }
40
+ get type() {
41
+ return 'human';
42
+ }
43
+ };
44
+ AIMessage = class extends BaseMessage {
45
+ _getType() {
46
+ return 'ai';
47
+ }
48
+ get type() {
49
+ return 'ai';
50
+ }
51
+ };
52
+ SystemMessage = class extends BaseMessage {
53
+ _getType() {
54
+ return 'system';
55
+ }
56
+ get type() {
57
+ return 'system';
58
+ }
59
+ };
60
+ }
61
+ try {
62
+ const memory = require('@langchain/classic/memory');
63
+ BufferWindowMemory = memory.BufferWindowMemory || memory.BufferMemory;
64
+ }
65
+ catch {
66
+ BufferWindowMemory = null;
67
+ }
68
+ try {
69
+ const aiUtils = require('@n8n/ai-utilities');
70
+ logWrapper = aiUtils.logWrapper;
71
+ }
72
+ catch {
73
+ logWrapper = null;
32
74
  }
33
- HumanMessage = class extends BaseMessage {
34
- _getType() { return 'human'; }
35
- get type() { return 'human'; }
36
- };
37
- AIMessage = class extends BaseMessage {
38
- _getType() { return 'ai'; }
39
- get type() { return 'ai'; }
40
- };
41
- SystemMessage = class extends BaseMessage {
42
- _getType() { return 'system'; }
43
- get type() { return 'system'; }
44
- };
45
75
  })();
46
76
  function toMessageContent(memory) {
47
- return memory?.memory ?? memory?.text ?? memory?.content ?? JSON.stringify(memory);
77
+ return memory?.memory ?? memory?.text ?? memory?.content ?? '';
48
78
  }
49
79
  function toLangchainMessage(memory) {
50
80
  const content = toMessageContent(memory);
@@ -55,6 +85,84 @@ function toLangchainMessage(memory) {
55
85
  return new AIMessage(content);
56
86
  return new SystemMessage(content);
57
87
  }
88
+ function wrapMemoryResponse(memory, ctx) {
89
+ if (typeof logWrapper === 'function') {
90
+ return logWrapper(memory, ctx);
91
+ }
92
+ return memory;
93
+ }
94
+ class Mem0ChatHistory {
95
+ constructor(ctx, scope, options) {
96
+ this.ctx = ctx;
97
+ this.scope = scope;
98
+ this.maxMessageLength = options.maxMessageLength;
99
+ this.contextWindowLength = options.contextWindowLength;
100
+ }
101
+ normalizeRole(message) {
102
+ const role = String(message?.role || message?.type || message?._getType?.() || '').toLowerCase();
103
+ if (role === 'assistant' || role === 'ai')
104
+ return 'assistant';
105
+ return 'user';
106
+ }
107
+ normalizeContent(message) {
108
+ if (typeof message === 'string')
109
+ return message;
110
+ return String(message?.content ?? '');
111
+ }
112
+ normalizeByTimestamp(memories) {
113
+ return [...memories].sort((a, b) => {
114
+ const aTs = new Date(a?.created_at || a?.updated_at || 0).getTime() || 0;
115
+ const bTs = new Date(b?.created_at || b?.updated_at || 0).getTime() || 0;
116
+ return aTs - bTs;
117
+ });
118
+ }
119
+ async append(role, content) {
120
+ const normalized = String(content || '').trim();
121
+ if (!normalized)
122
+ return;
123
+ if (normalized.length > this.maxMessageLength) {
124
+ throw new n8n_workflow_1.NodeOperationError(this.ctx.getNode(), `${role === 'user' ? 'User' : 'Assistant'} message is too long. Maximum supported length is ${this.maxMessageLength} characters.`);
125
+ }
126
+ await GenericFunctions_1.mem0ApiRequest.call(this.ctx, 'POST', '/memories', {
127
+ messages: [{ role, content: normalized }],
128
+ infer: false,
129
+ metadata: { source: 'n8n_mem0_memory_safe', role },
130
+ ...this.scope,
131
+ });
132
+ }
133
+ async getMessages() {
134
+ const response = await GenericFunctions_1.mem0ApiRequest.call(this.ctx, 'GET', '/memories', {}, this.scope);
135
+ const rawMemories = (0, GenericFunctions_1.extractResults)(response);
136
+ const ordered = this.normalizeByTimestamp(rawMemories);
137
+ // Align with n8n chat-memory behavior: contextWindowLength represents exchanges.
138
+ const maxEntries = Math.max(1, this.contextWindowLength) * 2;
139
+ const windowed = ordered.slice(-maxEntries);
140
+ return windowed.map((entry) => toLangchainMessage(entry));
141
+ }
142
+ async addMessage(message) {
143
+ const role = this.normalizeRole(message);
144
+ const content = this.normalizeContent(message);
145
+ await this.append(role, content);
146
+ }
147
+ async addMessages(messages) {
148
+ for (const message of messages || []) {
149
+ await this.addMessage(message);
150
+ }
151
+ }
152
+ async addUserMessage(message) {
153
+ await this.append('user', message);
154
+ }
155
+ async addAIMessage(message) {
156
+ await this.append('assistant', message);
157
+ }
158
+ async addAIChatMessage(message) {
159
+ await this.append('assistant', message);
160
+ }
161
+ // Safe profile: intentionally non-destructive.
162
+ async clear() {
163
+ return;
164
+ }
165
+ }
58
166
  class Mem0Memory {
59
167
  constructor() {
60
168
  this.description = {
@@ -63,7 +171,7 @@ class Mem0Memory {
63
171
  icon: 'file:mem0.svg',
64
172
  group: ['transform'],
65
173
  version: 1,
66
- description: 'Safe chat memory for AI Agent using Mem0 Self-Hosted',
174
+ description: 'Persistent chat memory for AI Agent using Mem0 Self-Hosted OSS REST API',
67
175
  defaults: { name: 'Mem0 Chat Memory' },
68
176
  inputs: [],
69
177
  outputs: [n8n_workflow_1.NodeConnectionTypes.AiMemory],
@@ -94,157 +202,94 @@ class Mem0Memory {
94
202
  description: 'Optional conversation/session identifier',
95
203
  },
96
204
  {
97
- displayName: 'Default Query',
98
- name: 'defaultQuery',
99
- type: 'string',
100
- default: '',
101
- description: 'Fallback search query when no dynamic input query is available',
102
- },
103
- {
104
- displayName: 'Top K',
205
+ displayName: 'Context Window Length',
105
206
  name: 'topK',
106
207
  type: 'number',
107
208
  default: 10,
108
209
  typeOptions: { minValue: 1, maxValue: 50 },
109
- description: 'Maximum number of memories retrieved per search',
210
+ description: 'Number of recent exchanges to inject (internally converted to messages)',
110
211
  },
111
212
  {
112
- displayName: 'Rerank',
113
- name: 'rerank',
213
+ displayName: 'Infer on Store',
214
+ name: 'infer',
114
215
  type: 'boolean',
115
216
  default: false,
116
- description: 'Enable reranking during search retrieval',
217
+ description: 'Legacy toggle kept for compatibility. Safe profile stores raw chat turns.',
117
218
  },
118
219
  {
119
- displayName: 'Fields (Comma Separated)',
120
- name: 'fields',
220
+ displayName: 'Default Query (Legacy)',
221
+ name: 'defaultQuery',
121
222
  type: 'string',
122
223
  default: '',
123
- description: 'Optional fields list for search response',
224
+ description: 'Legacy field kept for workflow compatibility (not used in persistent chat mode)',
124
225
  },
125
226
  {
126
- displayName: 'Infer on Store',
127
- name: 'infer',
227
+ displayName: 'Rerank (Legacy)',
228
+ name: 'rerank',
128
229
  type: 'boolean',
129
- default: true,
130
- description: 'Enable Mem0 inference when storing memory entries',
230
+ default: false,
231
+ description: 'Legacy field kept for workflow compatibility (not used)',
232
+ },
233
+ {
234
+ displayName: 'Fields (Legacy)',
235
+ name: 'fields',
236
+ type: 'string',
237
+ default: '',
238
+ description: 'Legacy field kept for workflow compatibility (not used)',
131
239
  },
132
240
  ],
133
241
  };
134
242
  }
135
243
  async supplyData(itemIndex) {
136
244
  const MAX_MESSAGE_LENGTH = 10000;
137
- const MAX_QUERY_LENGTH = 2000;
138
- const FALLBACK_QUERY = 'recent conversation context for this user and agent';
139
- const self = this;
140
245
  const userId = String(this.getNodeParameter('userId', itemIndex, '') || '').trim();
141
246
  const agentId = String(this.getNodeParameter('agentId', itemIndex, '') || '').trim();
142
247
  const runId = String(this.getNodeParameter('runId', itemIndex, '') || '').trim();
143
- const defaultQuery = String(this.getNodeParameter('defaultQuery', itemIndex, '') || '').trim();
144
- const topK = Math.min(Math.max(1, Math.floor(Number(this.getNodeParameter('topK', itemIndex, 10) || 10))), 50);
145
- const rerank = Boolean(this.getNodeParameter('rerank', itemIndex, false));
146
- const fieldsInput = String(this.getNodeParameter('fields', itemIndex, '') || '').trim();
147
- const infer = Boolean(this.getNodeParameter('infer', itemIndex, true));
248
+ const contextWindowLength = Math.min(50, Math.max(1, Math.floor(Number(this.getNodeParameter('topK', itemIndex, 10) || 10))));
148
249
  if (!userId || !agentId) {
149
250
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'User ID and Agent ID are required.');
150
251
  }
151
- function buildScope() {
152
- const scope = {
153
- user_id: userId,
154
- agent_id: agentId,
155
- };
156
- if (runId)
157
- scope.run_id = runId;
158
- return scope;
159
- }
160
- async function searchMessages(query) {
161
- const normalizedQuery = String(query || '').trim();
162
- const effectiveQuery = normalizedQuery || FALLBACK_QUERY;
163
- if (effectiveQuery.length > MAX_QUERY_LENGTH) {
164
- throw new n8n_workflow_1.NodeOperationError(self.getNode(), `Search query is too long. Maximum supported length is ${MAX_QUERY_LENGTH} characters.`);
165
- }
166
- const body = {
167
- query: effectiveQuery,
168
- top_k: topK,
169
- rerank,
170
- ...buildScope(),
171
- };
172
- if (fieldsInput) {
173
- body.fields = fieldsInput
174
- .split(',')
175
- .map((field) => field.trim())
176
- .filter((field) => field.length > 0);
177
- }
178
- const response = await GenericFunctions_1.mem0ApiRequest.call(self, 'POST', '/search', body);
179
- const results = (0, GenericFunctions_1.extractResults)(response);
180
- return results.map((entry) => toLangchainMessage(entry));
181
- }
182
- async function storeMessage(role, content) {
183
- const normalized = String(content || '').trim();
184
- if (!normalized)
185
- return;
186
- if (normalized.length > MAX_MESSAGE_LENGTH) {
187
- throw new n8n_workflow_1.NodeOperationError(self.getNode(), `${role === 'user' ? 'User' : 'Assistant'} message is too long. Maximum supported length is ${MAX_MESSAGE_LENGTH} characters.`);
188
- }
189
- const body = {
190
- messages: [{ role, content: normalized }],
191
- infer,
192
- metadata: { source: 'n8n_mem0_memory_safe', role },
193
- ...buildScope(),
194
- };
195
- await GenericFunctions_1.mem0ApiRequest.call(self, 'POST', '/memories', body);
196
- }
197
- const memoryObject = {
198
- memoryKeys: ['chat_history'],
199
- chatHistory: {
200
- async getMessages() {
201
- return searchMessages(defaultQuery);
202
- },
203
- async addMessage(message) {
204
- const role = String(message?.role || message?.type || '').toLowerCase();
205
- const content = String(message?.content ?? '');
206
- if (role === 'assistant' || role === 'ai') {
207
- await storeMessage('assistant', content);
208
- return;
209
- }
210
- await storeMessage('user', content);
211
- },
212
- async addMessages(messages) {
213
- for (const message of messages || []) {
214
- await this.addMessage(message);
215
- }
216
- },
217
- async addUserMessage(message) {
218
- await storeMessage('user', message);
219
- },
220
- async addAIMessage(message) {
221
- await storeMessage('assistant', message);
252
+ const scope = {
253
+ user_id: userId,
254
+ agent_id: agentId,
255
+ };
256
+ if (runId)
257
+ scope.run_id = runId;
258
+ const chatHistory = new Mem0ChatHistory(this, scope, {
259
+ maxMessageLength: MAX_MESSAGE_LENGTH,
260
+ contextWindowLength,
261
+ });
262
+ const memory = BufferWindowMemory
263
+ ? new BufferWindowMemory({
264
+ memoryKey: 'chat_history',
265
+ chatHistory,
266
+ returnMessages: true,
267
+ inputKey: 'input',
268
+ outputKey: 'output',
269
+ k: contextWindowLength,
270
+ })
271
+ : {
272
+ memoryKey: 'chat_history',
273
+ chatHistory,
274
+ returnMessages: true,
275
+ inputKey: 'input',
276
+ outputKey: 'output',
277
+ async loadMemoryVariables() {
278
+ return { chat_history: await chatHistory.getMessages() };
222
279
  },
223
- async addAIChatMessage(message) {
224
- await storeMessage('assistant', message);
280
+ async saveContext(inputValues, outputValues) {
281
+ const userInput = String(inputValues?.input || inputValues?.query || inputValues?.human_input || inputValues?.chatInput || '').trim();
282
+ const assistantOutput = String(outputValues?.output || outputValues?.response || outputValues?.text || '').trim();
283
+ if (userInput)
284
+ await chatHistory.addUserMessage(userInput);
285
+ if (assistantOutput)
286
+ await chatHistory.addAIMessage(assistantOutput);
225
287
  },
226
- // Intentionally non-destructive in safe profile.
227
288
  async clear() {
228
289
  return;
229
290
  },
230
- },
231
- async loadMemoryVariables(values) {
232
- const query = String(values?.input || values?.query || values?.human_input || values?.chatInput || defaultQuery || '').trim();
233
- const messages = await searchMessages(query);
234
- return { chat_history: messages };
235
- },
236
- async saveContext(inputValues, outputValues) {
237
- const userInput = String(inputValues?.input || inputValues?.query || inputValues?.human_input || inputValues?.chatInput || '').trim();
238
- const assistantOutput = String(outputValues?.output || outputValues?.response || outputValues?.text || '').trim();
239
- await storeMessage('user', userInput);
240
- await storeMessage('assistant', assistantOutput);
241
- },
242
- // Intentionally non-destructive in safe profile.
243
- async clear() {
244
- return;
245
- },
246
- };
247
- return { response: memoryObject };
291
+ };
292
+ return { response: wrapMemoryResponse(memory, this) };
248
293
  }
249
294
  async execute() {
250
295
  const items = this.getInputData();
@@ -1 +1 @@
1
- {"version":3,"file":"Mem0Memory.node.js","sourceRoot":"","sources":["../../../nodes/Mem0/Mem0Memory.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mem0Memory.node.js","sourceRoot":"","sources":["../../../nodes/Mem0/Mem0Memory.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-mem0-self",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "n8n community node for Mem0 Self-Hosted REST API",
5
5
  "license": "MIT",
6
6
  "author": {