@modusensus/dsh-mneme 0.3.4 → 0.3.5
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/lib/service.js +26 -3
- package/package.json +1 -1
- package/src/service.js +26 -3
package/lib/service.js
CHANGED
|
@@ -38,9 +38,32 @@ export function createService({ store, mirror, config, onWrite, logger }) {
|
|
|
38
38
|
let txDepth = 0;
|
|
39
39
|
|
|
40
40
|
function scheduleEmbed(memory) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
try {
|
|
42
|
+
if (txDepth > 0) return; // deferred to the transaction's commit
|
|
43
|
+
if (!embedder || !memory?.id) return;
|
|
44
|
+
|
|
45
|
+
if (typeof embedder.schedule === "function") {
|
|
46
|
+
embedder.schedule(memory);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (typeof embedder.embedSingle === "function") {
|
|
51
|
+
const text = [memory.title, memory.content].filter(Boolean).join("\n");
|
|
52
|
+
if (!text) return;
|
|
53
|
+
|
|
54
|
+
embedder
|
|
55
|
+
.embedSingle(text)
|
|
56
|
+
.then((vec) => {
|
|
57
|
+
if (Array.isArray(vec) && vec.length) {
|
|
58
|
+
store.setEmbedding(memory.id, vec);
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
.catch((err) => {
|
|
62
|
+
logger?.warn?.("scheduleEmbed embedSingle failed:", err);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
} catch (err) {
|
|
66
|
+
logger?.warn?.("scheduleEmbed failed:", err);
|
|
44
67
|
}
|
|
45
68
|
}
|
|
46
69
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modusensus/dsh-mneme",
|
|
3
3
|
"description": "Cross-session memory plugin for DeepSeek Harness with autoDream consolidation: SQLite store, Markdown mirrors, 6 model tools, automatic injection, session summarization, user profile/rules, custom slash commands, vector (semantic) search, and a Web GUI panel",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.5",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "lib/index.js",
|
package/src/service.js
CHANGED
|
@@ -38,9 +38,32 @@ export function createService({ store, mirror, config, onWrite, logger }) {
|
|
|
38
38
|
let txDepth = 0;
|
|
39
39
|
|
|
40
40
|
function scheduleEmbed(memory) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
try {
|
|
42
|
+
if (txDepth > 0) return; // deferred to the transaction's commit
|
|
43
|
+
if (!embedder || !memory?.id) return;
|
|
44
|
+
|
|
45
|
+
if (typeof embedder.schedule === "function") {
|
|
46
|
+
embedder.schedule(memory);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (typeof embedder.embedSingle === "function") {
|
|
51
|
+
const text = [memory.title, memory.content].filter(Boolean).join("\n");
|
|
52
|
+
if (!text) return;
|
|
53
|
+
|
|
54
|
+
embedder
|
|
55
|
+
.embedSingle(text)
|
|
56
|
+
.then((vec) => {
|
|
57
|
+
if (Array.isArray(vec) && vec.length) {
|
|
58
|
+
store.setEmbedding(memory.id, vec);
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
.catch((err) => {
|
|
62
|
+
logger?.warn?.("scheduleEmbed embedSingle failed:", err);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
} catch (err) {
|
|
66
|
+
logger?.warn?.("scheduleEmbed failed:", err);
|
|
44
67
|
}
|
|
45
68
|
}
|
|
46
69
|
|