memories-lite 0.9.4 → 0.10.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.
- package/TECHNICAL.md +0 -2
- package/dist/config/defaults.js +5 -7
- package/dist/config/manager.js +2 -6
- package/dist/llms/openai.js +17 -5
- package/dist/llms/openai_structured.js +23 -17
- package/dist/memory/index.js +11 -1
- package/dist/prompts/index.d.ts +15 -17
- package/dist/prompts/index.js +97 -113
- package/dist/types/index.d.ts +15 -233
- package/dist/types/index.js +1 -13
- package/dist/vectorstores/lite.js +1 -1
- package/memories-lite-a42ac5108869b599bcbac21069f63fb47f07452fcc4b87e89b3c06a945612d0b.db +0 -0
- package/memories-lite-a9137698d8d3fdbf27efcdc8cd372084b52d484e8db866c5455bbb3f85299b54.db +0 -0
- package/package.json +2 -1
- package/src/config/defaults.ts +5 -7
- package/src/config/manager.ts +2 -6
- package/src/llms/openai.ts +18 -5
- package/src/llms/openai_structured.ts +23 -19
- package/src/memory/index.ts +13 -2
- package/src/prompts/index.ts +95 -115
- package/src/types/index.ts +3 -17
- package/src/vectorstores/lite.ts +1 -1
- package/tests/init.mem.ts +1 -1
- package/tests/lite.spec.ts +1 -1
- package/tests/memory.facts.test.ts +39 -32
- package/tests/memory.test.ts +5 -6
- package/tests/memory.todo.test.ts +126 -0
package/dist/types/index.d.ts
CHANGED
|
@@ -62,10 +62,8 @@ export interface MemoryTypeConfig {
|
|
|
62
62
|
halfLifeDays: number;
|
|
63
63
|
}
|
|
64
64
|
export interface MemoryScoringConfig {
|
|
65
|
-
|
|
66
|
-
episodic: MemoryTypeConfig;
|
|
65
|
+
todo: MemoryTypeConfig;
|
|
67
66
|
factual: MemoryTypeConfig;
|
|
68
|
-
semantic: MemoryTypeConfig;
|
|
69
67
|
assistant_preference: MemoryTypeConfig;
|
|
70
68
|
default: MemoryTypeConfig;
|
|
71
69
|
}
|
|
@@ -91,7 +89,7 @@ export interface MemoryConfig {
|
|
|
91
89
|
graphStore?: GraphStoreConfig;
|
|
92
90
|
enableGraph?: boolean;
|
|
93
91
|
}
|
|
94
|
-
export type MemoryType = '
|
|
92
|
+
export type MemoryType = 'todo' | 'factual' | 'assistant_preference';
|
|
95
93
|
export interface MemoryItem {
|
|
96
94
|
id: string;
|
|
97
95
|
memory: string;
|
|
@@ -171,23 +169,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
171
169
|
dimension: z.ZodOptional<z.ZodNumber>;
|
|
172
170
|
client: z.ZodOptional<z.ZodAny>;
|
|
173
171
|
scoring: z.ZodOptional<z.ZodObject<{
|
|
174
|
-
|
|
175
|
-
alpha: z.ZodNumber;
|
|
176
|
-
beta: z.ZodNumber;
|
|
177
|
-
gamma: z.ZodNumber;
|
|
178
|
-
halfLifeDays: z.ZodNumber;
|
|
179
|
-
}, "strip", z.ZodTypeAny, {
|
|
180
|
-
alpha: number;
|
|
181
|
-
beta: number;
|
|
182
|
-
gamma: number;
|
|
183
|
-
halfLifeDays: number;
|
|
184
|
-
}, {
|
|
185
|
-
alpha: number;
|
|
186
|
-
beta: number;
|
|
187
|
-
gamma: number;
|
|
188
|
-
halfLifeDays: number;
|
|
189
|
-
}>;
|
|
190
|
-
episodic: z.ZodObject<{
|
|
172
|
+
todo: z.ZodObject<{
|
|
191
173
|
alpha: z.ZodNumber;
|
|
192
174
|
beta: z.ZodNumber;
|
|
193
175
|
gamma: z.ZodNumber;
|
|
@@ -219,22 +201,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
219
201
|
gamma: number;
|
|
220
202
|
halfLifeDays: number;
|
|
221
203
|
}>;
|
|
222
|
-
semantic: z.ZodObject<{
|
|
223
|
-
alpha: z.ZodNumber;
|
|
224
|
-
beta: z.ZodNumber;
|
|
225
|
-
gamma: z.ZodNumber;
|
|
226
|
-
halfLifeDays: z.ZodNumber;
|
|
227
|
-
}, "strip", z.ZodTypeAny, {
|
|
228
|
-
alpha: number;
|
|
229
|
-
beta: number;
|
|
230
|
-
gamma: number;
|
|
231
|
-
halfLifeDays: number;
|
|
232
|
-
}, {
|
|
233
|
-
alpha: number;
|
|
234
|
-
beta: number;
|
|
235
|
-
gamma: number;
|
|
236
|
-
halfLifeDays: number;
|
|
237
|
-
}>;
|
|
238
204
|
assistant_preference: z.ZodObject<{
|
|
239
205
|
alpha: z.ZodNumber;
|
|
240
206
|
beta: z.ZodNumber;
|
|
@@ -268,13 +234,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
268
234
|
halfLifeDays: number;
|
|
269
235
|
}>;
|
|
270
236
|
}, "strip", z.ZodTypeAny, {
|
|
271
|
-
|
|
272
|
-
alpha: number;
|
|
273
|
-
beta: number;
|
|
274
|
-
gamma: number;
|
|
275
|
-
halfLifeDays: number;
|
|
276
|
-
};
|
|
277
|
-
episodic: {
|
|
237
|
+
todo: {
|
|
278
238
|
alpha: number;
|
|
279
239
|
beta: number;
|
|
280
240
|
gamma: number;
|
|
@@ -286,12 +246,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
286
246
|
gamma: number;
|
|
287
247
|
halfLifeDays: number;
|
|
288
248
|
};
|
|
289
|
-
semantic: {
|
|
290
|
-
alpha: number;
|
|
291
|
-
beta: number;
|
|
292
|
-
gamma: number;
|
|
293
|
-
halfLifeDays: number;
|
|
294
|
-
};
|
|
295
249
|
assistant_preference: {
|
|
296
250
|
alpha: number;
|
|
297
251
|
beta: number;
|
|
@@ -305,13 +259,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
305
259
|
halfLifeDays: number;
|
|
306
260
|
};
|
|
307
261
|
}, {
|
|
308
|
-
|
|
309
|
-
alpha: number;
|
|
310
|
-
beta: number;
|
|
311
|
-
gamma: number;
|
|
312
|
-
halfLifeDays: number;
|
|
313
|
-
};
|
|
314
|
-
episodic: {
|
|
262
|
+
todo: {
|
|
315
263
|
alpha: number;
|
|
316
264
|
beta: number;
|
|
317
265
|
gamma: number;
|
|
@@ -323,12 +271,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
323
271
|
gamma: number;
|
|
324
272
|
halfLifeDays: number;
|
|
325
273
|
};
|
|
326
|
-
semantic: {
|
|
327
|
-
alpha: number;
|
|
328
|
-
beta: number;
|
|
329
|
-
gamma: number;
|
|
330
|
-
halfLifeDays: number;
|
|
331
|
-
};
|
|
332
274
|
assistant_preference: {
|
|
333
275
|
alpha: number;
|
|
334
276
|
beta: number;
|
|
@@ -348,23 +290,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
348
290
|
dimension: z.ZodOptional<z.ZodNumber>;
|
|
349
291
|
client: z.ZodOptional<z.ZodAny>;
|
|
350
292
|
scoring: z.ZodOptional<z.ZodObject<{
|
|
351
|
-
|
|
352
|
-
alpha: z.ZodNumber;
|
|
353
|
-
beta: z.ZodNumber;
|
|
354
|
-
gamma: z.ZodNumber;
|
|
355
|
-
halfLifeDays: z.ZodNumber;
|
|
356
|
-
}, "strip", z.ZodTypeAny, {
|
|
357
|
-
alpha: number;
|
|
358
|
-
beta: number;
|
|
359
|
-
gamma: number;
|
|
360
|
-
halfLifeDays: number;
|
|
361
|
-
}, {
|
|
362
|
-
alpha: number;
|
|
363
|
-
beta: number;
|
|
364
|
-
gamma: number;
|
|
365
|
-
halfLifeDays: number;
|
|
366
|
-
}>;
|
|
367
|
-
episodic: z.ZodObject<{
|
|
293
|
+
todo: z.ZodObject<{
|
|
368
294
|
alpha: z.ZodNumber;
|
|
369
295
|
beta: z.ZodNumber;
|
|
370
296
|
gamma: z.ZodNumber;
|
|
@@ -396,22 +322,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
396
322
|
gamma: number;
|
|
397
323
|
halfLifeDays: number;
|
|
398
324
|
}>;
|
|
399
|
-
semantic: z.ZodObject<{
|
|
400
|
-
alpha: z.ZodNumber;
|
|
401
|
-
beta: z.ZodNumber;
|
|
402
|
-
gamma: z.ZodNumber;
|
|
403
|
-
halfLifeDays: z.ZodNumber;
|
|
404
|
-
}, "strip", z.ZodTypeAny, {
|
|
405
|
-
alpha: number;
|
|
406
|
-
beta: number;
|
|
407
|
-
gamma: number;
|
|
408
|
-
halfLifeDays: number;
|
|
409
|
-
}, {
|
|
410
|
-
alpha: number;
|
|
411
|
-
beta: number;
|
|
412
|
-
gamma: number;
|
|
413
|
-
halfLifeDays: number;
|
|
414
|
-
}>;
|
|
415
325
|
assistant_preference: z.ZodObject<{
|
|
416
326
|
alpha: z.ZodNumber;
|
|
417
327
|
beta: z.ZodNumber;
|
|
@@ -445,13 +355,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
445
355
|
halfLifeDays: number;
|
|
446
356
|
}>;
|
|
447
357
|
}, "strip", z.ZodTypeAny, {
|
|
448
|
-
|
|
449
|
-
alpha: number;
|
|
450
|
-
beta: number;
|
|
451
|
-
gamma: number;
|
|
452
|
-
halfLifeDays: number;
|
|
453
|
-
};
|
|
454
|
-
episodic: {
|
|
358
|
+
todo: {
|
|
455
359
|
alpha: number;
|
|
456
360
|
beta: number;
|
|
457
361
|
gamma: number;
|
|
@@ -463,12 +367,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
463
367
|
gamma: number;
|
|
464
368
|
halfLifeDays: number;
|
|
465
369
|
};
|
|
466
|
-
semantic: {
|
|
467
|
-
alpha: number;
|
|
468
|
-
beta: number;
|
|
469
|
-
gamma: number;
|
|
470
|
-
halfLifeDays: number;
|
|
471
|
-
};
|
|
472
370
|
assistant_preference: {
|
|
473
371
|
alpha: number;
|
|
474
372
|
beta: number;
|
|
@@ -482,13 +380,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
482
380
|
halfLifeDays: number;
|
|
483
381
|
};
|
|
484
382
|
}, {
|
|
485
|
-
|
|
486
|
-
alpha: number;
|
|
487
|
-
beta: number;
|
|
488
|
-
gamma: number;
|
|
489
|
-
halfLifeDays: number;
|
|
490
|
-
};
|
|
491
|
-
episodic: {
|
|
383
|
+
todo: {
|
|
492
384
|
alpha: number;
|
|
493
385
|
beta: number;
|
|
494
386
|
gamma: number;
|
|
@@ -500,12 +392,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
500
392
|
gamma: number;
|
|
501
393
|
halfLifeDays: number;
|
|
502
394
|
};
|
|
503
|
-
semantic: {
|
|
504
|
-
alpha: number;
|
|
505
|
-
beta: number;
|
|
506
|
-
gamma: number;
|
|
507
|
-
halfLifeDays: number;
|
|
508
|
-
};
|
|
509
395
|
assistant_preference: {
|
|
510
396
|
alpha: number;
|
|
511
397
|
beta: number;
|
|
@@ -525,23 +411,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
525
411
|
dimension: z.ZodOptional<z.ZodNumber>;
|
|
526
412
|
client: z.ZodOptional<z.ZodAny>;
|
|
527
413
|
scoring: z.ZodOptional<z.ZodObject<{
|
|
528
|
-
|
|
529
|
-
alpha: z.ZodNumber;
|
|
530
|
-
beta: z.ZodNumber;
|
|
531
|
-
gamma: z.ZodNumber;
|
|
532
|
-
halfLifeDays: z.ZodNumber;
|
|
533
|
-
}, "strip", z.ZodTypeAny, {
|
|
534
|
-
alpha: number;
|
|
535
|
-
beta: number;
|
|
536
|
-
gamma: number;
|
|
537
|
-
halfLifeDays: number;
|
|
538
|
-
}, {
|
|
539
|
-
alpha: number;
|
|
540
|
-
beta: number;
|
|
541
|
-
gamma: number;
|
|
542
|
-
halfLifeDays: number;
|
|
543
|
-
}>;
|
|
544
|
-
episodic: z.ZodObject<{
|
|
414
|
+
todo: z.ZodObject<{
|
|
545
415
|
alpha: z.ZodNumber;
|
|
546
416
|
beta: z.ZodNumber;
|
|
547
417
|
gamma: z.ZodNumber;
|
|
@@ -573,22 +443,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
573
443
|
gamma: number;
|
|
574
444
|
halfLifeDays: number;
|
|
575
445
|
}>;
|
|
576
|
-
semantic: z.ZodObject<{
|
|
577
|
-
alpha: z.ZodNumber;
|
|
578
|
-
beta: z.ZodNumber;
|
|
579
|
-
gamma: z.ZodNumber;
|
|
580
|
-
halfLifeDays: z.ZodNumber;
|
|
581
|
-
}, "strip", z.ZodTypeAny, {
|
|
582
|
-
alpha: number;
|
|
583
|
-
beta: number;
|
|
584
|
-
gamma: number;
|
|
585
|
-
halfLifeDays: number;
|
|
586
|
-
}, {
|
|
587
|
-
alpha: number;
|
|
588
|
-
beta: number;
|
|
589
|
-
gamma: number;
|
|
590
|
-
halfLifeDays: number;
|
|
591
|
-
}>;
|
|
592
446
|
assistant_preference: z.ZodObject<{
|
|
593
447
|
alpha: z.ZodNumber;
|
|
594
448
|
beta: z.ZodNumber;
|
|
@@ -622,13 +476,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
622
476
|
halfLifeDays: number;
|
|
623
477
|
}>;
|
|
624
478
|
}, "strip", z.ZodTypeAny, {
|
|
625
|
-
|
|
626
|
-
alpha: number;
|
|
627
|
-
beta: number;
|
|
628
|
-
gamma: number;
|
|
629
|
-
halfLifeDays: number;
|
|
630
|
-
};
|
|
631
|
-
episodic: {
|
|
479
|
+
todo: {
|
|
632
480
|
alpha: number;
|
|
633
481
|
beta: number;
|
|
634
482
|
gamma: number;
|
|
@@ -640,12 +488,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
640
488
|
gamma: number;
|
|
641
489
|
halfLifeDays: number;
|
|
642
490
|
};
|
|
643
|
-
semantic: {
|
|
644
|
-
alpha: number;
|
|
645
|
-
beta: number;
|
|
646
|
-
gamma: number;
|
|
647
|
-
halfLifeDays: number;
|
|
648
|
-
};
|
|
649
491
|
assistant_preference: {
|
|
650
492
|
alpha: number;
|
|
651
493
|
beta: number;
|
|
@@ -659,13 +501,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
659
501
|
halfLifeDays: number;
|
|
660
502
|
};
|
|
661
503
|
}, {
|
|
662
|
-
|
|
663
|
-
alpha: number;
|
|
664
|
-
beta: number;
|
|
665
|
-
gamma: number;
|
|
666
|
-
halfLifeDays: number;
|
|
667
|
-
};
|
|
668
|
-
episodic: {
|
|
504
|
+
todo: {
|
|
669
505
|
alpha: number;
|
|
670
506
|
beta: number;
|
|
671
507
|
gamma: number;
|
|
@@ -677,12 +513,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
677
513
|
gamma: number;
|
|
678
514
|
halfLifeDays: number;
|
|
679
515
|
};
|
|
680
|
-
semantic: {
|
|
681
|
-
alpha: number;
|
|
682
|
-
beta: number;
|
|
683
|
-
gamma: number;
|
|
684
|
-
halfLifeDays: number;
|
|
685
|
-
};
|
|
686
516
|
assistant_preference: {
|
|
687
517
|
alpha: number;
|
|
688
518
|
beta: number;
|
|
@@ -705,13 +535,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
705
535
|
dimension?: number | undefined;
|
|
706
536
|
client?: any;
|
|
707
537
|
scoring?: {
|
|
708
|
-
|
|
709
|
-
alpha: number;
|
|
710
|
-
beta: number;
|
|
711
|
-
gamma: number;
|
|
712
|
-
halfLifeDays: number;
|
|
713
|
-
};
|
|
714
|
-
episodic: {
|
|
538
|
+
todo: {
|
|
715
539
|
alpha: number;
|
|
716
540
|
beta: number;
|
|
717
541
|
gamma: number;
|
|
@@ -723,12 +547,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
723
547
|
gamma: number;
|
|
724
548
|
halfLifeDays: number;
|
|
725
549
|
};
|
|
726
|
-
semantic: {
|
|
727
|
-
alpha: number;
|
|
728
|
-
beta: number;
|
|
729
|
-
gamma: number;
|
|
730
|
-
halfLifeDays: number;
|
|
731
|
-
};
|
|
732
550
|
assistant_preference: {
|
|
733
551
|
alpha: number;
|
|
734
552
|
beta: number;
|
|
@@ -753,13 +571,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
753
571
|
dimension?: number | undefined;
|
|
754
572
|
client?: any;
|
|
755
573
|
scoring?: {
|
|
756
|
-
|
|
757
|
-
alpha: number;
|
|
758
|
-
beta: number;
|
|
759
|
-
gamma: number;
|
|
760
|
-
halfLifeDays: number;
|
|
761
|
-
};
|
|
762
|
-
episodic: {
|
|
574
|
+
todo: {
|
|
763
575
|
alpha: number;
|
|
764
576
|
beta: number;
|
|
765
577
|
gamma: number;
|
|
@@ -771,12 +583,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
771
583
|
gamma: number;
|
|
772
584
|
halfLifeDays: number;
|
|
773
585
|
};
|
|
774
|
-
semantic: {
|
|
775
|
-
alpha: number;
|
|
776
|
-
beta: number;
|
|
777
|
-
gamma: number;
|
|
778
|
-
halfLifeDays: number;
|
|
779
|
-
};
|
|
780
586
|
assistant_preference: {
|
|
781
587
|
alpha: number;
|
|
782
588
|
beta: number;
|
|
@@ -907,13 +713,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
907
713
|
dimension?: number | undefined;
|
|
908
714
|
client?: any;
|
|
909
715
|
scoring?: {
|
|
910
|
-
|
|
911
|
-
alpha: number;
|
|
912
|
-
beta: number;
|
|
913
|
-
gamma: number;
|
|
914
|
-
halfLifeDays: number;
|
|
915
|
-
};
|
|
916
|
-
episodic: {
|
|
716
|
+
todo: {
|
|
917
717
|
alpha: number;
|
|
918
718
|
beta: number;
|
|
919
719
|
gamma: number;
|
|
@@ -925,12 +725,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
925
725
|
gamma: number;
|
|
926
726
|
halfLifeDays: number;
|
|
927
727
|
};
|
|
928
|
-
semantic: {
|
|
929
|
-
alpha: number;
|
|
930
|
-
beta: number;
|
|
931
|
-
gamma: number;
|
|
932
|
-
halfLifeDays: number;
|
|
933
|
-
};
|
|
934
728
|
assistant_preference: {
|
|
935
729
|
alpha: number;
|
|
936
730
|
beta: number;
|
|
@@ -996,13 +790,7 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
996
790
|
dimension?: number | undefined;
|
|
997
791
|
client?: any;
|
|
998
792
|
scoring?: {
|
|
999
|
-
|
|
1000
|
-
alpha: number;
|
|
1001
|
-
beta: number;
|
|
1002
|
-
gamma: number;
|
|
1003
|
-
halfLifeDays: number;
|
|
1004
|
-
};
|
|
1005
|
-
episodic: {
|
|
793
|
+
todo: {
|
|
1006
794
|
alpha: number;
|
|
1007
795
|
beta: number;
|
|
1008
796
|
gamma: number;
|
|
@@ -1014,12 +802,6 @@ export declare const MemoryConfigSchema: z.ZodObject<{
|
|
|
1014
802
|
gamma: number;
|
|
1015
803
|
halfLifeDays: number;
|
|
1016
804
|
};
|
|
1017
|
-
semantic: {
|
|
1018
|
-
alpha: number;
|
|
1019
|
-
beta: number;
|
|
1020
|
-
gamma: number;
|
|
1021
|
-
halfLifeDays: number;
|
|
1022
|
-
};
|
|
1023
805
|
assistant_preference: {
|
|
1024
806
|
alpha: number;
|
|
1025
807
|
beta: number;
|
package/dist/types/index.js
CHANGED
|
@@ -21,13 +21,7 @@ exports.MemoryConfigSchema = zod_1.z.object({
|
|
|
21
21
|
dimension: zod_1.z.number().optional(),
|
|
22
22
|
client: zod_1.z.any().optional(),
|
|
23
23
|
scoring: zod_1.z.object({
|
|
24
|
-
|
|
25
|
-
alpha: zod_1.z.number(),
|
|
26
|
-
beta: zod_1.z.number(),
|
|
27
|
-
gamma: zod_1.z.number(),
|
|
28
|
-
halfLifeDays: zod_1.z.number(),
|
|
29
|
-
}),
|
|
30
|
-
episodic: zod_1.z.object({
|
|
24
|
+
todo: zod_1.z.object({
|
|
31
25
|
alpha: zod_1.z.number(),
|
|
32
26
|
beta: zod_1.z.number(),
|
|
33
27
|
gamma: zod_1.z.number(),
|
|
@@ -39,12 +33,6 @@ exports.MemoryConfigSchema = zod_1.z.object({
|
|
|
39
33
|
gamma: zod_1.z.number(),
|
|
40
34
|
halfLifeDays: zod_1.z.number(),
|
|
41
35
|
}),
|
|
42
|
-
semantic: zod_1.z.object({
|
|
43
|
-
alpha: zod_1.z.number(),
|
|
44
|
-
beta: zod_1.z.number(),
|
|
45
|
-
gamma: zod_1.z.number(),
|
|
46
|
-
halfLifeDays: zod_1.z.number(),
|
|
47
|
-
}),
|
|
48
36
|
assistant_preference: zod_1.z.object({
|
|
49
37
|
alpha: zod_1.z.number(),
|
|
50
38
|
beta: zod_1.z.number(),
|
|
@@ -33,7 +33,7 @@ class LiteVectorStore {
|
|
|
33
33
|
const filename = this.isSecure ? `memories-lite-${currentUserId}.db` : `memories-lite-global.db`;
|
|
34
34
|
this.dbPath = (config.rootPath == ':memory:') ? ':memory:' : path_1.default.join(config.rootPath, filename);
|
|
35
35
|
// Add error handling callback for the database connection
|
|
36
|
-
console.log('--- DBG create LiteVectorStore::dbPath',
|
|
36
|
+
//console.log('--- DBG create LiteVectorStore::dbPath',this.dbPath);
|
|
37
37
|
this.db = new sqlite3_1.default.Database(this.dbPath);
|
|
38
38
|
}
|
|
39
39
|
async init() {
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memories-lite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "A lightweight memory system for LLM agents",
|
|
5
5
|
"author": "olivier@evaletolab.ch",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
|
+
"predeploy": "npm version patch --no-git-tag-version",
|
|
9
10
|
"build": "tsc -b",
|
|
10
11
|
"test": "jest"
|
|
11
12
|
},
|
package/src/config/defaults.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { MemoryConfig, MemoryScoringConfig } from "../types";
|
|
2
2
|
|
|
3
3
|
const DEFAULT_SCORING_CONFIG: MemoryScoringConfig = {
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
factual: { alpha: 0.70, beta: 0.20, gamma: 0.10, halfLifeDays: 365 },
|
|
8
|
-
semantic: { alpha: 0.50, beta: 0.25, gamma: 0.25, halfLifeDays: 120 },
|
|
4
|
+
// Focused on user preferences with AI - removed episodic and procedural memories
|
|
5
|
+
todo: { alpha: 0.40, beta: 0.50, gamma: 0.10, halfLifeDays: 40 }, // ~40 days
|
|
6
|
+
factual: { alpha: 0.70, beta: 0.20, gamma: 0.10, halfLifeDays: 150 }, // ~150 days
|
|
9
7
|
assistant_preference: { alpha: 0.60, beta: 0.05, gamma: 0.35, halfLifeDays: Infinity },
|
|
10
8
|
default: { alpha: 0.5, beta: 0.3, gamma: 0.1, halfLifeDays: 30 } // Fallback default
|
|
11
9
|
};
|
|
@@ -34,7 +32,7 @@ export const DEFAULT_MEMORY_CONFIG: MemoryConfig = {
|
|
|
34
32
|
provider: "openai",
|
|
35
33
|
config: {
|
|
36
34
|
apiKey: process.env.OPENAI_API_KEY || "",
|
|
37
|
-
model: "gpt-
|
|
35
|
+
model: "gpt-5-mini",
|
|
38
36
|
modelProperties: undefined,
|
|
39
37
|
},
|
|
40
38
|
},
|
|
@@ -48,7 +46,7 @@ export const DEFAULT_MEMORY_CONFIG: MemoryConfig = {
|
|
|
48
46
|
llm: {
|
|
49
47
|
provider: "openai",
|
|
50
48
|
config: {
|
|
51
|
-
model: "gpt-
|
|
49
|
+
model: "gpt-5-mini",
|
|
52
50
|
},
|
|
53
51
|
},
|
|
54
52
|
},
|
package/src/config/manager.ts
CHANGED
|
@@ -51,10 +51,8 @@ export class ConfigManager {
|
|
|
51
51
|
dimension: userConf.dimension || defaultConf.dimension,
|
|
52
52
|
// Merge scoring deeply if present in userConf, otherwise use default
|
|
53
53
|
scoring: userConf.scoring ? {
|
|
54
|
-
|
|
55
|
-
episodic: { ...defaultConf.scoring?.episodic, ...userConf.scoring.episodic },
|
|
54
|
+
todo: { ...defaultConf.scoring?.todo, ...userConf.scoring.todo },
|
|
56
55
|
factual: { ...defaultConf.scoring?.factual, ...userConf.scoring.factual },
|
|
57
|
-
semantic: { ...defaultConf.scoring?.semantic, ...userConf.scoring.semantic },
|
|
58
56
|
assistant_preference: { ...defaultConf.scoring?.assistant_preference, ...userConf.scoring.assistant_preference },
|
|
59
57
|
default: { ...defaultConf.scoring?.default, ...userConf.scoring.default },
|
|
60
58
|
} : defaultConf.scoring,
|
|
@@ -69,10 +67,8 @@ export class ConfigManager {
|
|
|
69
67
|
client: undefined,
|
|
70
68
|
// Merge scoring deeply if present in userConf, otherwise use default
|
|
71
69
|
scoring: userConf?.scoring ? {
|
|
72
|
-
|
|
73
|
-
episodic: { ...defaultConf.scoring?.episodic, ...userConf.scoring.episodic },
|
|
70
|
+
todo: { ...defaultConf.scoring?.todo, ...userConf.scoring.todo },
|
|
74
71
|
factual: { ...defaultConf.scoring?.factual, ...userConf.scoring.factual },
|
|
75
|
-
semantic: { ...defaultConf.scoring?.semantic, ...userConf.scoring.semantic },
|
|
76
72
|
assistant_preference: { ...defaultConf.scoring?.assistant_preference, ...userConf.scoring.assistant_preference },
|
|
77
73
|
default: { ...defaultConf.scoring?.default, ...userConf.scoring.default },
|
|
78
74
|
} : defaultConf.scoring,
|
package/src/llms/openai.ts
CHANGED
|
@@ -9,7 +9,7 @@ export class OpenAILLM implements LLM {
|
|
|
9
9
|
|
|
10
10
|
constructor(config: LLMConfig) {
|
|
11
11
|
this.openai = new OpenAI({ apiKey: config.apiKey });
|
|
12
|
-
this.model = config.model || "gpt-
|
|
12
|
+
this.model = config.model || "gpt-5-mini";
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
async generateResponse(
|
|
@@ -33,14 +33,27 @@ export class OpenAILLM implements LLM {
|
|
|
33
33
|
// ⚠️ SyntaxError: Unexpected non-whitespace character after JSON at position 13
|
|
34
34
|
const fnCall = structuredOutput ?
|
|
35
35
|
this.openai.beta.chat.completions.parse.bind(this.openai.beta.chat.completions) : this.openai.chat.completions.create.bind(this.openai.chat.completions);
|
|
36
|
-
const
|
|
36
|
+
const selectedModel = model || this.model;
|
|
37
|
+
const isGpt5 = selectedModel.startsWith('gpt-5');
|
|
38
|
+
|
|
39
|
+
const options:any = {
|
|
37
40
|
messages: msg,
|
|
38
|
-
model:
|
|
39
|
-
top_p:.8,temperature:.2,
|
|
41
|
+
model: selectedModel,
|
|
40
42
|
...(structuredOutput && { logit_bias: { "1734": -100 } }),
|
|
41
43
|
response_format: responseFormat,
|
|
42
44
|
...(tools && { tools, tool_choice: "auto" }),
|
|
43
|
-
}
|
|
45
|
+
};
|
|
46
|
+
// GPT-5: temperature must be 1 or omitted; otherwise keep prior behavior
|
|
47
|
+
if (isGpt5) {
|
|
48
|
+
options.temperature = 1;
|
|
49
|
+
options.reasoning_effort="minimal";
|
|
50
|
+
options.verbosity = "low";
|
|
51
|
+
} else {
|
|
52
|
+
options.top_p = 0.8;
|
|
53
|
+
options.temperature = 0.2;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const completion = await fnCall(options);
|
|
44
57
|
|
|
45
58
|
const response:any = completion.choices[0].message;
|
|
46
59
|
|
|
@@ -8,7 +8,7 @@ export class OpenAIStructuredLLM implements LLM {
|
|
|
8
8
|
|
|
9
9
|
constructor(config: LLMConfig) {
|
|
10
10
|
this.openai = new OpenAI({ apiKey: config.apiKey });
|
|
11
|
-
this.model = config.model || "gpt-
|
|
11
|
+
this.model = config.model || "gpt-5-mini";
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
async generateResponse(
|
|
@@ -16,15 +16,19 @@ export class OpenAIStructuredLLM implements LLM {
|
|
|
16
16
|
responseFormat?: { type: string } | null,
|
|
17
17
|
tools?: any[],
|
|
18
18
|
): Promise<string | LLMResponse> {
|
|
19
|
+
const mapped = messages.map((msg) => ({
|
|
20
|
+
role: msg.role as "system" | "user" | "assistant",
|
|
21
|
+
content: typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content),
|
|
22
|
+
}));
|
|
23
|
+
const isGpt5 = this.model.startsWith('gpt-5');
|
|
24
|
+
const base:any = { messages: mapped, model: this.model };
|
|
25
|
+
if (isGpt5) {
|
|
26
|
+
base.temperature = 1;
|
|
27
|
+
base.reasoning_effort = "minimal";
|
|
28
|
+
base.verbosity = "low";
|
|
29
|
+
}
|
|
19
30
|
const completion = await this.openai.chat.completions.create({
|
|
20
|
-
|
|
21
|
-
role: msg.role as "system" | "user" | "assistant",
|
|
22
|
-
content:
|
|
23
|
-
typeof msg.content === "string"
|
|
24
|
-
? msg.content
|
|
25
|
-
: JSON.stringify(msg.content),
|
|
26
|
-
})),
|
|
27
|
-
model: this.model,
|
|
31
|
+
...base,
|
|
28
32
|
...(tools
|
|
29
33
|
? {
|
|
30
34
|
tools: tools.map((tool) => ({
|
|
@@ -63,16 +67,16 @@ export class OpenAIStructuredLLM implements LLM {
|
|
|
63
67
|
}
|
|
64
68
|
|
|
65
69
|
async generateChat(messages: Message[]): Promise<LLMResponse> {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
const mapped = messages.map((msg) => ({
|
|
71
|
+
role: msg.role as "system" | "user" | "assistant",
|
|
72
|
+
content: typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content),
|
|
73
|
+
}));
|
|
74
|
+
const isGpt5 = this.model.startsWith('gpt-5');
|
|
75
|
+
const base:any = { messages: mapped, model: this.model };
|
|
76
|
+
if (isGpt5) {
|
|
77
|
+
base.temperature = 1;
|
|
78
|
+
}
|
|
79
|
+
const completion = await this.openai.chat.completions.create(base);
|
|
76
80
|
const response = completion.choices[0].message;
|
|
77
81
|
return {
|
|
78
82
|
content: response.content || "",
|