claude-mem-lite 3.33.0 → 3.33.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.
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"plugins": [
|
|
11
11
|
{
|
|
12
12
|
"name": "claude-mem-lite",
|
|
13
|
-
"version": "3.33.
|
|
13
|
+
"version": "3.33.1",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "Persistent long-term memory for Claude Code via MCP — captures coding decisions, bugfixes, and context across sessions. Hybrid FTS5 + TF-IDF search with episode batching. Single SQLite DB, no external services. A lighter, lower-cost alternative to claude-mem (episode batching + a smaller model; cost savings are an internal estimate, not a measured benchmark)."
|
|
16
16
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-mem-lite",
|
|
3
|
-
"version": "3.33.
|
|
3
|
+
"version": "3.33.1",
|
|
4
4
|
"description": "Persistent long-term memory for Claude Code via MCP — captures coding decisions, bugfixes, and context across sessions. Hybrid FTS5 + TF-IDF search with episode batching. Single SQLite DB, no external services. A lighter, lower-cost alternative to claude-mem (episode batching + a smaller model; cost savings are an internal estimate, not a measured benchmark).",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "sdsrss"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-mem-lite",
|
|
3
|
-
"version": "3.33.
|
|
3
|
+
"version": "3.33.1",
|
|
4
4
|
"description": "Persistent long-term memory for Claude Code via MCP — captures coding decisions, bugfixes, and context across sessions. Hybrid FTS5 + TF-IDF search with episode batching. Single SQLite DB, no external services. A lighter, lower-cost alternative to claude-mem (episode batching + a smaller model; cost savings are an internal estimate, not a measured benchmark).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@10.9.2",
|
|
@@ -22,7 +22,10 @@ function readStdin() {
|
|
|
22
22
|
process.stdin.setEncoding('utf8');
|
|
23
23
|
process.stdin.on('data', (c) => {
|
|
24
24
|
data += c;
|
|
25
|
-
|
|
25
|
+
// cap: agent prompts can be large. destroy() so the loop can drain and exit on
|
|
26
|
+
// its own (see the no-forced-exit note at the bottom) rather than streaming to
|
|
27
|
+
// the 1.5s timeout.
|
|
28
|
+
if (data.length > 262144) { clearTimeout(timer); try { process.stdin.destroy(); } catch { /* */ } resolve(data.slice(0, 262144)); }
|
|
26
29
|
});
|
|
27
30
|
process.stdin.on('end', () => { clearTimeout(timer); resolve(data); });
|
|
28
31
|
process.stdin.on('error', () => { clearTimeout(timer); resolve(data); });
|
|
@@ -60,4 +63,10 @@ async function main() {
|
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
|
|
63
|
-
|
|
66
|
+
// No forced process.exit(0): every readStdin path ends/destroys stdin and db.close()
|
|
67
|
+
// runs in main's finally, so the event loop drains and the process exits 0 on its own —
|
|
68
|
+
// which FLUSHES stdout. The emitted updatedInput echoes the whole prompt back, so the
|
|
69
|
+
// payload can exceed the ~64KB pipe buffer; a forced process.exit() would drop that
|
|
70
|
+
// pending async write and truncate the JSON (the gotcha every sibling hook avoids).
|
|
71
|
+
// Swallow any rejection so the exit code can never go non-zero.
|
|
72
|
+
main().catch(() => {});
|