n8n-nodes-smart-memory 1.0.21 → 1.0.23
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/dist/SmartMemory.d.ts +1 -1
- package/dist/SmartMemory.d.ts.map +1 -1
- package/dist/SmartMemory.js +36 -21
- package/dist/SmartMemory.js.map +1 -1
- package/dist/SmartMemory.node.d.ts.map +1 -1
- package/dist/SmartMemory.node.js +62 -47
- package/dist/SmartMemory.node.js.map +1 -1
- package/dist/constants.d.ts +32 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +33 -0
- package/dist/constants.js.map +1 -0
- package/dist/interfaces/MemoryInterfaces.d.ts +2 -4
- package/dist/interfaces/MemoryInterfaces.d.ts.map +1 -1
- package/dist/utils/NormalizationUtils.d.ts +34 -0
- package/dist/utils/NormalizationUtils.d.ts.map +1 -0
- package/dist/utils/NormalizationUtils.js +87 -0
- package/dist/utils/NormalizationUtils.js.map +1 -0
- package/dist/utils/OutputCleaner.d.ts.map +1 -1
- package/dist/utils/OutputCleaner.js +14 -15
- package/dist/utils/OutputCleaner.js.map +1 -1
- package/package.json +1 -1
package/dist/SmartMemory.d.ts
CHANGED
|
@@ -13,9 +13,9 @@ export declare class PureMemoryManager {
|
|
|
13
13
|
private createNewMemory;
|
|
14
14
|
private normalizeChatType;
|
|
15
15
|
private addMessageToMemory;
|
|
16
|
+
private appendMessage;
|
|
16
17
|
private buildMessage;
|
|
17
18
|
private extractUserInfo;
|
|
18
19
|
private extractReplyInfo;
|
|
19
|
-
private applyMemoryWindow;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=SmartMemory.d.ts.map
|
|
@@ -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;
|
|
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,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,gBAAgB;CAkDzB"}
|
package/dist/SmartMemory.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PureMemoryManager = void 0;
|
|
4
4
|
const InMemoryStorage_1 = require("./storage/InMemoryStorage");
|
|
5
5
|
const ExpressionEvaluator_1 = require("./utils/ExpressionEvaluator");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
6
7
|
const ValidationUtils_1 = require("./utils/ValidationUtils");
|
|
7
8
|
class PureMemoryManager {
|
|
8
9
|
constructor(config, storage) {
|
|
@@ -77,28 +78,34 @@ class PureMemoryManager {
|
|
|
77
78
|
const { message } = inputData;
|
|
78
79
|
const { chat, from } = message;
|
|
79
80
|
const isBotResponse = !!inputData.bot_response;
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
chatType: this.normalizeChatType(chat.type),
|
|
84
|
-
chatName: chat.title ?? chat.username ?? 'Private Chat',
|
|
85
|
-
},
|
|
86
|
-
messages: [],
|
|
81
|
+
const chatInfo = {
|
|
82
|
+
chatId: chat.id,
|
|
83
|
+
chatType: this.normalizeChatType(chat.type),
|
|
87
84
|
};
|
|
85
|
+
// Set chatName based on chat type
|
|
86
|
+
if (chat.type !== 'private' && chat.title) {
|
|
87
|
+
chatInfo.chatName = chat.title;
|
|
88
|
+
}
|
|
88
89
|
// Add user info for private chats (stored once at the chat level)
|
|
89
90
|
if (chat.type === 'private' && from && !isBotResponse) {
|
|
90
91
|
const displayName = ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message: inputData.message }, this.config.userFieldMapping.displayName);
|
|
91
92
|
const username = this.config.userFieldMapping.username
|
|
92
93
|
? ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message: inputData.message }, this.config.userFieldMapping.username)
|
|
93
94
|
: undefined;
|
|
95
|
+
if (from.id) {
|
|
96
|
+
chatInfo.userId = from.id;
|
|
97
|
+
}
|
|
94
98
|
if (displayName) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
};
|
|
99
|
+
chatInfo.displayName = displayName;
|
|
100
|
+
}
|
|
101
|
+
if (username) {
|
|
102
|
+
chatInfo.username = username;
|
|
100
103
|
}
|
|
101
104
|
}
|
|
105
|
+
const memory = {
|
|
106
|
+
chatInfo,
|
|
107
|
+
messages: [],
|
|
108
|
+
};
|
|
102
109
|
return this.addMessageToMemory(memory, inputData);
|
|
103
110
|
}
|
|
104
111
|
normalizeChatType(type) {
|
|
@@ -114,13 +121,26 @@ class PureMemoryManager {
|
|
|
114
121
|
const content = message.text ?? message.caption ?? inputData.bot_response ?? '';
|
|
115
122
|
const role = isBotResponse ? this.config.assistantRole : (inputData.userRole ?? 'user');
|
|
116
123
|
const newMessage = this.buildMessage(role, content, message, isBotResponse, memory.chatInfo.chatType ?? 'private');
|
|
117
|
-
const
|
|
118
|
-
const trimmedMessages = this.applyMemoryWindow(updatedMessages);
|
|
124
|
+
const trimmedMessages = this.appendMessage(memory.messages, newMessage);
|
|
119
125
|
return {
|
|
120
126
|
...memory,
|
|
121
127
|
messages: trimmedMessages,
|
|
122
128
|
};
|
|
123
129
|
}
|
|
130
|
+
appendMessage(existingMessages, newMessage) {
|
|
131
|
+
const limit = this.config.memoryWindowSize;
|
|
132
|
+
// Fast path: if there is still capacity, clone and append
|
|
133
|
+
if (existingMessages.length < limit) {
|
|
134
|
+
const messages = existingMessages.slice();
|
|
135
|
+
messages.push(newMessage);
|
|
136
|
+
return messages;
|
|
137
|
+
}
|
|
138
|
+
// When at capacity, create a new window skipping only the oldest entry
|
|
139
|
+
const startIndex = existingMessages.length - limit + 1;
|
|
140
|
+
const messages = existingMessages.slice(startIndex);
|
|
141
|
+
messages.push(newMessage);
|
|
142
|
+
return messages;
|
|
143
|
+
}
|
|
124
144
|
buildMessage(role, content, message, _isBotResponse, chatType) {
|
|
125
145
|
const newMessage = {
|
|
126
146
|
role,
|
|
@@ -159,6 +179,7 @@ class PureMemoryManager {
|
|
|
159
179
|
? ExpressionEvaluator_1.ExpressionEvaluator.evaluateExpression({ message }, this.config.userFieldMapping.username)
|
|
160
180
|
: undefined;
|
|
161
181
|
return {
|
|
182
|
+
userId: message.from.id,
|
|
162
183
|
displayName,
|
|
163
184
|
...(username && { username }),
|
|
164
185
|
};
|
|
@@ -187,7 +208,7 @@ class PureMemoryManager {
|
|
|
187
208
|
if (this.config.includeReplyMessage) {
|
|
188
209
|
const message = reply.text ??
|
|
189
210
|
reply.caption ??
|
|
190
|
-
|
|
211
|
+
constants_1.MEDIA_PLACEHOLDER;
|
|
191
212
|
if (message && message.trim() !== '') {
|
|
192
213
|
replyInfo.message = message;
|
|
193
214
|
}
|
|
@@ -197,12 +218,6 @@ class PureMemoryManager {
|
|
|
197
218
|
}
|
|
198
219
|
return Object.keys(replyInfo).length > 0 ? replyInfo : undefined;
|
|
199
220
|
}
|
|
200
|
-
applyMemoryWindow(messages) {
|
|
201
|
-
if (messages.length <= this.config.memoryWindowSize) {
|
|
202
|
-
return messages;
|
|
203
|
-
}
|
|
204
|
-
return messages.slice(-this.config.memoryWindowSize);
|
|
205
|
-
}
|
|
206
221
|
}
|
|
207
222
|
exports.PureMemoryManager = PureMemoryManager;
|
|
208
223
|
//# sourceMappingURL=SmartMemory.js.map
|
package/dist/SmartMemory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartMemory.js","sourceRoot":"","sources":["../src/SmartMemory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SmartMemory.js","sourceRoot":"","sources":["../src/SmartMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAIvC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,+BAA+B,CAAC;AAK1F,qBAAa,WAAY,YAAW,SAAS;IAC3C,WAAW,EAAE,oBAAoB,CAqS/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAsFvE,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,OAAO,CAAC,MAAM,CAAC,WAAW;IAsD1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAmE7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAuBhC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAIhE"}
|
package/dist/SmartMemory.node.js
CHANGED
|
@@ -4,6 +4,8 @@ exports.SmartMemory = void 0;
|
|
|
4
4
|
const SmartMemory_1 = require("./SmartMemory");
|
|
5
5
|
const InMemoryStorage_1 = require("./storage/InMemoryStorage");
|
|
6
6
|
const OutputCleaner_1 = require("./utils/OutputCleaner");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const NormalizationUtils_1 = require("./utils/NormalizationUtils");
|
|
7
9
|
class SmartMemory {
|
|
8
10
|
constructor() {
|
|
9
11
|
this.description = {
|
|
@@ -57,11 +59,16 @@ class SmartMemory {
|
|
|
57
59
|
displayName: 'Memory Window Size',
|
|
58
60
|
name: 'memoryWindowSize',
|
|
59
61
|
type: 'number',
|
|
62
|
+
displayOptions: {
|
|
63
|
+
show: {
|
|
64
|
+
operation: ['insert', 'get'],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
60
67
|
typeOptions: {
|
|
61
|
-
minValue:
|
|
62
|
-
maxValue:
|
|
68
|
+
minValue: constants_1.DEFAULT_VALUES.MEMORY_WINDOW_MIN,
|
|
69
|
+
maxValue: constants_1.DEFAULT_VALUES.MEMORY_WINDOW_MAX,
|
|
63
70
|
},
|
|
64
|
-
default:
|
|
71
|
+
default: constants_1.DEFAULT_VALUES.MEMORY_WINDOW_SIZE,
|
|
65
72
|
description: 'Number of messages to keep in memory',
|
|
66
73
|
},
|
|
67
74
|
{
|
|
@@ -215,7 +222,7 @@ class SmartMemory {
|
|
|
215
222
|
displayName: 'Assistant Role',
|
|
216
223
|
name: 'assistantRole',
|
|
217
224
|
type: 'string',
|
|
218
|
-
default:
|
|
225
|
+
default: constants_1.DEFAULT_VALUES.ASSISTANT_ROLE,
|
|
219
226
|
description: 'How the assistant should be identified in memory',
|
|
220
227
|
},
|
|
221
228
|
],
|
|
@@ -230,7 +237,7 @@ class SmartMemory {
|
|
|
230
237
|
operation: ['insert'],
|
|
231
238
|
},
|
|
232
239
|
},
|
|
233
|
-
default: { userRole:
|
|
240
|
+
default: { userRole: constants_1.DEFAULT_VALUES.USER_ROLE },
|
|
234
241
|
options: [
|
|
235
242
|
{
|
|
236
243
|
displayName: 'User ID',
|
|
@@ -371,27 +378,28 @@ class SmartMemory {
|
|
|
371
378
|
return [returnData];
|
|
372
379
|
}
|
|
373
380
|
static createStorage(storageBackend) {
|
|
374
|
-
|
|
381
|
+
// Validate storage backend early
|
|
382
|
+
const normalized = NormalizationUtils_1.NormalizationUtils.toString(storageBackend, constants_1.STORAGE_BACKENDS.MEMORY);
|
|
383
|
+
if (normalized === constants_1.STORAGE_BACKENDS.MEMORY) {
|
|
375
384
|
return new InMemoryStorage_1.InMemoryStorage();
|
|
376
385
|
}
|
|
377
|
-
throw new Error(`
|
|
386
|
+
throw new Error(`Unsupported storage backend: '${normalized}'. Supported backends: ${Object.values(constants_1.STORAGE_BACKENDS).join(', ')}`);
|
|
378
387
|
}
|
|
379
388
|
static buildConfig(operation, memorySettings, context, itemIndex) {
|
|
380
389
|
const assistantRole = operation === 'insert'
|
|
381
|
-
? (context.getNodeParameter('assistantSettings', itemIndex)
|
|
382
|
-
|
|
383
|
-
: 'Assistant';
|
|
390
|
+
? NormalizationUtils_1.NormalizationUtils.extractString(context.getNodeParameter('assistantSettings', itemIndex), 'assistantRole', constants_1.DEFAULT_VALUES.ASSISTANT_ROLE)
|
|
391
|
+
: constants_1.DEFAULT_VALUES.ASSISTANT_ROLE;
|
|
384
392
|
const messageSettingsParam = operation === 'insert'
|
|
385
393
|
? context.getNodeParameter('messageSettings', itemIndex)
|
|
386
394
|
: {};
|
|
387
|
-
const includeReplyContext = messageSettingsParam
|
|
388
|
-
const includeReplyDisplayName = messageSettingsParam
|
|
389
|
-
const includeReplyUsername = messageSettingsParam
|
|
390
|
-
const includeReplyMessage = messageSettingsParam
|
|
391
|
-
const includeReplyMessageId = messageSettingsParam
|
|
395
|
+
const includeReplyContext = NormalizationUtils_1.NormalizationUtils.extractBoolean(messageSettingsParam, 'includeReplyContext', false);
|
|
396
|
+
const includeReplyDisplayName = NormalizationUtils_1.NormalizationUtils.extractBoolean(messageSettingsParam, 'includeReplyDisplayName', true);
|
|
397
|
+
const includeReplyUsername = NormalizationUtils_1.NormalizationUtils.extractBoolean(messageSettingsParam, 'includeReplyUsername', true);
|
|
398
|
+
const includeReplyMessage = NormalizationUtils_1.NormalizationUtils.extractBoolean(messageSettingsParam, 'includeReplyMessage', true);
|
|
399
|
+
const includeReplyMessageId = NormalizationUtils_1.NormalizationUtils.extractBoolean(messageSettingsParam, 'includeReplyMessageId', false);
|
|
392
400
|
return {
|
|
393
|
-
memoryWindowSize: memorySettings
|
|
394
|
-
storageBackend: (memorySettings
|
|
401
|
+
memoryWindowSize: NormalizationUtils_1.NormalizationUtils.extractNumber(memorySettings, 'memoryWindowSize', constants_1.DEFAULT_VALUES.MEMORY_WINDOW_SIZE, constants_1.DEFAULT_VALUES.MEMORY_WINDOW_MIN, constants_1.DEFAULT_VALUES.MEMORY_WINDOW_MAX),
|
|
402
|
+
storageBackend: NormalizationUtils_1.NormalizationUtils.extractString(memorySettings, 'storageBackend', constants_1.DEFAULT_VALUES.STORAGE_BACKEND),
|
|
395
403
|
assistantRole,
|
|
396
404
|
userFieldMapping: {
|
|
397
405
|
displayName: 'displayName',
|
|
@@ -402,8 +410,8 @@ class SmartMemory {
|
|
|
402
410
|
includeReplyUsername,
|
|
403
411
|
includeReplyMessage,
|
|
404
412
|
includeReplyMessageId,
|
|
405
|
-
includeTimestamp: memorySettings
|
|
406
|
-
includeMessageId: memorySettings
|
|
413
|
+
includeTimestamp: NormalizationUtils_1.NormalizationUtils.extractBoolean(memorySettings, 'includeTimestamp', false),
|
|
414
|
+
includeMessageId: NormalizationUtils_1.NormalizationUtils.extractBoolean(memorySettings, 'includeMessageId', false),
|
|
407
415
|
};
|
|
408
416
|
}
|
|
409
417
|
static buildInputData(sessionId, context, itemIndex) {
|
|
@@ -411,34 +419,49 @@ class SmartMemory {
|
|
|
411
419
|
const messageSettings = context.getNodeParameter('messageSettings', itemIndex);
|
|
412
420
|
const userSettings = context.getNodeParameter('userSettings', itemIndex);
|
|
413
421
|
const assistantSettings = context.getNodeParameter('assistantSettings', itemIndex);
|
|
414
|
-
const chatType = messageSettings
|
|
422
|
+
const chatType = NormalizationUtils_1.NormalizationUtils.extractString(messageSettings, 'chatType', constants_1.DEFAULT_VALUES.CHAT_TYPE);
|
|
423
|
+
const isBotResponse = NormalizationUtils_1.NormalizationUtils.extractBoolean(assistantSettings, 'isBotResponse', false);
|
|
424
|
+
// Determine the 'from' field based on whether it's a bot response
|
|
425
|
+
let fromField;
|
|
426
|
+
if (isBotResponse) {
|
|
427
|
+
const assistantName = NormalizationUtils_1.NormalizationUtils.extractString(assistantSettings, 'assistantName', constants_1.DEFAULT_VALUES.ASSISTANT_ROLE);
|
|
428
|
+
const assistantUsername = NormalizationUtils_1.NormalizationUtils.extractString(assistantSettings, 'assistantUsername', '');
|
|
429
|
+
const assistantId = NormalizationUtils_1.NormalizationUtils.extractString(assistantSettings, 'assistantId', constants_1.DEFAULT_VALUES.ASSISTANT_ID);
|
|
430
|
+
fromField = {
|
|
431
|
+
id: assistantId,
|
|
432
|
+
displayName: assistantName,
|
|
433
|
+
...(assistantUsername && { username: assistantUsername }),
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
const userId = NormalizationUtils_1.NormalizationUtils.extractString(userSettings, 'userId', '');
|
|
438
|
+
if (userId) {
|
|
439
|
+
fromField = {
|
|
440
|
+
id: userId,
|
|
441
|
+
displayName: NormalizationUtils_1.NormalizationUtils.extractString(userSettings, 'displayName', ''),
|
|
442
|
+
username: NormalizationUtils_1.NormalizationUtils.extractString(userSettings, 'username', ''),
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
}
|
|
415
446
|
return {
|
|
416
447
|
message: {
|
|
417
448
|
chat: {
|
|
418
|
-
id: messageSettings
|
|
449
|
+
id: NormalizationUtils_1.NormalizationUtils.extractString(messageSettings, 'chatId', sessionId),
|
|
419
450
|
type: chatType,
|
|
420
|
-
title: chatType !==
|
|
421
|
-
? messageSettings
|
|
451
|
+
title: chatType !== constants_1.DEFAULT_VALUES.CHAT_TYPE
|
|
452
|
+
? NormalizationUtils_1.NormalizationUtils.extractString(messageSettings, 'chatName', '')
|
|
422
453
|
: undefined,
|
|
423
|
-
username: chatType ===
|
|
424
|
-
? messageSettings
|
|
454
|
+
username: chatType === constants_1.DEFAULT_VALUES.CHAT_TYPE
|
|
455
|
+
? NormalizationUtils_1.NormalizationUtils.extractString(messageSettings, 'chatName', '')
|
|
425
456
|
: undefined,
|
|
426
457
|
},
|
|
427
|
-
from:
|
|
428
|
-
? {
|
|
429
|
-
id: userSettings.userId,
|
|
430
|
-
displayName: userSettings.displayName,
|
|
431
|
-
username: userSettings.username,
|
|
432
|
-
}
|
|
433
|
-
: undefined,
|
|
458
|
+
from: fromField,
|
|
434
459
|
text: messageContent,
|
|
435
|
-
message_id: messageSettings.messageId,
|
|
460
|
+
message_id: NormalizationUtils_1.NormalizationUtils.toMessageId(messageSettings.messageId),
|
|
436
461
|
reply_to_message: messageSettings.replyToMessage,
|
|
437
462
|
},
|
|
438
|
-
bot_response:
|
|
439
|
-
|
|
440
|
-
: undefined,
|
|
441
|
-
userRole: userSettings.userRole ?? 'user',
|
|
463
|
+
bot_response: isBotResponse ? messageContent : undefined,
|
|
464
|
+
userRole: NormalizationUtils_1.NormalizationUtils.extractString(userSettings, 'userRole', constants_1.DEFAULT_VALUES.USER_ROLE),
|
|
442
465
|
};
|
|
443
466
|
}
|
|
444
467
|
static buildMemoryOutput(memory, includeTokenEstimate) {
|
|
@@ -447,23 +470,15 @@ class SmartMemory {
|
|
|
447
470
|
}
|
|
448
471
|
// Build initial output with all potentially valid fields
|
|
449
472
|
const output = {
|
|
473
|
+
chatInfo: memory.chatInfo,
|
|
450
474
|
messages: memory.messages,
|
|
451
475
|
messageCount: memory.messages.length,
|
|
452
|
-
chatInfo: memory.chatInfo,
|
|
453
|
-
privateUserInfo: memory.privateUserInfo,
|
|
454
476
|
};
|
|
455
477
|
if (includeTokenEstimate) {
|
|
456
478
|
output.tokenEstimate = SmartMemory.estimateTokenCount(memory);
|
|
457
479
|
}
|
|
458
480
|
// Use the specialized cleaner for memory output that validates required fields
|
|
459
|
-
|
|
460
|
-
if (typeof cleaned.messages === 'undefined' &&
|
|
461
|
-
Array.isArray(memory.messages) &&
|
|
462
|
-
memory.messages.length > 0) {
|
|
463
|
-
cleaned.messages = memory.messages;
|
|
464
|
-
cleaned.messageCount = memory.messages.length;
|
|
465
|
-
}
|
|
466
|
-
return cleaned;
|
|
481
|
+
return OutputCleaner_1.OutputCleaner.cleanMemoryOutput(output);
|
|
467
482
|
}
|
|
468
483
|
static estimateTokenCount(memory) {
|
|
469
484
|
const text = JSON.stringify(memory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartMemory.node.js","sourceRoot":"","sources":["../src/SmartMemory.node.ts"],"names":[],"mappings":";;;AAMA,+CAAkD;AAElD,+DAA4D;AAC5D,yDAAsD;AAItD,MAAa,WAAW;IAAxB;QACE,gBAAW,GAAyB;YAClC,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,OAAO;YAClB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE;gBACR,IAAI,EAAE,cAAc;aACrB;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,UAAU,EAAE;gBACV;oBACE,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;wBAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE;wBACpC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;qBACzC;oBACD,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,yCAAyC;iBACvD;gBACD;oBACE,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,mCAAmC;oBAChD,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACd,IAAI,EAAE;4BACJ,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB;qBACF;oBACD,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,6BAA6B;oBAC1C,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;wBACX,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,EAAE;qBACb;oBACD,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,sCAAsC;iBACpD;gBACD;oBACE,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;oBACjD,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,2BAA2B;iBACzC;gBACD;oBACE,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;oBACf,cAAc,EAAE;wBACd,IAAI,EAAE;4BACJ,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB;qBACF;oBACD,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACnC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE;qBAC7C;oBACD,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,2BAA2B;iBACzC;gBACD;oBACE,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,qBAAqB;oBAClC,cAAc,EAAE;wBACd,IAAI,EAAE;4BACJ,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB;qBACF;oBACD,OAAO,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE;oBACvC,OAAO,EAAE;wBACP;4BACE,WAAW,EAAE,SAAS;4BACtB,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,yDAAyD;yBACvE;wBACD;4BACE,WAAW,EAAE,WAAW;4BACxB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,SAAS;4BAClB,WAAW,EAAE,oDAAoD;yBAClE;wBACD;4BACE,WAAW,EAAE,WAAW;4BACxB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,kBAAkB;yBAChC;wBACD;4BACE,WAAW,EAAE,YAAY;4BACzB,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,4CAA4C;yBAC1D;wBACD;4BACE,WAAW,EAAE,kBAAkB;4BAC/B,IAAI,EAAE,gBAAgB;4BACtB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,8BAA8B;yBAC5C;wBACD;4BACE,WAAW,EAAE,uBAAuB;4BACpC,IAAI,EAAE,qBAAqB;4BAC3B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,KAAK;4BACd,WAAW,EAAE,+CAA+C;yBAC7D;wBACD;4BACE,WAAW,EAAE,4BAA4B;4BACzC,IAAI,EAAE,yBAAyB;4BAC/B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,WAAW,EAAE,+CAA+C;4BAC5D,cAAc,EAAE;gCACd,IAAI,EAAE;oCACJ,mBAAmB,EAAE,CAAC,IAAI,CAAC;iCAC5B;6BACF;yBACF;wBACD;4BACE,WAAW,EAAE,wBAAwB;4BACrC,IAAI,EAAE,sBAAsB;4BAC5B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,WAAW,EAAE,2CAA2C;4BACxD,cAAc,EAAE;gCACd,IAAI,EAAE;oCACJ,mBAAmB,EAAE,CAAC,IAAI,CAAC;iCAC5B;6BACF;yBACF;wBACD;4BACE,WAAW,EAAE,uBAAuB;4BACpC,IAAI,EAAE,qBAAqB;4BAC3B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,WAAW,EAAE,2CAA2C;4BACxD,cAAc,EAAE;gCACd,IAAI,EAAE;oCACJ,mBAAmB,EAAE,CAAC,IAAI,CAAC;iCAC5B;6BACF;yBACF;wBACD;4BACE,WAAW,EAAE,0BAA0B;4BACvC,IAAI,EAAE,uBAAuB;4BAC7B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,KAAK;4BACd,WAAW,EAAE,sCAAsC;4BACnD,cAAc,EAAE;gCACd,IAAI,EAAE;oCACJ,mBAAmB,EAAE,CAAC,IAAI,CAAC;iCAC5B;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,uBAAuB;oBACpC,cAAc,EAAE;wBACd,IAAI,EAAE;4BACJ,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB;qBACF;oBACD,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE;oBAC7D,OAAO,EAAE;wBACP;4BACE,WAAW,EAAE,iBAAiB;4BAC9B,IAAI,EAAE,eAAe;4BACrB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,KAAK;4BACd,WAAW,EAAE,gCAAgC;yBAC9C;wBACD;4BACE,WAAW,EAAE,gBAAgB;4BAC7B,IAAI,EAAE,eAAe;4BACrB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,WAAW;4BACpB,WAAW,EAAE,kDAAkD;yBAChE;qBACF;iBACF;gBACD;oBACE,WAAW,EAAE,eAAe;oBAC5B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,kBAAkB;oBAC/B,cAAc,EAAE;wBACd,IAAI,EAAE;4BACJ,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB;qBACF;oBACD,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;oBAC7B,OAAO,EAAE;wBACP;4BACE,WAAW,EAAE,SAAS;4BACtB,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,gCAAgC;yBAC9C;wBACD;4BACE,WAAW,EAAE,cAAc;4BAC3B,IAAI,EAAE,aAAa;4BACnB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,2BAA2B;yBACzC;wBACD;4BACE,WAAW,EAAE,UAAU;4BACvB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,uBAAuB;yBACrC;wBACD;4BACE,WAAW,EAAE,WAAW;4BACxB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,MAAM;4BACf,WAAW,EAAE,mBAAmB;yBACjC;qBACF;iBACF;gBACD;oBACE,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,oBAAoB;oBACjC,cAAc,EAAE;wBACd,IAAI,EAAE;4BACJ,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;yBAC7B;qBACF;oBACD,OAAO,EAAE;wBACP,gBAAgB,EAAE,KAAK;wBACvB,oBAAoB,EAAE,KAAK;qBAC5B;oBACD,OAAO,EAAE;wBACP;4BACE,WAAW,EAAE,mBAAmB;4BAChC,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,KAAK;4BACd,WAAW,EAAE,+BAA+B;yBAC7C;wBACD;4BACE,WAAW,EAAE,wBAAwB;4BACrC,IAAI,EAAE,sBAAsB;4BAC5B,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,KAAK;4BACd,WAAW,EAAE,kCAAkC;yBAChD;qBACF;iBACF;aACF;SACF,CAAC;IAoOJ,CAAC;IAlOC,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,IAAI,OAAkC,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;gBAClE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;gBAClE,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAW,CAAC;gBACrF,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAW,CAAC;gBAEjF,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,CAAC;gBAElC,IAAI,iBAAiB,GAA4B,EAAE,CAAC;gBACpD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;oBACtB,iBAAiB,GAAI,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAA6B,IAAI,EAAE,CAAC;gBACpG,CAAC;gBAED,MAAM,eAAe,GAA4B,QAAQ;oBACvD,CAAC,CAAC,CAAE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAA6B,IAAI,EAAE,CAAC;oBAClF,CAAC,CAAC,EAAE,CAAC;gBAEP,MAAM,gBAAgB,GACpB,OAAO,qBAAqB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC;oBAC/E,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,cAAc,GAClB,OAAO,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE;oBAC1E,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,QAAQ,CAAC;gBAEf,MAAM,gBAAgB,GAAI,iBAAiB,CAAC,gBAA4B,IAAI,KAAK,CAAC;gBAClF,MAAM,oBAAoB,GAAI,iBAAiB,CAAC,oBAAgC,IAAI,KAAK,CAAC;gBAE1F,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC;gBACjD,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAC7B,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;oBAC/B,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;wBACvC,gBAAgB,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,gBAAgB,GAAG,IAAI,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,MAAM,cAAc,GAA4B;oBAC9C,GAAG,iBAAiB;oBACpB,gBAAgB;oBAChB,oBAAoB;oBACpB,gBAAgB;oBAChB,gBAAgB;oBAChB,cAAc;iBACf,CAAC;gBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBACtD,CAAC;gBAED,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3E,MAAM,aAAa,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE7D,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAW,CAAC;oBACpE,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACjE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACxE,MAAM,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;oBAC3E,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACxD,MAAM,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;oBAC3E,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBACjC,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBAC3C,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC9E,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,cAAsB;QACjD,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,IAAI,iCAAe,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,WAAW,CACxB,SAAiB,EACjB,cAAuC,EACvC,OAA0B,EAC1B,SAAiB;QAEjB,MAAM,aAAa,GACjB,SAAS,KAAK,QAAQ;YACpB,CAAC,CAAC,CAAG,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,CAA6B;iBACpF,aAAwB,IAAI,WAAW,CAAC;YAC7C,CAAC,CAAC,WAAW,CAAC;QAElB,MAAM,oBAAoB,GACxB,SAAS,KAAK,QAAQ;YACpB,CAAC,CAAE,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,SAAS,CAA6B;YACrF,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,mBAAmB,GAAI,oBAAoB,CAAC,mBAA+B,IAAI,KAAK,CAAC;QAC3F,MAAM,uBAAuB,GAAI,oBAAoB,CAAC,uBAAmC,IAAI,IAAI,CAAC;QAClG,MAAM,oBAAoB,GAAI,oBAAoB,CAAC,oBAAgC,IAAI,IAAI,CAAC;QAC5F,MAAM,mBAAmB,GAAI,oBAAoB,CAAC,mBAA+B,IAAI,IAAI,CAAC;QAC1F,MAAM,qBAAqB,GAAI,oBAAoB,CAAC,qBAAiC,IAAI,KAAK,CAAC;QAE/F,OAAO;YACL,gBAAgB,EAAG,cAAc,CAAC,gBAA2B,IAAI,EAAE;YACnE,cAAc,EAAE,CAAE,cAAc,CAAC,cAAyB,IAAI,QAAQ,CAAa;YACnF,aAAa;YACb,gBAAgB,EAAE;gBAChB,WAAW,EAAE,aAAa;gBAC1B,QAAQ,EAAE,UAAU;aACrB;YACD,mBAAmB;YACnB,uBAAuB;YACvB,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,gBAAgB,EAAG,cAAc,CAAC,gBAA4B,IAAI,KAAK;YACvE,gBAAgB,EAAG,cAAc,CAAC,gBAA4B,IAAI,KAAK;SACxE,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,cAAc,CAC3B,SAAiB,EACjB,OAA0B,EAC1B,SAAiB;QAEjB,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,SAAS,CAAW,CAAC;QACvF,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,SAAS,CAG5E,CAAC;QACF,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAGtE,CAAC;QACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,CAGhF,CAAC;QAEF,MAAM,QAAQ,GAAI,eAAe,CAAC,QAAmB,IAAI,SAAS,CAAC;QAEnE,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,EAAE,EAAG,eAAe,CAAC,MAAiB,IAAI,SAAS;oBACnD,IAAI,EAAE,QAAQ;oBACd,KAAK,EACH,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAE,eAAe,CAAC,QAAmB;wBACtC,CAAC,CAAC,SAAS;oBACf,QAAQ,EACN,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAE,eAAe,CAAC,QAAmB;wBACtC,CAAC,CAAC,SAAS;iBAChB;gBACD,IAAI,EAAE,YAAY,CAAC,MAAM;oBACvB,CAAC,CAAC;wBACE,EAAE,EAAE,YAAY,CAAC,MAAgB;wBACjC,WAAW,EAAE,YAAY,CAAC,WAAqB;wBAC/C,QAAQ,EAAE,YAAY,CAAC,QAAkB;qBAC1C;oBACH,CAAC,CAAC,SAAS;gBACb,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,eAAe,CAAC,SAAmB;gBAC/C,gBAAgB,EAAE,eAAe,CAAC,cAAc;aACjD;YACD,YAAY,EAAE,iBAAiB,CAAC,aAAa;gBAC3C,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,SAAS;YACb,QAAQ,EAAG,YAAY,CAAC,QAAmB,IAAI,MAAM;SACtD,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,MAAmC,EACnC,oBAA6B;QAE7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACvD,CAAC;QAED,yDAAyD;QACzD,MAAM,MAAM,GAA4B;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;QAEF,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,+EAA+E;QAC/E,MAAM,OAAO,GAAG,6BAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAExD,IACE,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;YACvC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACnC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAA4B;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;AArgBD,kCAqgBC"}
|
|
1
|
+
{"version":3,"file":"SmartMemory.node.js","sourceRoot":"","sources":["../src/SmartMemory.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for Smart Memory Node
|
|
3
|
+
*/
|
|
4
|
+
export declare const DEFAULT_VALUES: {
|
|
5
|
+
readonly ASSISTANT_ROLE: "assistant";
|
|
6
|
+
readonly ASSISTANT_ID: "bot";
|
|
7
|
+
readonly USER_ROLE: "user";
|
|
8
|
+
readonly MEMORY_WINDOW_SIZE: 15;
|
|
9
|
+
readonly MEMORY_WINDOW_MIN: 5;
|
|
10
|
+
readonly MEMORY_WINDOW_MAX: 70;
|
|
11
|
+
readonly STORAGE_BACKEND: "memory";
|
|
12
|
+
readonly CHAT_TYPE: "private";
|
|
13
|
+
readonly CHAT_NAME_FALLBACK: "Private Chat";
|
|
14
|
+
};
|
|
15
|
+
export declare const FIELD_MAPPINGS: {
|
|
16
|
+
readonly DISPLAY_NAME: "displayName";
|
|
17
|
+
readonly USERNAME: "username";
|
|
18
|
+
readonly USER_ID: "userId";
|
|
19
|
+
};
|
|
20
|
+
export declare const MEDIA_PLACEHOLDER = "[Media/Other content]";
|
|
21
|
+
export declare const STORAGE_BACKENDS: {
|
|
22
|
+
readonly MEMORY: "memory";
|
|
23
|
+
};
|
|
24
|
+
export declare const CHAT_TYPES: {
|
|
25
|
+
readonly PRIVATE: "private";
|
|
26
|
+
readonly GROUP: "group";
|
|
27
|
+
readonly SUPERGROUP: "supergroup";
|
|
28
|
+
readonly CHANNEL: "channel";
|
|
29
|
+
};
|
|
30
|
+
export type ChatType = typeof CHAT_TYPES[keyof typeof CHAT_TYPES];
|
|
31
|
+
export type StorageBackend = typeof STORAGE_BACKENDS[keyof typeof STORAGE_BACKENDS];
|
|
32
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AAEzD,eAAO,MAAM,gBAAgB;;CAEnB,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Constants for Smart Memory Node
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CHAT_TYPES = exports.STORAGE_BACKENDS = exports.MEDIA_PLACEHOLDER = exports.FIELD_MAPPINGS = exports.DEFAULT_VALUES = void 0;
|
|
7
|
+
exports.DEFAULT_VALUES = {
|
|
8
|
+
ASSISTANT_ROLE: 'assistant',
|
|
9
|
+
ASSISTANT_ID: 'bot',
|
|
10
|
+
USER_ROLE: 'user',
|
|
11
|
+
MEMORY_WINDOW_SIZE: 15,
|
|
12
|
+
MEMORY_WINDOW_MIN: 5,
|
|
13
|
+
MEMORY_WINDOW_MAX: 70,
|
|
14
|
+
STORAGE_BACKEND: 'memory',
|
|
15
|
+
CHAT_TYPE: 'private',
|
|
16
|
+
CHAT_NAME_FALLBACK: 'Private Chat',
|
|
17
|
+
};
|
|
18
|
+
exports.FIELD_MAPPINGS = {
|
|
19
|
+
DISPLAY_NAME: 'displayName',
|
|
20
|
+
USERNAME: 'username',
|
|
21
|
+
USER_ID: 'userId',
|
|
22
|
+
};
|
|
23
|
+
exports.MEDIA_PLACEHOLDER = '[Media/Other content]';
|
|
24
|
+
exports.STORAGE_BACKENDS = {
|
|
25
|
+
MEMORY: 'memory',
|
|
26
|
+
};
|
|
27
|
+
exports.CHAT_TYPES = {
|
|
28
|
+
PRIVATE: 'private',
|
|
29
|
+
GROUP: 'group',
|
|
30
|
+
SUPERGROUP: 'supergroup',
|
|
31
|
+
CHANNEL: 'channel',
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,WAAW;IAC3B,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,MAAM;IACjB,kBAAkB,EAAE,EAAE;IACtB,iBAAiB,EAAE,CAAC;IACpB,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,QAAiB;IAClC,SAAS,EAAE,SAAkB;IAC7B,kBAAkB,EAAE,cAAc;CAC1B,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,aAAa;IAC3B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,QAAQ;CACT,CAAC;AAEE,QAAA,iBAAiB,GAAG,uBAAuB,CAAC;AAE5C,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,UAAU,GAAG;IACxB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
|
@@ -3,9 +3,7 @@ export interface CleanMemoryStructure {
|
|
|
3
3
|
chatId: string;
|
|
4
4
|
chatType?: 'private' | 'group' | 'supergroup' | 'channel';
|
|
5
5
|
chatName?: string;
|
|
6
|
-
|
|
7
|
-
privateUserInfo?: {
|
|
8
|
-
userId: string;
|
|
6
|
+
userId?: string;
|
|
9
7
|
displayName?: string;
|
|
10
8
|
username?: string;
|
|
11
9
|
};
|
|
@@ -15,6 +13,7 @@ export interface CleanMemoryStructure {
|
|
|
15
13
|
messageId?: string;
|
|
16
14
|
timestamp?: string;
|
|
17
15
|
userInfo?: {
|
|
16
|
+
userId?: string;
|
|
18
17
|
displayName?: string;
|
|
19
18
|
username?: string;
|
|
20
19
|
};
|
|
@@ -34,7 +33,6 @@ export interface MemoryManagerConfig {
|
|
|
34
33
|
username?: string;
|
|
35
34
|
};
|
|
36
35
|
assistantRole: string;
|
|
37
|
-
assistantName?: string;
|
|
38
36
|
includeReplyContext: boolean;
|
|
39
37
|
includeReplyDisplayName: boolean;
|
|
40
38
|
includeReplyUsername: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryInterfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces/MemoryInterfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IAEnC,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;QAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryInterfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces/MemoryInterfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for normalizing and validating configuration values
|
|
3
|
+
*/
|
|
4
|
+
export declare class NormalizationUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Normalize a value to boolean with a default fallback
|
|
7
|
+
*/
|
|
8
|
+
static toBoolean(value: unknown, defaultValue: boolean): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Normalize a value to string with trimming and optional default
|
|
11
|
+
*/
|
|
12
|
+
static toString(value: unknown, defaultValue?: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Normalize a value to number with bounds checking
|
|
15
|
+
*/
|
|
16
|
+
static toNumber(value: unknown, defaultValue: number, min?: number, max?: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Normalize message ID - returns undefined if empty or invalid
|
|
19
|
+
*/
|
|
20
|
+
static toMessageId(value: unknown): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Safely extract a string field from an object
|
|
23
|
+
*/
|
|
24
|
+
static extractString(obj: Record<string, unknown>, key: string, defaultValue?: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Safely extract a boolean field from an object
|
|
27
|
+
*/
|
|
28
|
+
static extractBoolean(obj: Record<string, unknown>, key: string, defaultValue: boolean): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Safely extract a number field from an object
|
|
31
|
+
*/
|
|
32
|
+
static extractNumber(obj: Record<string, unknown>, key: string, defaultValue: number, min?: number, max?: number): number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=NormalizationUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NormalizationUtils.d.ts","sourceRoot":"","sources":["../../src/utils/NormalizationUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAUhE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,SAAK,GAAG,MAAM;IAU1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAsBzF;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAStD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,SAAK,GAAG,MAAM;IAK1F;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAKhG;;OAEG;IACH,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,MAAM;CAIV"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions for normalizing and validating configuration values
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NormalizationUtils = void 0;
|
|
7
|
+
class NormalizationUtils {
|
|
8
|
+
/**
|
|
9
|
+
* Normalize a value to boolean with a default fallback
|
|
10
|
+
*/
|
|
11
|
+
static toBoolean(value, defaultValue) {
|
|
12
|
+
if (typeof value === 'boolean') {
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
if (value === undefined || value === null) {
|
|
16
|
+
return defaultValue;
|
|
17
|
+
}
|
|
18
|
+
return defaultValue;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Normalize a value to string with trimming and optional default
|
|
22
|
+
*/
|
|
23
|
+
static toString(value, defaultValue = '') {
|
|
24
|
+
if (typeof value === 'string') {
|
|
25
|
+
return value.trim();
|
|
26
|
+
}
|
|
27
|
+
if (value === undefined || value === null) {
|
|
28
|
+
return defaultValue;
|
|
29
|
+
}
|
|
30
|
+
return String(value).trim();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Normalize a value to number with bounds checking
|
|
34
|
+
*/
|
|
35
|
+
static toNumber(value, defaultValue, min, max) {
|
|
36
|
+
let result = defaultValue;
|
|
37
|
+
if (typeof value === 'number' && !isNaN(value)) {
|
|
38
|
+
result = value;
|
|
39
|
+
}
|
|
40
|
+
else if (typeof value === 'string') {
|
|
41
|
+
const parsed = parseFloat(value);
|
|
42
|
+
if (!isNaN(parsed)) {
|
|
43
|
+
result = parsed;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (min !== undefined && result < min) {
|
|
47
|
+
result = min;
|
|
48
|
+
}
|
|
49
|
+
if (max !== undefined && result > max) {
|
|
50
|
+
result = max;
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Normalize message ID - returns undefined if empty or invalid
|
|
56
|
+
*/
|
|
57
|
+
static toMessageId(value) {
|
|
58
|
+
if (!value) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const str = typeof value === 'string' ? value.trim() : String(value);
|
|
62
|
+
return str === '' ? undefined : str;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Safely extract a string field from an object
|
|
66
|
+
*/
|
|
67
|
+
static extractString(obj, key, defaultValue = '') {
|
|
68
|
+
const value = obj[key];
|
|
69
|
+
return this.toString(value, defaultValue);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Safely extract a boolean field from an object
|
|
73
|
+
*/
|
|
74
|
+
static extractBoolean(obj, key, defaultValue) {
|
|
75
|
+
const value = obj[key];
|
|
76
|
+
return this.toBoolean(value, defaultValue);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Safely extract a number field from an object
|
|
80
|
+
*/
|
|
81
|
+
static extractNumber(obj, key, defaultValue, min, max) {
|
|
82
|
+
const value = obj[key];
|
|
83
|
+
return this.toNumber(value, defaultValue, min, max);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.NormalizationUtils = NormalizationUtils;
|
|
87
|
+
//# sourceMappingURL=NormalizationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NormalizationUtils.js","sourceRoot":"","sources":["../../src/utils/NormalizationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputCleaner.d.ts","sourceRoot":"","sources":["../../src/utils/OutputCleaner.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa;IACxB;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAyCzC;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAchD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OutputCleaner.d.ts","sourceRoot":"","sources":["../../src/utils/OutputCleaner.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa;IACxB;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAyCzC;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAchD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAoDnF"}
|
|
@@ -63,35 +63,34 @@ class OutputCleaner {
|
|
|
63
63
|
*/
|
|
64
64
|
static cleanMemoryOutput(output) {
|
|
65
65
|
const cleaned = {};
|
|
66
|
+
let derivedMessageCount = 0;
|
|
66
67
|
// Messages are required - validate each message has role and content
|
|
67
68
|
if (Array.isArray(output.messages)) {
|
|
68
69
|
const validMessages = output.messages.filter(this.isValidMessage);
|
|
69
70
|
if (validMessages.length > 0) {
|
|
70
|
-
|
|
71
|
+
const cleanedMessages = validMessages
|
|
71
72
|
.map(msg => this.cleanObject(msg))
|
|
72
73
|
.filter(m => m !== undefined);
|
|
73
|
-
|
|
74
|
+
if (cleanedMessages.length > 0) {
|
|
75
|
+
cleaned.messages = cleanedMessages;
|
|
76
|
+
derivedMessageCount = cleanedMessages.length;
|
|
77
|
+
}
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
|
-
//
|
|
80
|
+
// Always include chatInfo if it has a valid chatId (required field)
|
|
77
81
|
if (output.chatInfo && typeof output.chatInfo === 'object') {
|
|
78
82
|
const chatInfo = output.chatInfo;
|
|
79
83
|
if (chatInfo.chatId && typeof chatInfo.chatId === 'string' && chatInfo.chatId !== '') {
|
|
80
84
|
const cleanedChatInfo = this.cleanObject(chatInfo);
|
|
81
|
-
|
|
82
|
-
cleaned.chatInfo = cleanedChatInfo;
|
|
83
|
-
}
|
|
85
|
+
cleaned.chatInfo = cleanedChatInfo ?? chatInfo;
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
|
-
//
|
|
87
|
-
if (output.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
cleaned.privateUserInfo = cleanedUserInfo;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
88
|
+
// Ensure messageCount is preserved
|
|
89
|
+
if (typeof output.messageCount === 'number' && output.messageCount >= derivedMessageCount) {
|
|
90
|
+
cleaned.messageCount = output.messageCount;
|
|
91
|
+
}
|
|
92
|
+
else if (derivedMessageCount > 0) {
|
|
93
|
+
cleaned.messageCount = derivedMessageCount;
|
|
95
94
|
}
|
|
96
95
|
// Include tokenEstimate if present and valid
|
|
97
96
|
if (typeof output.tokenEstimate === 'number' && output.tokenEstimate > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputCleaner.js","sourceRoot":"","sources":["../../src/utils/OutputCleaner.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACxB;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,GAAY;QAC7B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,4DAA4D;QAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,uCAAuC;YACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;gBAC1C,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,GAAG;iBACrB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAc,CAAC;YAEnD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAI,GAA+B,CAAC,GAAG,CAAC,CAAC;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;oBAC/B,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,OAAgB;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,OAAkC,CAAC;QAC/C,OAAO,CACL,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YACtB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAA+B;QACtD,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,qEAAqE;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,
|
|
1
|
+
{"version":3,"file":"OutputCleaner.js","sourceRoot":"","sources":["../../src/utils/OutputCleaner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED