n8n-nodes-smart-memory 1.1.72 → 1.1.74
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/nodes/SmartMemory/SmartMemory.d.ts +0 -2
- package/dist/nodes/SmartMemory/SmartMemory.description.d.ts +2 -0
- package/dist/nodes/SmartMemory/SmartMemory.description.js +586 -0
- package/dist/nodes/SmartMemory/SmartMemory.description.js.map +1 -0
- package/dist/nodes/SmartMemory/SmartMemory.js +18 -45
- package/dist/nodes/SmartMemory/SmartMemory.js.map +1 -1
- package/dist/nodes/SmartMemory/SmartMemory.node.d.ts +5 -3
- package/dist/nodes/SmartMemory/SmartMemory.node.js +4 -582
- package/dist/nodes/SmartMemory/SmartMemory.node.js.map +1 -1
- package/dist/nodes/SmartMemory/handlers/ClearHandler.js +1 -0
- package/dist/nodes/SmartMemory/handlers/ClearHandler.js.map +1 -1
- package/dist/nodes/SmartMemory/interfaces/MemoryInterfaces.d.ts +44 -22
- package/dist/nodes/SmartMemory/storage/BaseStorage.d.ts +0 -2
- package/dist/nodes/SmartMemory/storage/BaseStorage.js +0 -4
- package/dist/nodes/SmartMemory/storage/BaseStorage.js.map +1 -1
- package/dist/nodes/SmartMemory/storage/BufferedStorage.js +1 -4
- package/dist/nodes/SmartMemory/storage/BufferedStorage.js.map +1 -1
- package/dist/nodes/SmartMemory/storage/InMemoryStorage.d.ts +1 -3
- package/dist/nodes/SmartMemory/storage/InMemoryStorage.js +0 -7
- package/dist/nodes/SmartMemory/storage/InMemoryStorage.js.map +1 -1
- package/dist/nodes/SmartMemory/storage/PostgresStorage.d.ts +0 -4
- package/dist/nodes/SmartMemory/storage/PostgresStorage.js +0 -48
- package/dist/nodes/SmartMemory/storage/PostgresStorage.js.map +1 -1
- package/dist/nodes/SmartMemory/storage/RedisStorage.d.ts +0 -2
- package/dist/nodes/SmartMemory/storage/RedisStorage.js +2 -39
- package/dist/nodes/SmartMemory/storage/RedisStorage.js.map +1 -1
- package/dist/nodes/SmartMemory/storage/SqliteStorage.d.ts +0 -1
- package/dist/nodes/SmartMemory/storage/SqliteStorage.js +0 -3
- package/dist/nodes/SmartMemory/storage/SqliteStorage.js.map +1 -1
- package/dist/nodes/SmartMemory/utils/AsyncUtils.d.ts +7 -0
- package/dist/nodes/SmartMemory/utils/AsyncUtils.js +36 -0
- package/dist/nodes/SmartMemory/utils/AsyncUtils.js.map +1 -0
- package/dist/nodes/SmartMemory/utils/ConnectionManager.d.ts +2 -2
- package/dist/nodes/SmartMemory/utils/ConnectionManager.js +54 -18
- package/dist/nodes/SmartMemory/utils/ConnectionManager.js.map +1 -1
- package/dist/nodes/SmartMemory/utils/ConnectionTests.d.ts +0 -1
- package/dist/nodes/SmartMemory/utils/ConnectionTests.js +0 -18
- package/dist/nodes/SmartMemory/utils/ConnectionTests.js.map +1 -1
- package/dist/nodes/SmartMemory/utils/ContextInjector.js +17 -20
- package/dist/nodes/SmartMemory/utils/ContextInjector.js.map +1 -1
- package/dist/nodes/SmartMemory/utils/ExecutionStorageCache.d.ts +1 -3
- package/dist/nodes/SmartMemory/utils/ExecutionStorageCache.js +7 -3
- package/dist/nodes/SmartMemory/utils/ExecutionStorageCache.js.map +1 -1
- package/dist/nodes/SmartMemory/utils/NodeParameterHelper.js +1 -1
- package/dist/nodes/SmartMemory/utils/NodeParameterHelper.js.map +1 -1
- package/dist/nodes/SmartMemory/utils/StorageFactory.js +1 -1
- package/dist/nodes/SmartMemory/utils/StorageFactory.js.map +1 -1
- package/package.json +60 -69
|
@@ -7,8 +7,6 @@ export declare class PureMemoryManager {
|
|
|
7
7
|
private logger;
|
|
8
8
|
constructor(config: MemoryManagerConfig, storage?: MemoryStorage, logger?: ILogger);
|
|
9
9
|
insertMessage(sessionId: string, inputData: Record<string, unknown>, insertMode: string, writeToStorage: boolean): Promise<CleanMemoryStructure>;
|
|
10
|
-
private acquireSessionLock;
|
|
11
|
-
private releaseSessionLock;
|
|
12
10
|
private canUseOptimizedPath;
|
|
13
11
|
getMemory(sessionId: string): Promise<CleanMemoryStructure | null>;
|
|
14
12
|
clearMemory(sessionId?: string): Promise<void>;
|
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.description = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
exports.description = {
|
|
6
|
+
displayName: 'Smart Memory',
|
|
7
|
+
name: 'smartMemory',
|
|
8
|
+
icon: 'fa:brain',
|
|
9
|
+
iconColor: 'black',
|
|
10
|
+
group: ['transform'],
|
|
11
|
+
version: 1,
|
|
12
|
+
description: 'Stores, retrieves, and manages conversational history for AI and chatbot applications. Supports multiple backends and flexible data structures.',
|
|
13
|
+
defaults: {
|
|
14
|
+
name: 'Smart Memory',
|
|
15
|
+
},
|
|
16
|
+
credentials: [
|
|
17
|
+
{
|
|
18
|
+
name: 'redisApi',
|
|
19
|
+
required: false,
|
|
20
|
+
testedBy: 'redisConnectionTest',
|
|
21
|
+
displayOptions: {
|
|
22
|
+
show: {
|
|
23
|
+
storageBackend: ['redis'],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'postgresApi',
|
|
29
|
+
required: false,
|
|
30
|
+
testedBy: 'postgresConnectionTest',
|
|
31
|
+
displayOptions: {
|
|
32
|
+
show: {
|
|
33
|
+
storageBackend: ['postgres'],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
inputs: ['main'],
|
|
39
|
+
outputs: ['main'],
|
|
40
|
+
properties: [
|
|
41
|
+
{
|
|
42
|
+
displayName: 'Operation',
|
|
43
|
+
name: 'operation',
|
|
44
|
+
type: 'options',
|
|
45
|
+
noDataExpression: true,
|
|
46
|
+
options: [
|
|
47
|
+
{ name: 'Insert Message', value: constants_1.DEFAULT_VALUES.OPERATION },
|
|
48
|
+
{ name: 'Get Memory', value: 'get' },
|
|
49
|
+
{ name: 'Clear Memory', value: 'clear' },
|
|
50
|
+
],
|
|
51
|
+
default: constants_1.DEFAULT_VALUES.OPERATION,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
displayName: 'Session ID',
|
|
55
|
+
name: 'sessionId',
|
|
56
|
+
type: 'string',
|
|
57
|
+
required: true,
|
|
58
|
+
default: '',
|
|
59
|
+
description: 'Unique identifier for the conversation session. Leave empty for Clear operation to clear all sessions.',
|
|
60
|
+
placeholder: 'user123_chat456',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
displayName: 'Message Content',
|
|
64
|
+
name: 'messageContent',
|
|
65
|
+
type: 'string',
|
|
66
|
+
displayOptions: {
|
|
67
|
+
show: {
|
|
68
|
+
operation: ['insert'],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
default: '',
|
|
72
|
+
description: 'The message text to insert into memory',
|
|
73
|
+
placeholder: 'Hello, how can I help you today?',
|
|
74
|
+
required: true,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
displayName: 'Insert Mode',
|
|
78
|
+
name: 'insertMode',
|
|
79
|
+
type: 'options',
|
|
80
|
+
displayOptions: {
|
|
81
|
+
show: {
|
|
82
|
+
operation: ['insert'],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
options: [
|
|
86
|
+
{
|
|
87
|
+
name: 'Append',
|
|
88
|
+
value: constants_1.DEFAULT_VALUES.INSERT_MODE,
|
|
89
|
+
description: 'Add message to existing memory',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'Replace Memory',
|
|
93
|
+
value: 'replace',
|
|
94
|
+
description: 'Replace all memory with this message',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
default: constants_1.DEFAULT_VALUES.INSERT_MODE,
|
|
98
|
+
description: 'How to insert the message into memory',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
displayName: 'Storage Backend',
|
|
102
|
+
name: 'storageBackend',
|
|
103
|
+
type: 'options',
|
|
104
|
+
options: [
|
|
105
|
+
{
|
|
106
|
+
name: 'In-Memory',
|
|
107
|
+
value: constants_1.DEFAULT_VALUES.STORAGE_BACKEND,
|
|
108
|
+
description: 'Fast but not persistent (lost on restart)',
|
|
109
|
+
},
|
|
110
|
+
{ name: 'Redis', value: 'redis', description: 'Fast, persistent, distributed' },
|
|
111
|
+
{
|
|
112
|
+
name: 'PostgreSQL',
|
|
113
|
+
value: 'postgres',
|
|
114
|
+
description: 'Persistent, relational, queryable',
|
|
115
|
+
},
|
|
116
|
+
{ name: 'SQLite', value: 'sqlite', description: 'Persistent, file-based, simple' },
|
|
117
|
+
],
|
|
118
|
+
default: constants_1.DEFAULT_VALUES.STORAGE_BACKEND,
|
|
119
|
+
description: 'Where to store conversation memory',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
displayName: 'TTL (Time To Live)',
|
|
123
|
+
name: 'ttl',
|
|
124
|
+
type: 'number',
|
|
125
|
+
displayOptions: {
|
|
126
|
+
show: {
|
|
127
|
+
storageBackend: ['redis'],
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
default: constants_1.DEFAULT_VALUES.REDIS_TTL,
|
|
131
|
+
description: 'Expiration time in seconds (0 = never expire)',
|
|
132
|
+
placeholder: String(constants_1.DEFAULT_VALUES.REDIS_TTL),
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
displayName: 'Table Name',
|
|
136
|
+
name: 'tableName',
|
|
137
|
+
type: 'string',
|
|
138
|
+
displayOptions: {
|
|
139
|
+
show: {
|
|
140
|
+
storageBackend: ['postgres', 'sqlite'],
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
default: constants_1.DEFAULT_VALUES.TABLE_NAME,
|
|
144
|
+
description: 'Database table name',
|
|
145
|
+
placeholder: constants_1.DEFAULT_VALUES.TABLE_NAME,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
displayName: 'Database File Path',
|
|
149
|
+
name: 'filename',
|
|
150
|
+
type: 'string',
|
|
151
|
+
displayOptions: {
|
|
152
|
+
show: {
|
|
153
|
+
storageBackend: ['sqlite'],
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
default: './' + constants_1.DEFAULT_VALUES.TABLE_NAME + '.db',
|
|
157
|
+
description: 'Path to SQLite database file. Use ":memory:" for in-memory database.',
|
|
158
|
+
placeholder: '/path/to/database.db',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
displayName: 'Memory Window Size',
|
|
162
|
+
name: 'memoryWindowSize',
|
|
163
|
+
type: 'number',
|
|
164
|
+
displayOptions: {
|
|
165
|
+
show: {
|
|
166
|
+
operation: ['insert', 'get'],
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
typeOptions: {
|
|
170
|
+
minValue: constants_1.DEFAULT_VALUES.MEMORY_WINDOW_MIN,
|
|
171
|
+
maxValue: constants_1.DEFAULT_VALUES.MEMORY_WINDOW_MAX,
|
|
172
|
+
},
|
|
173
|
+
default: constants_1.DEFAULT_VALUES.MEMORY_WINDOW_SIZE,
|
|
174
|
+
description: 'Maximum number of messages to keep in memory window',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
displayName: 'Max Storage Messages',
|
|
178
|
+
name: 'maxStorageMessages',
|
|
179
|
+
type: 'number',
|
|
180
|
+
displayOptions: {
|
|
181
|
+
show: {
|
|
182
|
+
operation: ['insert', 'get'],
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
typeOptions: {
|
|
186
|
+
minValue: 1,
|
|
187
|
+
},
|
|
188
|
+
default: constants_1.DEFAULT_VALUES.MAX_STORAGE_MESSAGES,
|
|
189
|
+
description: `Maximum number of messages to keep in the storage backend. Defaults to ${constants_1.DEFAULT_VALUES.MAX_STORAGE_MESSAGES}.`,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
displayName: 'Max Context Messages',
|
|
193
|
+
name: 'maxContextMessages',
|
|
194
|
+
type: 'number',
|
|
195
|
+
displayOptions: {
|
|
196
|
+
show: {
|
|
197
|
+
operation: ['insert', 'get'],
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
typeOptions: {
|
|
201
|
+
minValue: 0,
|
|
202
|
+
},
|
|
203
|
+
default: constants_1.DEFAULT_VALUES.MAX_CONTEXT_MESSAGES,
|
|
204
|
+
description: 'Maximum number of older messages to automatically inject as context if a reply references them. Set to 0 to disable.',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
displayName: 'Write to Storage',
|
|
208
|
+
name: 'writeToStorage',
|
|
209
|
+
type: 'boolean',
|
|
210
|
+
displayOptions: {
|
|
211
|
+
show: {
|
|
212
|
+
operation: ['insert'],
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
default: constants_1.DEFAULT_VALUES.WRITE_TO_STORAGE,
|
|
216
|
+
description: 'Whether to write immediately to storage. Disable to buffer writes, then enable on final insert for batch write.',
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
displayName: 'Metadata',
|
|
220
|
+
name: 'metadata',
|
|
221
|
+
type: 'fixedCollection',
|
|
222
|
+
placeholder: 'Add Metadata',
|
|
223
|
+
default: {},
|
|
224
|
+
typeOptions: {
|
|
225
|
+
multipleValues: false,
|
|
226
|
+
},
|
|
227
|
+
displayOptions: {
|
|
228
|
+
show: {
|
|
229
|
+
operation: ['insert'],
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
options: [
|
|
233
|
+
{
|
|
234
|
+
displayName: 'Identity',
|
|
235
|
+
name: 'identity',
|
|
236
|
+
values: [
|
|
237
|
+
{
|
|
238
|
+
displayName: 'Role',
|
|
239
|
+
name: 'role',
|
|
240
|
+
type: 'string',
|
|
241
|
+
default: constants_1.DEFAULT_VALUES.ROLE,
|
|
242
|
+
description: 'Role identifier for the message in LLM context',
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
displayName: 'ID',
|
|
246
|
+
name: 'id',
|
|
247
|
+
type: 'string',
|
|
248
|
+
default: '',
|
|
249
|
+
description: 'Unique identifier for the sender',
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
displayName: 'Name',
|
|
253
|
+
name: 'name',
|
|
254
|
+
type: 'string',
|
|
255
|
+
default: '',
|
|
256
|
+
description: 'Human-readable name for the sender',
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
displayName: 'Handle',
|
|
260
|
+
name: 'handle',
|
|
261
|
+
type: 'string',
|
|
262
|
+
default: '',
|
|
263
|
+
description: 'Username/handle for the sender',
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
displayName: 'Chat Info',
|
|
269
|
+
name: 'chat',
|
|
270
|
+
values: [
|
|
271
|
+
{
|
|
272
|
+
displayName: 'Chat ID',
|
|
273
|
+
name: 'chatId',
|
|
274
|
+
type: 'string',
|
|
275
|
+
default: '',
|
|
276
|
+
description: 'Specific chat identifier',
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
displayName: 'Chat Type',
|
|
280
|
+
name: 'chatType',
|
|
281
|
+
type: 'string',
|
|
282
|
+
default: 'private',
|
|
283
|
+
description: 'Type of chat conversation',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
displayName: 'Chat Name',
|
|
287
|
+
name: 'chatName',
|
|
288
|
+
type: 'string',
|
|
289
|
+
default: '',
|
|
290
|
+
description: 'Name of the chat',
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
displayName: 'Chat Handle',
|
|
294
|
+
name: 'chatHandle',
|
|
295
|
+
type: 'string',
|
|
296
|
+
default: '',
|
|
297
|
+
description: 'Handle of the chat',
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
displayName: 'Message Info',
|
|
303
|
+
name: 'message',
|
|
304
|
+
values: [
|
|
305
|
+
{
|
|
306
|
+
displayName: 'Message ID',
|
|
307
|
+
name: 'msgId',
|
|
308
|
+
type: 'string',
|
|
309
|
+
default: '',
|
|
310
|
+
description: 'Unique identifier for this specific message',
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
displayName: 'Reply Context',
|
|
316
|
+
name: 'reply',
|
|
317
|
+
values: [
|
|
318
|
+
{
|
|
319
|
+
displayName: 'Reply Name',
|
|
320
|
+
name: 'name',
|
|
321
|
+
type: 'string',
|
|
322
|
+
default: '',
|
|
323
|
+
description: 'Display name of the person being replied to',
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
displayName: 'Reply Handle',
|
|
327
|
+
name: 'handle',
|
|
328
|
+
type: 'string',
|
|
329
|
+
default: '',
|
|
330
|
+
description: 'Username/handle of the person being replied to',
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
displayName: 'Reply Content',
|
|
334
|
+
name: 'content',
|
|
335
|
+
type: 'string',
|
|
336
|
+
default: '',
|
|
337
|
+
description: 'Content of the message being replied to',
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
displayName: 'Reply Message ID',
|
|
341
|
+
name: 'msgId',
|
|
342
|
+
type: 'string',
|
|
343
|
+
default: '',
|
|
344
|
+
description: 'ID of the message being replied to',
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
displayName: 'Quote',
|
|
348
|
+
name: 'quote',
|
|
349
|
+
type: 'string',
|
|
350
|
+
default: '',
|
|
351
|
+
description: 'Quoted/highlighted text from the replied message',
|
|
352
|
+
},
|
|
353
|
+
],
|
|
354
|
+
},
|
|
355
|
+
],
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
displayName: 'Output Options',
|
|
359
|
+
name: 'outputOptions',
|
|
360
|
+
type: 'collection',
|
|
361
|
+
placeholder: 'Add Option',
|
|
362
|
+
default: {},
|
|
363
|
+
displayOptions: {
|
|
364
|
+
show: {
|
|
365
|
+
operation: ['insert', 'get'],
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
options: [
|
|
369
|
+
{
|
|
370
|
+
displayName: 'Include Timestamp',
|
|
371
|
+
name: 'outputTimestamp',
|
|
372
|
+
type: 'boolean',
|
|
373
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_TIMESTAMP,
|
|
374
|
+
description: 'Whether to include the timestamp in the output',
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
displayName: 'Include Token Estimate',
|
|
378
|
+
name: 'outputTokenEstimate',
|
|
379
|
+
type: 'boolean',
|
|
380
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_TOKEN_ESTIMATE,
|
|
381
|
+
description: 'Whether to include an estimate of the token count',
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
displayName: 'Use Users Map',
|
|
385
|
+
name: 'useUsersMap',
|
|
386
|
+
type: 'boolean',
|
|
387
|
+
default: constants_1.DEFAULT_VALUES.USE_USERS_MAP,
|
|
388
|
+
description: 'Whether to use a separate users map for storing user details',
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
displayName: 'Include Chat ID',
|
|
392
|
+
name: 'outputChatId',
|
|
393
|
+
type: 'boolean',
|
|
394
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_CHAT_ID,
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
displayName: 'Include Chat Type',
|
|
398
|
+
name: 'outputChatType',
|
|
399
|
+
type: 'boolean',
|
|
400
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_CHAT_TYPE,
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
displayName: 'Include Chat Name',
|
|
404
|
+
name: 'outputChatName',
|
|
405
|
+
type: 'boolean',
|
|
406
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_CHAT_NAME,
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
displayName: 'Include Chat Handle',
|
|
410
|
+
name: 'outputChatHandle',
|
|
411
|
+
type: 'boolean',
|
|
412
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_CHAT_HANDLE,
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
displayName: 'Include Identity ID',
|
|
416
|
+
name: 'outputIdentityId',
|
|
417
|
+
type: 'boolean',
|
|
418
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_IDENTITY_ID,
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
displayName: 'Include Identity Name',
|
|
422
|
+
name: 'outputIdentityName',
|
|
423
|
+
type: 'boolean',
|
|
424
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_IDENTITY_NAME,
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
displayName: 'Include Identity Handle',
|
|
428
|
+
name: 'outputIdentityHandle',
|
|
429
|
+
type: 'boolean',
|
|
430
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_IDENTITY_HANDLE,
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
displayName: 'Include Identity Role',
|
|
434
|
+
name: 'outputIdentityRole',
|
|
435
|
+
type: 'boolean',
|
|
436
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_IDENTITY_ROLE,
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
displayName: 'Include Reply Context',
|
|
440
|
+
name: 'outputReplyContext',
|
|
441
|
+
type: 'boolean',
|
|
442
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_REPLY_CONTEXT,
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
displayName: 'Include Reply Name',
|
|
446
|
+
name: 'outputReplyName',
|
|
447
|
+
type: 'boolean',
|
|
448
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_REPLY_NAME,
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
displayName: 'Include Reply Handle',
|
|
452
|
+
name: 'outputReplyHandle',
|
|
453
|
+
type: 'boolean',
|
|
454
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_REPLY_HANDLE,
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
displayName: 'Include Reply Content',
|
|
458
|
+
name: 'outputReplyContent',
|
|
459
|
+
type: 'boolean',
|
|
460
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_REPLY_CONTENT,
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
displayName: 'Include Reply Message ID',
|
|
464
|
+
name: 'outputReplyMessageId',
|
|
465
|
+
type: 'boolean',
|
|
466
|
+
default: constants_1.DEFAULT_VALUES.OUTPUT_REPLY_MESSAGE_ID,
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
displayName: 'Smart Pruning',
|
|
470
|
+
name: 'smartPruning',
|
|
471
|
+
type: 'boolean',
|
|
472
|
+
default: false,
|
|
473
|
+
description: 'Whether to hide redundant reply details (name, handle, content) if the replied message is already in the current memory window.',
|
|
474
|
+
},
|
|
475
|
+
],
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
displayName: 'Get Memory Mode',
|
|
479
|
+
name: 'getMemoryMode',
|
|
480
|
+
type: 'options',
|
|
481
|
+
displayOptions: {
|
|
482
|
+
show: {
|
|
483
|
+
operation: ['get'],
|
|
484
|
+
},
|
|
485
|
+
},
|
|
486
|
+
options: [
|
|
487
|
+
{
|
|
488
|
+
name: 'Get Full Memory',
|
|
489
|
+
value: 'full',
|
|
490
|
+
description: 'Retrieve the complete memory object with all fields',
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
name: 'Get Specific Fields',
|
|
494
|
+
value: 'fields',
|
|
495
|
+
description: 'Select specific top-level fields to retrieve from memory',
|
|
496
|
+
},
|
|
497
|
+
],
|
|
498
|
+
default: 'full',
|
|
499
|
+
description: 'Choose whether to get the full memory or select specific fields',
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
displayName: 'Fields to Get',
|
|
503
|
+
name: 'fieldsToGet',
|
|
504
|
+
type: 'multiOptions',
|
|
505
|
+
displayOptions: {
|
|
506
|
+
show: {
|
|
507
|
+
operation: ['get'],
|
|
508
|
+
getMemoryMode: ['fields'],
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
options: [
|
|
512
|
+
{
|
|
513
|
+
name: 'Chat Info Fields',
|
|
514
|
+
value: 'chat',
|
|
515
|
+
description: 'Metadata about the chat',
|
|
516
|
+
options: [
|
|
517
|
+
{ name: 'Chat ID', value: 'chat.id' },
|
|
518
|
+
{ name: 'Chat Type', value: 'chat.type' },
|
|
519
|
+
{ name: 'Chat Name', value: 'chat.name' },
|
|
520
|
+
{ name: 'Handle', value: 'chat.handle' },
|
|
521
|
+
],
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
name: 'Message Fields',
|
|
525
|
+
value: 'messages',
|
|
526
|
+
description: 'Core message properties',
|
|
527
|
+
options: [
|
|
528
|
+
{ name: 'Role', value: 'messages.role' },
|
|
529
|
+
{ name: 'Content', value: 'messages.content' },
|
|
530
|
+
{ name: 'Message ID', value: 'messages.msgId' },
|
|
531
|
+
{ name: 'Timestamp', value: 'messages.time' },
|
|
532
|
+
],
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
name: 'User Info Fields',
|
|
536
|
+
value: 'userInfo',
|
|
537
|
+
description: 'Information about the message sender',
|
|
538
|
+
options: [
|
|
539
|
+
{ name: 'User ID', value: 'sender.id' },
|
|
540
|
+
{ name: 'User Name', value: 'sender.name' },
|
|
541
|
+
{ name: 'User Handle', value: 'sender.handle' },
|
|
542
|
+
{ name: 'User Role', value: 'sender.role' },
|
|
543
|
+
],
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
name: 'Reply To Fields',
|
|
547
|
+
value: 'reply',
|
|
548
|
+
description: 'Context from a replied-to message',
|
|
549
|
+
options: [
|
|
550
|
+
{ name: 'Reply Name', value: 'reply.name' },
|
|
551
|
+
{ name: 'Reply Handle', value: 'reply.handle' },
|
|
552
|
+
{ name: 'Reply Message', value: 'reply.content' },
|
|
553
|
+
{ name: 'Reply Message ID', value: 'reply.msgId' },
|
|
554
|
+
],
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
name: 'Top-Level Fields',
|
|
558
|
+
value: 'topLevel',
|
|
559
|
+
description: 'Other top-level memory fields',
|
|
560
|
+
options: [
|
|
561
|
+
{ name: 'Users Map', value: 'users' },
|
|
562
|
+
{ name: 'Message Count', value: 'count' },
|
|
563
|
+
{ name: 'Token Estimate', value: 'tokenEstimate' },
|
|
564
|
+
],
|
|
565
|
+
},
|
|
566
|
+
],
|
|
567
|
+
default: [],
|
|
568
|
+
description: 'Select the specific fields to include in the output',
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
displayName: 'Log Level',
|
|
572
|
+
name: 'logLevel',
|
|
573
|
+
type: 'options',
|
|
574
|
+
noDataExpression: true,
|
|
575
|
+
options: [
|
|
576
|
+
{ name: 'Debug', value: 'debug' },
|
|
577
|
+
{ name: 'Info', value: 'info' },
|
|
578
|
+
{ name: 'Warn', value: 'warn' },
|
|
579
|
+
{ name: 'Error', value: 'error' },
|
|
580
|
+
],
|
|
581
|
+
default: 'info',
|
|
582
|
+
description: 'Set the verbosity of the logs',
|
|
583
|
+
},
|
|
584
|
+
],
|
|
585
|
+
};
|
|
586
|
+
//# sourceMappingURL=SmartMemory.description.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartMemory.description.js","sourceRoot":"","sources":["../../../nodes/SmartMemory/SmartMemory.description.ts"],"names":[],"mappings":"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"}
|