true-mem 1.0.10 → 1.0.11
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/index.js
CHANGED
|
@@ -858,6 +858,9 @@ function matchesNegativePattern(text, classification) {
|
|
|
858
858
|
if (isAIMetaTalk(text)) {
|
|
859
859
|
return true;
|
|
860
860
|
}
|
|
861
|
+
if (NEGATION_PATTERNS.some((pattern) => pattern.test(text))) {
|
|
862
|
+
return true;
|
|
863
|
+
}
|
|
861
864
|
if (FIRST_PERSON_RECALL_PATTERNS.some((pattern) => pattern.test(text))) {
|
|
862
865
|
return true;
|
|
863
866
|
}
|
|
@@ -869,8 +872,75 @@ function matchesNegativePattern(text, classification) {
|
|
|
869
872
|
return false;
|
|
870
873
|
return patterns.some((pattern) => pattern.test(text));
|
|
871
874
|
}
|
|
872
|
-
var AI_META_TALK_PATTERNS, FIRST_PERSON_RECALL_PATTERNS, REMIND_RECALL_PATTERNS, NEGATIVE_PATTERNS;
|
|
875
|
+
var NEGATION_PATTERNS, AI_META_TALK_PATTERNS, FIRST_PERSON_RECALL_PATTERNS, REMIND_RECALL_PATTERNS, NEGATIVE_PATTERNS;
|
|
873
876
|
var init_negative_patterns = __esm(() => {
|
|
877
|
+
NEGATION_PATTERNS = [
|
|
878
|
+
/\bnon\s+(ho|hai|ha|abbiamo|avete|hanno)\s+(capito|capita|capisco|capisci|capisce|capiamo)\b/i,
|
|
879
|
+
/\bnon\s+(\u00E8|sono|e'|erano|eravamo|fu|fui)\b/i,
|
|
880
|
+
/\bnon\s+(posso|puoi|pu\u00F2|possiamo|potete|possono|potrei|potresti|potrebbe|potremmo)\b/i,
|
|
881
|
+
/\bnon\s+(voglio|vuoi|vuole|vogliamo|volete|vogliono|vorrei|vorresti|vorrebbe|vorremmo)\b/i,
|
|
882
|
+
/\bnon\s+(devo|devi|deve|dobbiamo|dovete|devono|dovrei|dovresti|dovrebbe|dovremmo)\b/i,
|
|
883
|
+
/\bnon\s+(so|sai|sa|sappiamo|sapete|sanno)\b/i,
|
|
884
|
+
/\bnon\s+(mi|ti|si|ci|vi)\s+(ricordo|ricordi|ricorda|ricordiamo|ricordate)\b/i,
|
|
885
|
+
/\bnon\s+(funziona|funzionano|funzionava|funzionava|funzioner[a\u00E0])\b/i,
|
|
886
|
+
/\bnon\s+(c'[e\u00E8]|ci\s+[e\u00E8]|c'\s+era|ci\s+era)\b/i,
|
|
887
|
+
/\bI\s+(don'?t|do\s+not)\s+(understand|know|think|believe|remember|recall)\b/i,
|
|
888
|
+
/\bI\s+(didn'?t|did\s+not)\s+(understand|know|think|believe|remember|recall|get|catch)\b/i,
|
|
889
|
+
/\bI\s+(haven'?t|have\s+not)\s+(understood|known|thought|believed|remembered|recalled)\b/i,
|
|
890
|
+
/\bI\s+(wouldn'?t|would\s+not)\b/i,
|
|
891
|
+
/\bI\s+(couldn'?t|could\s+not)\b/i,
|
|
892
|
+
/\bI\s+(shouldn'?t|should\s+not)\b/i,
|
|
893
|
+
/\bit\s+(doesn'?t|does\s+not)\s+(work|function|exist)\b/i,
|
|
894
|
+
/\bit\s+(didn'?t|did\s+not)\s+(work|function)\b/i,
|
|
895
|
+
/\b(not|never|no)\s+(understand|know|remember|recall|believe|think)\b/i,
|
|
896
|
+
/\bno\s+(entiendo|entiende|entend[i\u00ED]|comprendo|comprende|comprend[i\u00ED])\b/i,
|
|
897
|
+
/\bno\s+(puedo|puedes|puede|podemos|pod[e\u00E9]is|pueden|podr[i\u00ED]a|podr[i\u00ED]as)\b/i,
|
|
898
|
+
/\bno\s+(quiero|quieres|quiere|queremos|quer[e\u00E9]is|quieren|querr[i\u00ED]a|querr[i\u00ED]as)\b/i,
|
|
899
|
+
/\bno\s+(s[\u00E9e]|sabes|sabe|sabemos|sab[e\u00E9]is|saben)\b/i,
|
|
900
|
+
/\bno\s+(recuerdo|recuerdas|recuerda|recordamos|record[e\u00E1]is|recuerdan)\b/i,
|
|
901
|
+
/\bno\s+(funciona|funcionan|funcionaba|funcionab[aan]|funcionar[a\u00E1])\b/i,
|
|
902
|
+
/\bje\s+ne\s+(comprends|comprend|comprendais|compris)\b/i,
|
|
903
|
+
/\bje\s+ne\s+(sais|sais|savait|su)\b/i,
|
|
904
|
+
/\bje\s+ne\s+(veux|veux|voulais|voulus)\b/i,
|
|
905
|
+
/\bje\s+ne\s+(peux|peux|pouvais|pus)\b/i,
|
|
906
|
+
/\bje\s+ne\s+(dois|dois|devais|d[uu])\b/i,
|
|
907
|
+
/\bje\s+ne\s+(me\s+)?souviens\b/i,
|
|
908
|
+
/\bil\s+ne\s+(fonctionne|fonctionnait|fonctionnera)\b/i,
|
|
909
|
+
/\bich\s+(verstehe|verstand|verstanden)\s+nicht\b/i,
|
|
910
|
+
/\bich\s+(wei[s\u00DF]|wusste|gewusst)\s+nicht\b/i,
|
|
911
|
+
/\bich\s+(will|wollte|wollte)\s+nicht\b/i,
|
|
912
|
+
/\bich\s+(kann|konnte|gekonnt)\s+nicht\b/i,
|
|
913
|
+
/\bich\s+(muss|musste|gemusst)\s+nicht\b/i,
|
|
914
|
+
/\bich\s+erinnere\s+(mich|nicht)\b/i,
|
|
915
|
+
/\b(es|das)\s+(funktioniert|funktionierte|funktionieren)\s+nicht\b/i,
|
|
916
|
+
/\b(eu\s+)?n[\u00E3a]o\s+(entendo|entende|entend[i\u00ED])\b/i,
|
|
917
|
+
/\b(eu\s+)?n[\u00E3a]o\s+(sei|sabe|sabia|soube)\b/i,
|
|
918
|
+
/\b(eu\s+)?n[\u00E3a]o\s+(quero|quer|queria|quis)\b/i,
|
|
919
|
+
/\b(eu\s+)?n[\u00E3a]o\s+(posso|pode|podia|p[^o]de)\b/i,
|
|
920
|
+
/\b(eu\s+)?n[\u00E3a]o\s+(devo|deve|devia|deveu)\b/i,
|
|
921
|
+
/\b(eu\s+)?n[\u00E3a]o\s+me\s+lembro\b/i,
|
|
922
|
+
/\bn[\u00E3a]o\s+(funciona|funcionam|funcionava|funcionar[a\u00E1])\b/i,
|
|
923
|
+
/\bik\s+versta\s+(niet)\b/i,
|
|
924
|
+
/\bik\s+(weet|wist|geweten)\s+(niet)\b/i,
|
|
925
|
+
/\bik\s+(wil|wou|gewild)\s+(niet)\b/i,
|
|
926
|
+
/\bik\s+(kan|kon|gekund)\s+(niet)\b/i,
|
|
927
|
+
/\bik\s+(moet|moest|gemogen)\s+(niet)\b/i,
|
|
928
|
+
/\bhet\s+(werkt|werkte|gewerkt)\s+(niet)\b/i,
|
|
929
|
+
/\b(nie)\s+(rozumiem|rozumiesz|rozumie|rozumia[l\u0142]|zrozumia[l\u0142])\b/i,
|
|
930
|
+
/\b(nie)\s+(wiem|wiesz|wie|wiedzia[l\u0142])\b/i,
|
|
931
|
+
/\b(nie)\s+(chc[e\u0119]|chcia[l\u0142]em|chcia[l\u0142])\b/i,
|
|
932
|
+
/\b(nie)\s+(potraf[i\u0119]|mog[e\u0119]|mog[l\u0142]em|mog[l\u0142])\b/i,
|
|
933
|
+
/\b(nie)\s+(musz[e\u0119]|musia[l\u0142]em|musia[l\u0142])\b/i,
|
|
934
|
+
/\b(nie)\s+(dzia[l\u0142]a|dzia[l\u0142]a[l\u0142])\b/i,
|
|
935
|
+
/\banlam[i\u0131]yorum\b/i,
|
|
936
|
+
/\banlamad[i\u0131]m\b/i,
|
|
937
|
+
/\bbilmiyorum\b/i,
|
|
938
|
+
/\bbilmedim\b/i,
|
|
939
|
+
/\bistemiyorum\b/i,
|
|
940
|
+
/\bistemeden\b/i,
|
|
941
|
+
/\bisteyemem\b/i,
|
|
942
|
+
/\bcal[i\u0131][\u015Fs]m[i\u0131]yor\b/i
|
|
943
|
+
];
|
|
874
944
|
AI_META_TALK_PATTERNS = [
|
|
875
945
|
/^(Goal|Summary|Context|Analysis|Note|Overview|Background):\s+The user/i,
|
|
876
946
|
/^(Goal|Summary|Context|Analysis|Note|Overview|Background):\s+This/i,
|
|
@@ -1122,19 +1192,24 @@ function classifyWithExplicitIntent(text, signals) {
|
|
|
1122
1192
|
return { classification, confidence, isolatedContent: text };
|
|
1123
1193
|
}
|
|
1124
1194
|
const markerPatterns = [
|
|
1195
|
+
/\bricordati(?:\s+\w+){0,5}?\s+che\b:?\s*/gi,
|
|
1196
|
+
/\bricordati\b:?\s*/gi,
|
|
1197
|
+
/\bricorda(?:\s+\w+){0,5}?\s+che\b:?\s*/gi,
|
|
1125
1198
|
/\bricorda questo\b:?\s*/gi,
|
|
1126
|
-
/\
|
|
1127
|
-
/\
|
|
1128
|
-
/\
|
|
1199
|
+
/\bricordami(?:\s+\w+){0,5}?\s+che\b:?\s*/gi,
|
|
1200
|
+
/\bricordami che\b:?\s*/gi,
|
|
1201
|
+
/\bmemorizza(?:\s+\w+){0,5}?\s+che\b:?\s*/gi,
|
|
1129
1202
|
/\bmemorizza questo\b:?\s*/gi,
|
|
1130
|
-
/\bmemorizza che\b:?\s*/gi,
|
|
1131
1203
|
/\bmemorizziamo\b:?\s*/gi,
|
|
1132
|
-
/\bricordiamoci
|
|
1133
|
-
/\
|
|
1134
|
-
/\
|
|
1135
|
-
/\
|
|
1136
|
-
/\
|
|
1137
|
-
/\
|
|
1204
|
+
/\bricordiamoci(?:\s+\w+){0,5}?\s+(?:che|di)\b:?\s*/gi,
|
|
1205
|
+
/\btieni(?:\s+\w+){0,5}?\s+a mente\b:?\s*/gi,
|
|
1206
|
+
/\bnota(?:\s+\w+){0,5}?\s+che\b:?\s*/gi,
|
|
1207
|
+
/\bremember(?:\s+\w+){0,5}?\s+(?:this|that|to)\b:?\s*/gi,
|
|
1208
|
+
/\bremember this\b:?\s*/gi,
|
|
1209
|
+
/\bkeep(?:\s+\w+){0,5}?\s+in mind\b:?\s*/gi,
|
|
1210
|
+
/\bnote(?:\s+\w+){0,5}?\s+that\b:?\s*/gi,
|
|
1211
|
+
/\bdon'?t forget\b:?\s*/gi,
|
|
1212
|
+
/\bmake sure to remember\b:?\s*/gi
|
|
1138
1213
|
];
|
|
1139
1214
|
let isolatedContent = "";
|
|
1140
1215
|
let firstMatch = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/memory/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoCjE,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAkCzF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0DxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,GACb;IAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/memory/classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoCjE,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAkCzF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0DxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,GACb;IAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAoGhF;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,WAAW,GACvB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA8CpC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,EACd,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,GACxC;IACD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAsEA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,CAWR"}
|
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
* These patterns filter out common false positives before classification.
|
|
5
5
|
* E.g., "resolve DNS" should NOT trigger bugfix classification.
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Negation Patterns
|
|
9
|
+
*
|
|
10
|
+
* These patterns detect negations that invalidate memory statements.
|
|
11
|
+
* Sentences containing negations should NOT be stored as memories, regardless
|
|
12
|
+
* of whether they contain other memory-related keywords.
|
|
13
|
+
*
|
|
14
|
+
* Example: "non ho capito" contains "capito" but is negated → DON'T store
|
|
15
|
+
* Example: "I don't understand" contains "understand" but is negated → DON'T store
|
|
16
|
+
*
|
|
17
|
+
* Rationale: Negations reverse the meaning of statements. Learning something
|
|
18
|
+
* implies understanding, but "I don't understand" is the opposite.
|
|
19
|
+
*/
|
|
20
|
+
export declare const NEGATION_PATTERNS: RegExp[];
|
|
7
21
|
/**
|
|
8
22
|
* AI Meta-Talk Patterns
|
|
9
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negative-patterns.d.ts","sourceRoot":"","sources":["../../src/memory/negative-patterns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAmCzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAahD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,EA0ChD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,EA+B1C,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0DtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"negative-patterns.d.ts","sourceRoot":"","sources":["../../src/memory/negative-patterns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAmFrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAmCzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAahD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,EA0ChD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,EA+B1C,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0DtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAyBpF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1F"}
|