n8n-nodes-smart-memory 1.0.99 → 1.1.1

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.
Files changed (35) hide show
  1. package/dist/SmartMemory.d.ts +26 -0
  2. package/dist/SmartMemory.d.ts.map +1 -1
  3. package/dist/SmartMemory.js +73 -36
  4. package/dist/SmartMemory.js.map +1 -1
  5. package/dist/SmartMemory.node.d.ts +7 -3
  6. package/dist/SmartMemory.node.d.ts.map +1 -1
  7. package/dist/SmartMemory.node.js +86 -178
  8. package/dist/SmartMemory.node.js.map +1 -1
  9. package/dist/interfaces/MemoryInterfaces.d.ts +38 -1
  10. package/dist/interfaces/MemoryInterfaces.d.ts.map +1 -1
  11. package/dist/storage/InMemoryStorage.d.ts +1 -1
  12. package/dist/storage/InMemoryStorage.d.ts.map +1 -1
  13. package/dist/storage/InMemoryStorage.js +14 -8
  14. package/dist/storage/InMemoryStorage.js.map +1 -1
  15. package/dist/storage/PostgresStorage.d.ts +28 -0
  16. package/dist/storage/PostgresStorage.d.ts.map +1 -1
  17. package/dist/storage/PostgresStorage.js +127 -102
  18. package/dist/storage/PostgresStorage.js.map +1 -1
  19. package/dist/storage/RedisStorage.d.ts +59 -0
  20. package/dist/storage/RedisStorage.d.ts.map +1 -1
  21. package/dist/storage/RedisStorage.js +124 -32
  22. package/dist/storage/RedisStorage.js.map +1 -1
  23. package/dist/storage/SqliteStorage.d.ts +43 -2
  24. package/dist/storage/SqliteStorage.d.ts.map +1 -1
  25. package/dist/storage/SqliteStorage.js +115 -108
  26. package/dist/storage/SqliteStorage.js.map +1 -1
  27. package/dist/utils/StorageFactory.d.ts +16 -0
  28. package/dist/utils/StorageFactory.d.ts.map +1 -0
  29. package/dist/utils/StorageFactory.js +105 -0
  30. package/dist/utils/StorageFactory.js.map +1 -0
  31. package/dist/utils/ValidationUtils.d.ts +15 -0
  32. package/dist/utils/ValidationUtils.d.ts.map +1 -1
  33. package/dist/utils/ValidationUtils.js +65 -0
  34. package/dist/utils/ValidationUtils.js.map +1 -1
  35. package/package.json +5 -2
@@ -1,15 +1,41 @@
1
1
  import { CleanMemoryStructure, MemoryManagerConfig } from './interfaces/MemoryInterfaces';
2
2
  import { MemoryStorage } from './storage/MemoryStorage';
3
+ /**
4
+ * Core class for managing chat memory. It handles message processing,
5
+ * memory creation, and interaction with the storage backend.
6
+ * This class is framework-agnostic.
7
+ */
3
8
  export declare class PureMemoryManager {
4
9
  private config;
5
10
  private storage;
11
+ /**
12
+ * Creates an instance of PureMemoryManager.
13
+ * @param config The memory manager configuration.
14
+ * @param storage (Optional) A storage backend instance. Defaults to `InMemoryStorage`.
15
+ */
6
16
  constructor(config: MemoryManagerConfig, storage?: MemoryStorage);
7
17
  private validateConfig;
18
+ /**
19
+ * Inserts a new message into the memory for a given chat.
20
+ * @param inputData The raw input data containing the message.
21
+ * @param insertMode The mode of insertion ('append' or 'replace').
22
+ * @returns The updated memory structure for the chat.
23
+ */
8
24
  insertMessage(inputData: Record<string, unknown>, insertMode: string): Promise<CleanMemoryStructure>;
9
25
  private validateAndParseInput;
10
26
  private isValidInputData;
27
+ /**
28
+ * Retrieves the memory for a specific chat.
29
+ * @param chatId The ID of the chat to retrieve memory for.
30
+ * @returns The memory structure for the chat, or `null` if not found.
31
+ */
11
32
  getMemory(chatId: string): Promise<CleanMemoryStructure | null>;
33
+ /**
34
+ * Clears the memory for a specific chat or all chats.
35
+ * @param chatId (Optional) The ID of the chat to clear. If not provided, all memory will be cleared.
36
+ */
12
37
  clearMemory(chatId?: string): Promise<void>;
38
+ private getUserIdentity;
13
39
  private createNewMemory;
14
40
  private normalizeChatType;
15
41
  private addMessageToMemory;
@@ -1 +1 @@
1
- {"version":3,"file":"SmartMemory.d.ts","sourceRoot":"","sources":["../src/SmartMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAgCxD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAgB;gBAEnB,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,aAAa;IAMhE,OAAO,CAAC,cAAc;IAShB,aAAa,CACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC;IAgBhC,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,gBAAgB;IAUlB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAO/D,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,gBAAgB;CAkDzB"}
1
+ {"version":3,"file":"SmartMemory.d.ts","sourceRoot":"","sources":["../src/SmartMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAEpB,mBAAmB,EAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,aAAa;IAMhE,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC;IAgBhC,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,gBAAgB;IAUxB;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAOrE;;;OAGG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,gBAAgB;CAkDzB"}
@@ -2,23 +2,36 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PureMemoryManager = void 0;
4
4
  const InMemoryStorage_1 = require("./storage/InMemoryStorage");
5
- const ExpressionEvaluator_1 = require("./utils/ExpressionEvaluator");
6
5
  const constants_1 = require("./constants");
7
6
  const ValidationUtils_1 = require("./utils/ValidationUtils");
7
+ /**
8
+ * Core class for managing chat memory. It handles message processing,
9
+ * memory creation, and interaction with the storage backend.
10
+ * This class is framework-agnostic.
11
+ */
8
12
  class PureMemoryManager {
13
+ /**
14
+ * Creates an instance of PureMemoryManager.
15
+ * @param config The memory manager configuration.
16
+ * @param storage (Optional) A storage backend instance. Defaults to `InMemoryStorage`.
17
+ */
9
18
  constructor(config, storage) {
10
19
  this.validateConfig(config);
11
20
  this.config = config;
12
21
  this.storage = storage ?? new InMemoryStorage_1.InMemoryStorage();
13
22
  }
14
23
  validateConfig(config) {
15
- if (!ValidationUtils_1.ValidationUtils.isValidMemoryWindowSize(config.memoryWindowSize)) {
16
- throw new Error(`Invalid memory window size: ${config.memoryWindowSize}`);
17
- }
18
- if (!config.assistantRole || config.assistantRole.trim() === '') {
19
- throw new Error('Assistant role is required');
24
+ const validationResult = ValidationUtils_1.ValidationUtils.validateConfig(config);
25
+ if (!validationResult.valid) {
26
+ throw new Error(`Invalid configuration: ${validationResult.error}`);
20
27
  }
21
28
  }
29
+ /**
30
+ * Inserts a new message into the memory for a given chat.
31
+ * @param inputData The raw input data containing the message.
32
+ * @param insertMode The mode of insertion ('append' or 'replace').
33
+ * @returns The updated memory structure for the chat.
34
+ */
22
35
  async insertMessage(inputData, insertMode) {
23
36
  const validatedInput = this.validateAndParseInput(inputData);
24
37
  const chatId = validatedInput.message.chat.id;
@@ -40,14 +53,14 @@ class PureMemoryManager {
40
53
  const chat = message.chat;
41
54
  const chatId = chat?.id;
42
55
  if (!ValidationUtils_1.ValidationUtils.isValidChatId(chatId)) {
43
- throw new Error('Invalid or missing chat ID');
56
+ throw new Error(`Invalid or missing chat ID: ${chatId}`);
44
57
  }
45
58
  const messageContent = message.text ??
46
59
  message.caption ??
47
60
  inputData.bot_response ??
48
61
  '';
49
62
  if (!ValidationUtils_1.ValidationUtils.isValidMessage(messageContent)) {
50
- throw new Error('Invalid or empty message content');
63
+ throw new Error(`Invalid or empty message content: "${messageContent}"`);
51
64
  }
52
65
  // Type guard: if we've validated the structure, we can safely cast
53
66
  if (!this.isValidInputData(inputData)) {
@@ -62,43 +75,64 @@ class PureMemoryManager {
62
75
  const chat = message.chat;
63
76
  return chat !== undefined && chat.id !== undefined;
64
77
  }
78
+ /**
79
+ * Retrieves the memory for a specific chat.
80
+ * @param chatId The ID of the chat to retrieve memory for.
81
+ * @returns The memory structure for the chat, or `null` if not found.
82
+ */
65
83
  async getMemory(chatId) {
66
84
  if (!ValidationUtils_1.ValidationUtils.isValidChatId(chatId)) {
67
85
  throw new Error('Invalid chat ID');
68
86
  }
69
87
  return this.storage.getMemory(chatId);
70
88
  }
89
+ /**
90
+ * Clears the memory for a specific chat or all chats.
91
+ * @param chatId (Optional) The ID of the chat to clear. If not provided, all memory will be cleared.
92
+ */
71
93
  async clearMemory(chatId) {
72
94
  if (chatId && !ValidationUtils_1.ValidationUtils.isValidChatId(chatId)) {
73
95
  throw new Error('Invalid chat ID');
74
96
  }
75
97
  await this.storage.clearMemory(chatId);
76
98
  }
99
+ getUserIdentity(message) {
100
+ const from = message.from;
101
+ if (!from)
102
+ return {};
103
+ const displayNameField = this.config.identityFieldMapping.displayName;
104
+ const usernameField = this.config.identityFieldMapping.username;
105
+ const displayName = from[displayNameField];
106
+ const username = usernameField
107
+ ? from[usernameField]
108
+ : undefined;
109
+ const identity = {};
110
+ if (displayName)
111
+ identity.displayName = displayName.trim();
112
+ if (username)
113
+ identity.username = username.trim();
114
+ return identity;
115
+ }
77
116
  createNewMemory(inputData) {
78
117
  const { message } = inputData;
79
118
  const { chat, from } = message;
80
119
  const isBotResponse = !!inputData.bot_response;
81
120
  const chatInfo = {
82
- id: chat.id, // Always use chatId for all chat types
121
+ id: String(chat.id),
83
122
  type: this.normalizeChatType(chat.type),
84
123
  };
85
- // For group chats, set chat name
86
124
  if (chat.type !== 'private') {
87
125
  if (chat.title) {
88
126
  chatInfo.name = chat.title;
89
127
  }
90
128
  }
91
- // Add user info for private chats (stored once at the chat level)
92
- if (chat.type === 'private' && from && !isBotResponse) {
93
- const displayName = ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message: inputData.message }, this.config.identityFieldMapping.displayName);
94
- const username = this.config.identityFieldMapping.username
95
- ? ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message: inputData.message }, this.config.identityFieldMapping.username)
96
- : undefined;
97
- if (displayName) {
98
- chatInfo.displayName = displayName;
129
+ else if (from && !isBotResponse) {
130
+ const identity = this.getUserIdentity(message);
131
+ if (identity.displayName) {
132
+ chatInfo.displayName = identity.displayName;
99
133
  }
100
- if (username) {
101
- chatInfo.username = username;
134
+ if (identity.username) {
135
+ chatInfo.username = identity.username;
102
136
  }
103
137
  }
104
138
  const memory = {
@@ -132,7 +166,7 @@ class PureMemoryManager {
132
166
  if (existingMessages.length < limit) {
133
167
  return [...existingMessages, newMessage];
134
168
  }
135
- // When at capacity, create a new window by dropping the oldest message
169
+ // When at capacity, create new window by dropping oldest message
136
170
  // More efficient than slice + push for large arrays
137
171
  const startIndex = existingMessages.length - limit + 1;
138
172
  return [...existingMessages.slice(startIndex), newMessage];
@@ -168,16 +202,13 @@ class PureMemoryManager {
168
202
  extractUserInfo(message) {
169
203
  if (!message.from)
170
204
  return undefined;
171
- const displayName = ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message }, this.config.identityFieldMapping.displayName);
172
- if (!displayName)
205
+ const identity = this.getUserIdentity(message);
206
+ if (!identity.displayName)
173
207
  return undefined;
174
- const username = this.config.identityFieldMapping.username
175
- ? ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message }, this.config.identityFieldMapping.username)
176
- : undefined;
177
208
  return {
178
209
  id: message.from.id,
179
- displayName,
180
- ...(username && { username }),
210
+ displayName: identity.displayName,
211
+ ...(identity.username && { username: identity.username }),
181
212
  };
182
213
  }
183
214
  extractReplyInfo(replyToMessage) {
@@ -189,21 +220,27 @@ class PureMemoryManager {
189
220
  const replyInfo = {};
190
221
  if (replyUser) {
191
222
  if (this.config.includeReplyDisplayName) {
192
- const displayName = ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message: { from: replyUser } }, this.config.identityFieldMapping.displayName);
223
+ const from = replyUser;
224
+ const displayNameField = this.config.identityFieldMapping.displayName;
225
+ const usernameField = this.config.identityFieldMapping.username;
226
+ const displayName = from?.[displayNameField];
227
+ const username = usernameField
228
+ ? from?.[usernameField]
229
+ : undefined;
193
230
  if (displayName) {
194
- replyInfo.displayName = displayName;
231
+ replyInfo.displayName = displayName.trim();
195
232
  }
196
- }
197
- if (this.config.includeReplyUsername && this.config.identityFieldMapping.username) {
198
- const username = ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message: { from: replyUser } }, this.config.identityFieldMapping.username);
199
233
  if (username) {
200
- replyInfo.username = username;
234
+ replyInfo.username = username.trim();
201
235
  }
202
236
  }
203
237
  }
204
238
  if (this.config.includeReplyMessage) {
205
- const message = reply.text ??
206
- reply.caption ??
239
+ const quote = reply.quote;
240
+ const quoteText = quote?.text;
241
+ const message = (this.config.prioritizeQuoteText && quoteText) ||
242
+ reply.text ||
243
+ reply.caption ||
207
244
  constants_1.MEDIA_PLACEHOLDER;
208
245
  if (message && message.trim() !== '') {
209
246
  replyInfo.message = message;
@@ -1 +1 @@
1
- {"version":3,"file":"SmartMemory.js","sourceRoot":"","sources":["../src/SmartMemory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SmartMemory.js","sourceRoot":"","sources":["../src/SmartMemory.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,17 @@ import { CleanMemoryStructure } from './interfaces/MemoryInterfaces';
3
3
  export declare class SmartMemory implements INodeType {
4
4
  description: INodeTypeDescription;
5
5
  execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
6
- private static _getMemorySettings;
6
+ private static _executeInsert;
7
+ private static _executeGet;
8
+ private static _executeClear;
9
+ private static _getOperationAndSession;
10
+ private static _getStorageConfig;
11
+ private static _getMemoryConfig;
12
+ private static _getInsertConfig;
7
13
  private static _initializeStorage;
8
14
  private static _handleInsertOperation;
9
15
  private static _handleGetOperation;
10
- private static _handleClearOperation;
11
16
  private static _cleanupConnections;
12
- private static createStorage;
13
17
  private static buildConfig;
14
18
  private static buildInputData;
15
19
  private static buildMemoryOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"SmartMemory.node.d.ts","sourceRoot":"","sources":["../src/SmartMemory.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,+BAA+B,CAAC;AAK1F,qBAAa,WAAY,YAAW,SAAS;IAC3C,WAAW,EAAE,oBAAoB,CAwY/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAqDvE,OAAO,CAAC,MAAM,CAAC,kBAAkB;mBA6BZ,kBAAkB;mBAelB,sBAAsB;mBA0BtB,mBAAmB;mBAanB,qBAAqB;mBAcpB,mBAAmB;mBAiBnB,aAAa;IAsInC,OAAO,CAAC,MAAM,CAAC,WAAW;IA6F1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAsF7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAuBhC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAIhE"}
1
+ {"version":3,"file":"SmartMemory.node.d.ts","sourceRoot":"","sources":["../src/SmartMemory.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,+BAA+B,CAAC;AAK1F,qBAAa,WAAY,YAAW,SAAS;IAC3C,WAAW,EAAE,oBAAoB,CAqZ/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;mBAwClD,cAAc;mBAad,WAAW;mBAYX,aAAa;IAelC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAWtC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAMhC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAgB/B,OAAO,CAAC,MAAM,CAAC,gBAAgB;mBA+CV,kBAAkB;mBAgBlB,sBAAsB;mBA0BtB,mBAAmB;mBAclB,mBAAmB;IAkBzC,OAAO,CAAC,MAAM,CAAC,WAAW;IAiC1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAsF7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAuBhC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAIhE"}