claude-memory-store 0.1.7 → 0.1.9
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/atlas/vector.js +1 -1
- package/dist/atlas/vector.js.map +1 -1
- package/dist/bin/mcp-server.js +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/slash-commands/recall.d.ts.map +1 -1
- package/dist/slash-commands/recall.js +15 -7
- package/dist/slash-commands/recall.js.map +1 -1
- package/package.json +1 -1
package/dist/atlas/vector.js
CHANGED
|
@@ -61,7 +61,7 @@ async function search(query, projectId, limit = 5) {
|
|
|
61
61
|
touchLastAccessed(ids);
|
|
62
62
|
return results.map((doc) => ({
|
|
63
63
|
type: doc.type,
|
|
64
|
-
content: doc.searchable_text || doc.
|
|
64
|
+
content: doc.content || doc.description || doc.current_state || doc.searchable_text || doc.trigger || '',
|
|
65
65
|
score: doc.score,
|
|
66
66
|
document: doc,
|
|
67
67
|
}));
|
package/dist/atlas/vector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/atlas/vector.ts"],"names":[],"mappings":";;AAuCA,wBA4CC;AAQD,8CAqCC;AAhID,2CAA4C;AAC5C,mDAAoD;AACpD,4CAA0F;AAC1F,wDAA4D;AAU5D;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAa;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAa,GAAE,CAAC;IACzC,UAAU;SACP,UAAU,CACT,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EACxB;QACE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,IAAI,EAAE,EAAE;QACnC,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;KAC1B,CACF;SACA,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;AACxC,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,MAAM,CAC1B,KAAa,EACb,SAAiB,EACjB,QAAgB,CAAC;IAEjB,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAa,GAAE,CAAC;IAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,MAAM,IAAA,iCAAiB,EAAC,KAAK,CAAC,CAAC;IACtD,IAAA,kCAAmB,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,UAAU;SAC7B,SAAS,CAAC;QACT;YACE,aAAa,EAAE;gBACb,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,cAAc;gBAC3B,aAAa,EAAE,GAAG;gBAClB,KAAK;gBACL,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;aAClC;SACF;QACD;YACE,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;aACtC;SACF;QACD;YACE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,sCAA0B,EAAE,EAAE;SACxD;KACF,CAAC;SACD,OAAO,EAAE,CAAC;IAEb,kCAAkC;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEvB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/atlas/vector.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/mcp-server.js
CHANGED
|
@@ -23,7 +23,7 @@ const developer_js_1 = require("../memory/developer.js");
|
|
|
23
23
|
const working_js_1 = require("../memory/working.js");
|
|
24
24
|
const server = new mcp_js_1.McpServer({
|
|
25
25
|
name: 'claude-memory',
|
|
26
|
-
version: '0.1.
|
|
26
|
+
version: '0.1.9',
|
|
27
27
|
});
|
|
28
28
|
let connected = false;
|
|
29
29
|
async function ensureConnected() {
|
package/dist/config.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare function saveConfig(config: ClaudeMemoryConfig): void;
|
|
|
7
7
|
export declare function getAtlasUri(): string;
|
|
8
8
|
export declare function isConfigured(): boolean;
|
|
9
9
|
export declare function getMemoryTtlDays(): number;
|
|
10
|
-
export declare const VECTOR_RELEVANCE_THRESHOLD = 0.
|
|
10
|
+
export declare const VECTOR_RELEVANCE_THRESHOLD = 0.55;
|
|
11
11
|
export declare const DUPLICATE_SIMILARITY_THRESHOLD = 0.92;
|
|
12
12
|
export declare const MAX_INJECTION_CHARS = 2000;
|
|
13
13
|
export declare function getDecayHalfLifeDays(): number;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAarD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,UAAU,IAAI,kBAAkB,CAW/C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAG3D;AAED,wBAAgB,WAAW,IAAI,MAAM,CAOpC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAID,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAarD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,UAAU,IAAI,kBAAkB,CAW/C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAG3D;AAED,wBAAgB,WAAW,IAAI,MAAM,CAOpC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAID,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAK/C,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAInD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAG/C"}
|
package/dist/config.js
CHANGED
|
@@ -101,7 +101,7 @@ function getMemoryTtlDays() {
|
|
|
101
101
|
}
|
|
102
102
|
// Minimum cosine similarity score for a memory result to be considered relevant.
|
|
103
103
|
// Tuned against real session data. Increase to reduce noise, decrease to improve recall.
|
|
104
|
-
exports.VECTOR_RELEVANCE_THRESHOLD = 0.
|
|
104
|
+
exports.VECTOR_RELEVANCE_THRESHOLD = 0.55;
|
|
105
105
|
// Similarity threshold for duplicate detection.
|
|
106
106
|
// If a new memory scores >= this against an existing one, treat as duplicate.
|
|
107
107
|
// Higher = stricter dedup. Lower = more aggressive merging.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/slash-commands/recall.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/slash-commands/recall.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0GlE"}
|
|
@@ -59,15 +59,23 @@ async function recallCommand(topic) {
|
|
|
59
59
|
relatedThreads.forEach((t) => sections.push(`! ${t.description} (${t.status})`));
|
|
60
60
|
sections.push('');
|
|
61
61
|
}
|
|
62
|
-
// Semantic search for related
|
|
62
|
+
// Semantic search for related memories (all types)
|
|
63
63
|
try {
|
|
64
|
-
const results = await (0, vector_js_1.search)(topic, projectId,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
const results = await (0, vector_js_1.search)(topic, projectId, 5);
|
|
65
|
+
// Show results that weren't already found by substring matching above
|
|
66
|
+
const alreadyShown = new Set([
|
|
67
|
+
...relatedPatterns,
|
|
68
|
+
...relatedAvoids,
|
|
69
|
+
...relatedArch,
|
|
70
|
+
...relatedThreads.map((t) => t.description),
|
|
71
|
+
]);
|
|
72
|
+
const newResults = results.filter((r) => !alreadyShown.has(r.content) && r.content.length > 0);
|
|
73
|
+
if (newResults.length > 0) {
|
|
74
|
+
sections.push('SEMANTIC SEARCH RESULTS');
|
|
75
|
+
for (const r of newResults) {
|
|
76
|
+
sections.push(` [${r.type}] ${r.content.slice(0, 200)}`);
|
|
70
77
|
}
|
|
78
|
+
sections.push('');
|
|
71
79
|
}
|
|
72
80
|
}
|
|
73
81
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/slash-commands/recall.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"recall.js","sourceRoot":"","sources":["../../src/slash-commands/recall.ts"],"names":[],"mappings":"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"}
|