linksee-memory 0.16.0 → 0.16.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/dist/mcp/server.js +14 -9
- package/package.json +1 -1
package/dist/mcp/server.js
CHANGED
|
@@ -72,6 +72,16 @@ if (subcommand && Object.prototype.hasOwnProperty.call(SUBCOMMANDS, subcommand))
|
|
|
72
72
|
}
|
|
73
73
|
const db = openDb();
|
|
74
74
|
runMigrations(db);
|
|
75
|
+
// Distill triage runs on EVERY start, before the first request. It is one indexed scan and a
|
|
76
|
+
// handful of JSON rewrites — cheap — and 0.16.0 had tucked it inside the auto-consolidate block
|
|
77
|
+
// below, which runs at most once a week and only after a 3-second timer. So it never ran.
|
|
78
|
+
try {
|
|
79
|
+
const t = triageDistillQueue(db);
|
|
80
|
+
if (t.noise + t.stale > 0) {
|
|
81
|
+
process.stderr.write(`[linksee-memory] distill triage: archived ${t.noise} noise + ${t.stale} stale, ${t.remaining} remain\n`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch { /* never block startup */ }
|
|
75
85
|
// Auto-maintenance: consolidate stale memories on startup (non-blocking)
|
|
76
86
|
setTimeout(() => {
|
|
77
87
|
try {
|
|
@@ -91,13 +101,6 @@ setTimeout(() => {
|
|
|
91
101
|
if (shouldRun) {
|
|
92
102
|
runConsolidate(db, { scope: 'all', min_age_days: 7 });
|
|
93
103
|
process.stderr.write('[linksee-memory] auto-consolidate complete\n');
|
|
94
|
-
// Triage the distill queue by rule before any agent is asked to think about it.
|
|
95
|
-
try {
|
|
96
|
-
const t = triageDistillQueue(db);
|
|
97
|
-
if (t.noise + t.stale > 0)
|
|
98
|
-
process.stderr.write(`[linksee-memory] distill triage: archived ${t.noise} noise + ${t.stale} stale, ${t.remaining} remain\n`);
|
|
99
|
-
}
|
|
100
|
-
catch { /* never block startup */ }
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
106
|
catch { /* non-fatal */ }
|
|
@@ -1470,7 +1473,7 @@ async function handleRecallUnified(args) {
|
|
|
1470
1473
|
// Folded surfaces (roadmap 5): locating yourself and the triage session are ways of
|
|
1471
1474
|
// recalling, not separate tools.
|
|
1472
1475
|
if (args?.dream)
|
|
1473
|
-
return handleDream({ domain: args.domain });
|
|
1476
|
+
return handleDream({ domain: args.domain, distill: args.distill });
|
|
1474
1477
|
if (args?.where !== undefined && args?.where !== false) {
|
|
1475
1478
|
return handleWhereAmI({ query: args.where === true ? undefined : String(args.where), project: args.project, limit: args.limit });
|
|
1476
1479
|
}
|
|
@@ -2004,7 +2007,9 @@ function handleDream(args) {
|
|
|
2004
2007
|
friction,
|
|
2005
2008
|
friction_total: friction.length,
|
|
2006
2009
|
distill_queue: distillQueue,
|
|
2007
|
-
distill_total:
|
|
2010
|
+
distill_total: distillPending(db),
|
|
2011
|
+
distill_shown: distillQueue.length,
|
|
2012
|
+
distill_hint: 'Ordered by value (caveats first, named entities, longer text). Pass distill: N (max 25) for a longer drain. Rules already set a distill_verdict on acknowledgements, bare paths and 90-day-old never-recalled items — you only see what needs judgement.',
|
|
2008
2013
|
guide: guideParts.join(' '),
|
|
2009
2014
|
});
|
|
2010
2015
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linksee-memory",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"mcpName": "io.github.michielinksee/linksee-memory",
|
|
5
5
|
"description": "Hand a project over — to your next session, to Cursor/Codex/Gemini, to your successor — with the reasons attached. Local-first memory MCP for coding agents: decisions re-injected before the agent acts, drift detection across every project you run. One SQLite file, nothing leaves your machine.",
|
|
6
6
|
"type": "module",
|