n8n-nodes-memory 0.3.0 → 0.4.0

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.
@@ -22,20 +22,23 @@ class ApiChatHistory extends chat_history_1.BaseListChatMessageHistory {
22
22
  return headers;
23
23
  }
24
24
  async getMessages() {
25
+ console.log('[ApiChatHistory] getMessages called for session:', this.sessionId);
25
26
  try {
26
27
  const url = new URL(this.apiUrl);
27
28
  url.searchParams.set('action', 'get');
28
29
  url.searchParams.set('sessionId', this.sessionId);
30
+ console.log('[ApiChatHistory] Fetching from:', url.toString());
29
31
  const response = await fetch(url.toString(), {
30
32
  method: 'GET',
31
33
  headers: this.getHeaders(),
32
34
  });
33
35
  if (!response.ok) {
34
- console.error(`Memory API error: ${response.status}`);
36
+ console.error(`[ApiChatHistory] API error: ${response.status}`);
35
37
  return [];
36
38
  }
37
39
  const data = await response.json();
38
40
  const messages = data?.messages ?? [];
41
+ console.log('[ApiChatHistory] Got messages:', messages.length);
39
42
  return messages.map((m) => {
40
43
  if (m.type === 'human') {
41
44
  return new messages_1.HumanMessage(m.content);
@@ -46,11 +49,12 @@ class ApiChatHistory extends chat_history_1.BaseListChatMessageHistory {
46
49
  });
47
50
  }
48
51
  catch (error) {
49
- console.error('Memory API getMessages error:', error);
52
+ console.error('[ApiChatHistory] getMessages error:', error);
50
53
  return [];
51
54
  }
52
55
  }
53
56
  async addMessage(message) {
57
+ console.log('[ApiChatHistory] addMessage called for session:', this.sessionId);
54
58
  try {
55
59
  const type = message._getType() === 'human' ? 'human' : 'ai';
56
60
  await fetch(this.apiUrl, {
@@ -65,9 +69,10 @@ class ApiChatHistory extends chat_history_1.BaseListChatMessageHistory {
65
69
  },
66
70
  }),
67
71
  });
72
+ console.log('[ApiChatHistory] Message added successfully');
68
73
  }
69
74
  catch (error) {
70
- console.error('Memory API addMessage error:', error);
75
+ console.error('[ApiChatHistory] addMessage error:', error);
71
76
  }
72
77
  }
73
78
  async addMessages(messages) {
@@ -76,6 +81,7 @@ class ApiChatHistory extends chat_history_1.BaseListChatMessageHistory {
76
81
  }
77
82
  }
78
83
  async clear() {
84
+ console.log('[ApiChatHistory] clear called for session:', this.sessionId);
79
85
  try {
80
86
  await fetch(this.apiUrl, {
81
87
  method: 'POST',
@@ -87,7 +93,7 @@ class ApiChatHistory extends chat_history_1.BaseListChatMessageHistory {
87
93
  });
88
94
  }
89
95
  catch (error) {
90
- console.error('Memory API clear error:', error);
96
+ console.error('[ApiChatHistory] clear error:', error);
91
97
  }
92
98
  }
93
99
  }
@@ -148,6 +154,13 @@ class Memory {
148
154
  default: '',
149
155
  description: 'Optional API key for authentication',
150
156
  },
157
+ {
158
+ displayName: 'Context Window Length',
159
+ name: 'contextWindowLength',
160
+ type: 'number',
161
+ default: 10,
162
+ description: 'Number of previous messages to include as context',
163
+ },
151
164
  ],
152
165
  };
153
166
  }
@@ -155,13 +168,16 @@ class Memory {
155
168
  const apiUrl = this.getNodeParameter('apiUrl', itemIndex);
156
169
  const sessionId = this.getNodeParameter('sessionId', itemIndex);
157
170
  const apiKey = this.getNodeParameter('apiKey', itemIndex, '') || undefined;
171
+ const contextWindowLength = this.getNodeParameter('contextWindowLength', itemIndex, 10);
172
+ console.log('[Memory API] Creating memory for session:', sessionId);
158
173
  const chatHistory = new ApiChatHistory(apiUrl, sessionId, apiKey);
159
- const memory = new memory_1.BufferMemory({
174
+ const memory = new memory_1.BufferWindowMemory({
160
175
  memoryKey: 'chat_history',
161
176
  chatHistory,
162
177
  returnMessages: true,
163
178
  inputKey: 'input',
164
179
  outputKey: 'output',
180
+ k: contextWindowLength,
165
181
  });
166
182
  return {
167
183
  response: memory,
@@ -169,4 +185,4 @@ class Memory {
169
185
  }
170
186
  }
171
187
  exports.Memory = Memory;
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5Lm5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm9kZXMvTWVtb3J5L01lbW9yeS5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDZDQUFnRDtBQUNoRCwrREFBMEU7QUFDMUUsdURBSWtDO0FBRWxDLE1BQU0sY0FBZSxTQUFRLHlDQUEwQjtJQUdyRCxZQUNVLE1BQWMsRUFDZCxTQUFpQixFQUNqQixNQUFlO1FBRXZCLEtBQUssRUFBRSxDQUFDO1FBSkEsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUx6QixpQkFBWSxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFRekQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxPQUFPLEdBQTJCO1lBQ3RDLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkMsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0QyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWxELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUs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RUFBRSxFQUFFO29CQUNYLFdBQVcsRUFBRSxxQ0FBcUM7aUJBQ25EO2FBQ0Y7U0FDRixDQUFDO0lBd0JKLENBQUM7SUF0QkMsS0FBSyxDQUFDLFVBQVUsQ0FFZCxTQUFpQjtRQUVqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBVyxDQUFDO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFXLENBQUM7UUFDMUUsTUFBTSxNQUFNLEdBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFZLElBQUksU0FBUyxDQUFDO1FBRXZGLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxxQkFBWSxDQUFDO1lBQzlCLFNBQVMsRUFBRSxjQUFjO1lBQ3pCLFdBQVc7WUFDWCxjQUFjLEVBQUUsSUFBSTtZQUNwQixRQUFRLEVBQUUsT0FBTztZQUNqQixTQUFTLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWpGRCx3QkFpRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIElOb2RlVHlwZSxcbiAgSU5vZGVUeXBlRGVzY3JpcHRpb24sXG4gIElTdXBwbHlEYXRhRnVuY3Rpb25zLFxuICBTdXBwbHlEYXRhLFxufSBmcm9tICduOG4td29ya2Zsb3cnO1xuaW1wb3J0IHsgQnVmZmVyTWVtb3J5IH0gZnJvbSAnbGFuZ2NoYWluL21lbW9yeSc7XG5pbXBvcnQgeyBCYXNlTGlzdENoYXRNZXNzYWdlSGlzdG9yeSB9IGZyb20gJ0BsYW5nY2hhaW4vY29yZS9jaGF0X2hpc3RvcnknO1xuaW1wb3J0IHtcbiAgQmFzZU1lc3NhZ2UsXG4gIEh1bWFuTWVzc2FnZSxcbiAgQUlNZXNzYWdlLFxufSBmcm9tICdAbGFuZ2NoYWluL2NvcmUvbWVzc2FnZXMnO1xuXG5jbGFzcyBBcGlDaGF0SGlzdG9yeSBleHRlbmRzIEJhc2VMaXN0Q2hhdE1lc3NhZ2VIaXN0b3J5IHtcbiAgbGNfbmFtZXNwYWNlID0gWydsYW5nY2hhaW4nLCAnc3RvcmVzJywgJ21lc3NhZ2UnLCAnYXBpJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlVcmw6IHN0cmluZyxcbiAgICBwcml2YXRlIHNlc3Npb25JZDogc3RyaW5nLFxuICAgIHByaXZhdGUgYXBpS2V5Pzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH07XG4gICAgaWYgKHRoaXMuYXBpS2V5KSB7XG4gICAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dGhpcy5hcGlLZXl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICBhc3luYyBnZXRNZXNzYWdlcygpOiBQcm9taXNlPEJhc2VNZXNzYWdlW10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLmFwaVVybCk7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldCgnYWN0aW9uJywgJ2dldCcpO1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoJ3Nlc3Npb25JZCcsIHRoaXMuc2Vzc2lvbklkKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwudG9TdHJpbmcoKSwge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYE1lbW9yeSBBUEkgZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMgeyBtZXNzYWdlcz86IEFycmF5PHsgdHlwZTogc3RyaW5nOyBjb250ZW50OiBzdHJpbmcgfT4gfTtcbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gZGF0YT8ubWVzc2FnZXMgPz8gW107XG5cbiAgICAgIHJldHVybiBtZXNzYWdlcy5tYXAoKG06IHsgdHlwZTogc3RyaW5nOyBjb250ZW50OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBpZiAobS50eXBlID09PSAnaHVtYW4nKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBIdW1hbk1lc3NhZ2UobS5jb250ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbmV3IEFJTWVzc2FnZShtLmNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignTWVtb3J5IEFQSSBnZXRNZXNzYWdlcyBlcnJvcjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYWRkTWVzc2FnZShtZXNzYWdlOiBCYXNlTWVzc2FnZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0eXBlID0gbWVzc2FnZS5fZ2V0VHlwZSgpID09PSAnaHVtYW4nID8gJ2h1bWFuJyA6ICdhaSc7XG5cbiAgICAgIGF3YWl0IGZldGNoKHRoaXMuYXBpVXJsLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnMoKSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGFjdGlvbjogJ2FkZCcsXG4gICAgICAgICAgc2Vzc2lvbklkOiB0aGlzLnNlc3Npb25JZCxcbiAgICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgY29udGVudDogbWVzc2FnZS5jb250ZW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01lbW9yeSBBUEkgYWRkTWVzc2FnZSBlcnJvcjonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYWRkTWVzc2FnZXMobWVzc2FnZXM6IEJhc2VNZXNzYWdlW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcbiAgICAgIGF3YWl0IHRoaXMuYWRkTWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZmV0Y2godGhpcy5hcGlVcmwsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgYWN0aW9uOiAnY2xlYXInLFxuICAgICAgICAgIHNlc3Npb25JZDogdGhpcy5zZXNzaW9uSWQsXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01lbW9yeSBBUEkgY2xlYXIgZXJyb3I6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVtb3J5IGltcGxlbWVudHMgSU5vZGVUeXBlIHtcbiAgZGVzY3JpcHRpb246IElOb2RlVHlwZURlc2NyaXB0aW9uID0ge1xuICAgIGRpc3BsYXlOYW1lOiAnTWVtb3J5IEFQSScsXG4gICAgbmFtZTogJ21lbW9yeUFwaScsXG4gICAgaWNvbjogJ2ZhOmJyYWluJyxcbiAgICBncm91cDogWyd0cmFuc2Zvcm0nXSxcbiAgICB2ZXJzaW9uOiAxLFxuICAgIHN1YnRpdGxlOiAnRXh0ZXJuYWwgQVBJIE1lbW9yeScsXG4gICAgZGVzY3JpcHRpb246ICdVc2UgYW4gZXh0ZXJuYWwgQVBJIGFzIGNoYXQgbWVtb3J5IHN0b3JhZ2UnLFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICBuYW1lOiAnTWVtb3J5IEFQSScsXG4gICAgfSxcbiAgICBjb2RleDoge1xuICAgICAgY2F0ZWdvcmllczogWydBSSddLFxuICAgICAgc3ViY2F0ZWdvcmllczoge1xuICAgICAgICBBSTogWydNZW1vcnknXSxcbiAgICAgIH0sXG4gICAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgcHJpbWFyeURvY3VtZW50YXRpb246IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cmw6ICdodHRwczovL2dpdGh1Yi5jb20vZmlsaXBleHl6L244bi1ub2Rlcy1tZW1vcnknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW5wdXRzOiBbXSxcbiAgICBvdXRwdXRzOiBbJ2FpX21lbW9yeScgYXMgY29uc3RdLFxuICAgIG91dHB1dE5hbWVzOiBbJ01lbW9yeSddLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgZGlzcGxheU5hbWU6ICdBUEkgVVJMJyxcbiAgICAgICAgbmFtZTogJ2FwaVVybCcsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVVJMIG9mIHRoZSBtZW1vcnkgQVBJIChlLmcuLCBuOG4gd2ViaG9vayBVUkwpJyxcbiAgICAgICAgcGxhY2Vob2xkZXI6ICdodHRwczovL3lvdXItbjhuLmNvbS93ZWJob29rL21lbW9yeScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkaXNwbGF5TmFtZTogJ1Nlc3Npb24gSUQnLFxuICAgICAgICBuYW1lOiAnc2Vzc2lvbklkJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlZmF1bHQ6ICc9e3sgJGpzb24uc2Vzc2lvbklkIH19JyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb252ZXJzYXRpb24gc2Vzc2lvbicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkaXNwbGF5TmFtZTogJ0FQSSBLZXknLFxuICAgICAgICBuYW1lOiAnYXBpS2V5JyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHR5cGVPcHRpb25zOiB7XG4gICAgICAgICAgcGFzc3dvcmQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGlvbmFsIEFQSSBrZXkgZm9yIGF1dGhlbnRpY2F0aW9uJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcblxuICBhc3luYyBzdXBwbHlEYXRhKFxuICAgIHRoaXM6IElTdXBwbHlEYXRhRnVuY3Rpb25zLFxuICAgIGl0ZW1JbmRleDogbnVtYmVyXG4gICk6IFByb21pc2U8U3VwcGx5RGF0YT4ge1xuICAgIGNvbnN0IGFwaVVybCA9IHRoaXMuZ2V0Tm9kZVBhcmFtZXRlcignYXBpVXJsJywgaXRlbUluZGV4KSBhcyBzdHJpbmc7XG4gICAgY29uc3Qgc2Vzc2lvbklkID0gdGhpcy5nZXROb2RlUGFyYW1ldGVyKCdzZXNzaW9uSWQnLCBpdGVtSW5kZXgpIGFzIHN0cmluZztcbiAgICBjb25zdCBhcGlLZXkgPSAodGhpcy5nZXROb2RlUGFyYW1ldGVyKCdhcGlLZXknLCBpdGVtSW5kZXgsICcnKSBhcyBzdHJpbmcpIHx8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGNoYXRIaXN0b3J5ID0gbmV3IEFwaUNoYXRIaXN0b3J5KGFwaVVybCwgc2Vzc2lvbklkLCBhcGlLZXkpO1xuXG4gICAgY29uc3QgbWVtb3J5ID0gbmV3IEJ1ZmZlck1lbW9yeSh7XG4gICAgICBtZW1vcnlLZXk6ICdjaGF0X2hpc3RvcnknLFxuICAgICAgY2hhdEhpc3RvcnksXG4gICAgICByZXR1cm5NZXNzYWdlczogdHJ1ZSxcbiAgICAgIGlucHV0S2V5OiAnaW5wdXQnLFxuICAgICAgb3V0cHV0S2V5OiAnb3V0cHV0JyxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICByZXNwb25zZTogbWVtb3J5LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5Lm5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm9kZXMvTWVtb3J5L01lbW9yeS5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDZDQUFzRDtBQUN0RCwrREFBMEU7QUFDMUUsdURBSWtDO0FBRWxDLE1BQU0sY0FBZSxTQUFRLHlDQUEwQjtJQUdyRCxZQUNVLE1BQWMsRUFDZCxTQUFpQixFQUNqQixNQUFlO1FBRXZCLEtBQUssRUFBRSxDQUFDO1FBSkEsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUx6QixpQkFBWSxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFRekQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxPQUFPLEdBQTJCO1lBQ3RDLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkMsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrREFBa0QsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0QyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FB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QUFPLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSwyQkFBa0IsQ0FBQztZQUNwQyxTQUFTLEVBQUUsY0FBYztZQUN6QixXQUFXO1lBQ1gsY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLE9BQU87WUFDakIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsQ0FBQyxFQUFFLG1CQUFtQjtTQUN2QixDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTVGRCx3QkE0RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIElOb2RlVHlwZSxcbiAgSU5vZGVUeXBlRGVzY3JpcHRpb24sXG4gIElTdXBwbHlEYXRhRnVuY3Rpb25zLFxuICBTdXBwbHlEYXRhLFxufSBmcm9tICduOG4td29ya2Zsb3cnO1xuaW1wb3J0IHsgQnVmZmVyV2luZG93TWVtb3J5IH0gZnJvbSAnbGFuZ2NoYWluL21lbW9yeSc7XG5pbXBvcnQgeyBCYXNlTGlzdENoYXRNZXNzYWdlSGlzdG9yeSB9IGZyb20gJ0BsYW5nY2hhaW4vY29yZS9jaGF0X2hpc3RvcnknO1xuaW1wb3J0IHtcbiAgQmFzZU1lc3NhZ2UsXG4gIEh1bWFuTWVzc2FnZSxcbiAgQUlNZXNzYWdlLFxufSBmcm9tICdAbGFuZ2NoYWluL2NvcmUvbWVzc2FnZXMnO1xuXG5jbGFzcyBBcGlDaGF0SGlzdG9yeSBleHRlbmRzIEJhc2VMaXN0Q2hhdE1lc3NhZ2VIaXN0b3J5IHtcbiAgbGNfbmFtZXNwYWNlID0gWydsYW5nY2hhaW4nLCAnc3RvcmVzJywgJ21lc3NhZ2UnLCAnYXBpJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlVcmw6IHN0cmluZyxcbiAgICBwcml2YXRlIHNlc3Npb25JZDogc3RyaW5nLFxuICAgIHByaXZhdGUgYXBpS2V5Pzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgIH07XG4gICAgaWYgKHRoaXMuYXBpS2V5KSB7XG4gICAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dGhpcy5hcGlLZXl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICBhc3luYyBnZXRNZXNzYWdlcygpOiBQcm9taXNlPEJhc2VNZXNzYWdlW10+IHtcbiAgICBjb25zb2xlLmxvZygnW0FwaUNoYXRIaXN0b3J5XSBnZXRNZXNzYWdlcyBjYWxsZWQgZm9yIHNlc3Npb246JywgdGhpcy5zZXNzaW9uSWQpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMuYXBpVXJsKTtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCdhY3Rpb24nLCAnZ2V0Jyk7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldCgnc2Vzc2lvbklkJywgdGhpcy5zZXNzaW9uSWQpO1xuXG4gICAgICBjb25zb2xlLmxvZygnW0FwaUNoYXRIaXN0b3J5XSBGZXRjaGluZyBmcm9tOicsIHVybC50b1N0cmluZygpKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLnRvU3RyaW5nKCksIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbQXBpQ2hhdEhpc3RvcnldIEFQSSBlcnJvcjogJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKSBhcyB7IG1lc3NhZ2VzPzogQXJyYXk8eyB0eXBlOiBzdHJpbmc7IGNvbnRlbnQ6IHN0cmluZyB9PiB9O1xuICAgICAgY29uc3QgbWVzc2FnZXMgPSBkYXRhPy5tZXNzYWdlcyA/PyBbXTtcbiAgICAgIGNvbnNvbGUubG9nKCdbQXBpQ2hhdEhpc3RvcnldIEdvdCBtZXNzYWdlczonLCBtZXNzYWdlcy5sZW5ndGgpO1xuXG4gICAgICByZXR1cm4gbWVzc2FnZXMubWFwKChtOiB7IHR5cGU6IHN0cmluZzsgY29udGVudDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgaWYgKG0udHlwZSA9PT0gJ2h1bWFuJykge1xuICAgICAgICAgIHJldHVybiBuZXcgSHVtYW5NZXNzYWdlKG0uY29udGVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBBSU1lc3NhZ2UobS5jb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tBcGlDaGF0SGlzdG9yeV0gZ2V0TWVzc2FnZXMgZXJyb3I6JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGFkZE1lc3NhZ2UobWVzc2FnZTogQmFzZU1lc3NhZ2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZygnW0FwaUNoYXRIaXN0b3J5XSBhZGRNZXNzYWdlIGNhbGxlZCBmb3Igc2Vzc2lvbjonLCB0aGlzLnNlc3Npb25JZCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBtZXNzYWdlLl9nZXRUeXBlKCkgPT09ICdodW1hbicgPyAnaHVtYW4nIDogJ2FpJztcblxuICAgICAgYXdhaXQgZmV0Y2godGhpcy5hcGlVcmwsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgYWN0aW9uOiAnYWRkJyxcbiAgICAgICAgICBzZXNzaW9uSWQ6IHRoaXMuc2Vzc2lvbklkLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBjb250ZW50OiBtZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgICAgIGNvbnNvbGUubG9nKCdbQXBpQ2hhdEhpc3RvcnldIE1lc3NhZ2UgYWRkZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tBcGlDaGF0SGlzdG9yeV0gYWRkTWVzc2FnZSBlcnJvcjonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYWRkTWVzc2FnZXMobWVzc2FnZXM6IEJhc2VNZXNzYWdlW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcbiAgICAgIGF3YWl0IHRoaXMuYWRkTWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZygnW0FwaUNoYXRIaXN0b3J5XSBjbGVhciBjYWxsZWQgZm9yIHNlc3Npb246JywgdGhpcy5zZXNzaW9uSWQpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmZXRjaCh0aGlzLmFwaVVybCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCksXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBhY3Rpb246ICdjbGVhcicsXG4gICAgICAgICAgc2Vzc2lvbklkOiB0aGlzLnNlc3Npb25JZCxcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW0FwaUNoYXRIaXN0b3J5XSBjbGVhciBlcnJvcjonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNZW1vcnkgaW1wbGVtZW50cyBJTm9kZVR5cGUge1xuICBkZXNjcmlwdGlvbjogSU5vZGVUeXBlRGVzY3JpcHRpb24gPSB7XG4gICAgZGlzcGxheU5hbWU6ICdNZW1vcnkgQVBJJyxcbiAgICBuYW1lOiAnbWVtb3J5QXBpJyxcbiAgICBpY29uOiAnZmE6YnJhaW4nLFxuICAgIGdyb3VwOiBbJ3RyYW5zZm9ybSddLFxuICAgIHZlcnNpb246IDEsXG4gICAgc3VidGl0bGU6ICdFeHRlcm5hbCBBUEkgTWVtb3J5JyxcbiAgICBkZXNjcmlwdGlvbjogJ1VzZSBhbiBleHRlcm5hbCBBUEkgYXMgY2hhdCBtZW1vcnkgc3RvcmFnZScsXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgIG5hbWU6ICdNZW1vcnkgQVBJJyxcbiAgICB9LFxuICAgIGNvZGV4OiB7XG4gICAgICBjYXRlZ29yaWVzOiBbJ0FJJ10sXG4gICAgICBzdWJjYXRlZ29yaWVzOiB7XG4gICAgICAgIEFJOiBbJ01lbW9yeSddLFxuICAgICAgfSxcbiAgICAgIHJlc291cmNlczoge1xuICAgICAgICBwcmltYXJ5RG9jdW1lbnRhdGlvbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9maWxpcGV4eXovbjhuLW5vZGVzLW1lbW9yeScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBpbnB1dHM6IFtdLFxuICAgIG91dHB1dHM6IFsnYWlfbWVtb3J5JyBhcyBjb25zdF0sXG4gICAgb3V0cHV0TmFtZXM6IFsnTWVtb3J5J10sXG4gICAgcHJvcGVydGllczogW1xuICAgICAge1xuICAgICAgICBkaXNwbGF5TmFtZTogJ0FQSSBVUkwnLFxuICAgICAgICBuYW1lOiAnYXBpVXJsJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdVUkwgb2YgdGhlIG1lbW9yeSBBUEkgKGUuZy4sIG44biB3ZWJob29rIFVSTCknLFxuICAgICAgICBwbGFjZWhvbGRlcjogJ2h0dHBzOi8veW91ci1uOG4uY29tL3dlYmhvb2svbWVtb3J5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGRpc3BsYXlOYW1lOiAnU2Vzc2lvbiBJRCcsXG4gICAgICAgIG5hbWU6ICdzZXNzaW9uSWQnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVmYXVsdDogJz17eyAkanNvbi5zZXNzaW9uSWQgfX0nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGNvbnZlcnNhdGlvbiBzZXNzaW9uJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGRpc3BsYXlOYW1lOiAnQVBJIEtleScsXG4gICAgICAgIG5hbWU6ICdhcGlLZXknLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgdHlwZU9wdGlvbnM6IHtcbiAgICAgICAgICBwYXNzd29yZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW9uYWwgQVBJIGtleSBmb3IgYXV0aGVudGljYXRpb24nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZGlzcGxheU5hbWU6ICdDb250ZXh0IFdpbmRvdyBMZW5ndGgnLFxuICAgICAgICBuYW1lOiAnY29udGV4dFdpbmRvd0xlbmd0aCcsXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICBkZWZhdWx0OiAxMCxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOdW1iZXIgb2YgcHJldmlvdXMgbWVzc2FnZXMgdG8gaW5jbHVkZSBhcyBjb250ZXh0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcblxuICBhc3luYyBzdXBwbHlEYXRhKFxuICAgIHRoaXM6IElTdXBwbHlEYXRhRnVuY3Rpb25zLFxuICAgIGl0ZW1JbmRleDogbnVtYmVyXG4gICk6IFByb21pc2U8U3VwcGx5RGF0YT4ge1xuICAgIGNvbnN0IGFwaVVybCA9IHRoaXMuZ2V0Tm9kZVBhcmFtZXRlcignYXBpVXJsJywgaXRlbUluZGV4KSBhcyBzdHJpbmc7XG4gICAgY29uc3Qgc2Vzc2lvbklkID0gdGhpcy5nZXROb2RlUGFyYW1ldGVyKCdzZXNzaW9uSWQnLCBpdGVtSW5kZXgpIGFzIHN0cmluZztcbiAgICBjb25zdCBhcGlLZXkgPSAodGhpcy5nZXROb2RlUGFyYW1ldGVyKCdhcGlLZXknLCBpdGVtSW5kZXgsICcnKSBhcyBzdHJpbmcpIHx8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjb250ZXh0V2luZG93TGVuZ3RoID0gdGhpcy5nZXROb2RlUGFyYW1ldGVyKCdjb250ZXh0V2luZG93TGVuZ3RoJywgaXRlbUluZGV4LCAxMCkgYXMgbnVtYmVyO1xuXG4gICAgY29uc29sZS5sb2coJ1tNZW1vcnkgQVBJXSBDcmVhdGluZyBtZW1vcnkgZm9yIHNlc3Npb246Jywgc2Vzc2lvbklkKTtcblxuICAgIGNvbnN0IGNoYXRIaXN0b3J5ID0gbmV3IEFwaUNoYXRIaXN0b3J5KGFwaVVybCwgc2Vzc2lvbklkLCBhcGlLZXkpO1xuXG4gICAgY29uc3QgbWVtb3J5ID0gbmV3IEJ1ZmZlcldpbmRvd01lbW9yeSh7XG4gICAgICBtZW1vcnlLZXk6ICdjaGF0X2hpc3RvcnknLFxuICAgICAgY2hhdEhpc3RvcnksXG4gICAgICByZXR1cm5NZXNzYWdlczogdHJ1ZSxcbiAgICAgIGlucHV0S2V5OiAnaW5wdXQnLFxuICAgICAgb3V0cHV0S2V5OiAnb3V0cHV0JyxcbiAgICAgIGs6IGNvbnRleHRXaW5kb3dMZW5ndGgsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmVzcG9uc2U6IG1lbW9yeSxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-memory",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Custom memory node for n8n AI Agent with external API support",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",