hmem-mcp 6.0.2 → 6.1.0
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/cli-checkpoint.js +21 -5
- package/dist/cli-checkpoint.js.map +1 -1
- package/dist/cli-log-exchange.js +6 -1
- package/dist/cli-log-exchange.js.map +1 -1
- package/dist/cli-session-summary.js +17 -4
- package/dist/cli-session-summary.js.map +1 -1
- package/dist/hmem-config.js +3 -1
- package/dist/hmem-config.js.map +1 -1
- package/dist/hmem-store.d.ts +13 -0
- package/dist/hmem-store.js +120 -21
- package/dist/hmem-store.js.map +1 -1
- package/dist/mcp-server.js +329 -51
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
- package/skills/hmem-config/SKILL.md +1 -1
- package/skills/hmem-curate/SKILL.md +4 -4
- package/skills/hmem-new-project/SKILL.md +2 -2
- package/skills/hmem-read/SKILL.md +1 -1
- package/skills/hmem-self-curate/SKILL.md +2 -2
- package/skills/hmem-setup/SKILL.md +2 -2
- package/skills/hmem-update/SKILL.md +2 -2
- package/skills/hmem-write/SKILL.md +40 -17
package/dist/cli-checkpoint.js
CHANGED
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
* HMEM_PROJECT_DIR — directory for config + company.hmem
|
|
15
15
|
*/
|
|
16
16
|
import fs from "node:fs";
|
|
17
|
+
import os from "node:os";
|
|
17
18
|
import path from "node:path";
|
|
18
|
-
import { execSync } from "node:child_process";
|
|
19
|
+
import { execFileSync, execSync } from "node:child_process";
|
|
19
20
|
import { HmemStore } from "./hmem-store.js";
|
|
20
21
|
import { loadHmemConfig } from "./hmem-config.js";
|
|
21
22
|
/** Build a minimal MCP config JSON for the subagent (hmem only). */
|
|
@@ -50,7 +51,9 @@ function buildMcpConfig(projectDir, hmemPath) {
|
|
|
50
51
|
},
|
|
51
52
|
},
|
|
52
53
|
};
|
|
53
|
-
const
|
|
54
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "hmem-checkpoint-"));
|
|
55
|
+
fs.chmodSync(tmpDir, 0o700);
|
|
56
|
+
const tmpPath = path.join(tmpDir, "mcp-config.json");
|
|
54
57
|
fs.writeFileSync(tmpPath, JSON.stringify(config), "utf8");
|
|
55
58
|
return tmpPath;
|
|
56
59
|
}
|
|
@@ -65,8 +68,11 @@ export async function checkpoint() {
|
|
|
65
68
|
const store = new HmemStore(hmemPath, config);
|
|
66
69
|
let mcpConfigPath = "";
|
|
67
70
|
try {
|
|
68
|
-
// 1. Get active project and its O-entry
|
|
69
|
-
const
|
|
71
|
+
// 1. Get active project and its O-entry (prefer env from log-exchange, fallback to DB)
|
|
72
|
+
const envProjectId = process.env.HMEM_ACTIVE_PROJECT;
|
|
73
|
+
const activeProject = envProjectId
|
|
74
|
+
? store.getProjectById(envProjectId)
|
|
75
|
+
: store.getActiveProject();
|
|
70
76
|
if (!activeProject)
|
|
71
77
|
return;
|
|
72
78
|
const projectSeq = parseInt(activeProject.id.replace(/\D/g, ""), 10);
|
|
@@ -198,7 +204,13 @@ move_nodes(node_ids=["<exchange_id>"], target_o_id="O00XX")
|
|
|
198
204
|
].join(" ");
|
|
199
205
|
const disallowedTools = "mcp__hmem__flush_context";
|
|
200
206
|
try {
|
|
201
|
-
const output =
|
|
207
|
+
const output = execFileSync("claude", [
|
|
208
|
+
"-p", "--model", "haiku",
|
|
209
|
+
"--mcp-config", mcpConfigPath,
|
|
210
|
+
"--allowedTools", allowedTools,
|
|
211
|
+
"--disallowedTools", disallowedTools,
|
|
212
|
+
"--dangerously-skip-permissions",
|
|
213
|
+
], { input: prompt, encoding: "utf8", timeout: 120_000 }).trim();
|
|
202
214
|
console.log(`[hmem checkpoint] Haiku: ${output.substring(0, 300)}`);
|
|
203
215
|
}
|
|
204
216
|
catch (e) {
|
|
@@ -215,6 +227,10 @@ move_nodes(node_ids=["<exchange_id>"], target_o_id="O00XX")
|
|
|
215
227
|
fs.unlinkSync(mcpConfigPath);
|
|
216
228
|
}
|
|
217
229
|
catch { }
|
|
230
|
+
try {
|
|
231
|
+
fs.rmdirSync(path.dirname(mcpConfigPath));
|
|
232
|
+
}
|
|
233
|
+
catch { }
|
|
218
234
|
}
|
|
219
235
|
}
|
|
220
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-checkpoint.js","sourceRoot":"","sources":["../src/cli-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-checkpoint.js","sourceRoot":"","sources":["../src/cli-checkpoint.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-log-exchange.js
CHANGED
|
@@ -197,7 +197,12 @@ export async function logExchange() {
|
|
|
197
197
|
const child = spawn(process.execPath, [HMEM_BIN, "checkpoint"], {
|
|
198
198
|
detached: true,
|
|
199
199
|
stdio: "ignore",
|
|
200
|
-
env: {
|
|
200
|
+
env: {
|
|
201
|
+
...process.env,
|
|
202
|
+
HMEM_PROJECT_DIR: projectDir,
|
|
203
|
+
HMEM_PATH: process.env.HMEM_PATH,
|
|
204
|
+
...(activeProject ? { HMEM_ACTIVE_PROJECT: activeProject.id } : {}),
|
|
205
|
+
},
|
|
201
206
|
});
|
|
202
207
|
child.unref();
|
|
203
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-log-exchange.js","sourceRoot":"","sources":["../src/cli-log-exchange.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-log-exchange.js","sourceRoot":"","sources":["../src/cli-log-exchange.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* Usage: hmem summarize-session O0048.3
|
|
8
8
|
*/
|
|
9
9
|
import fs from "node:fs";
|
|
10
|
+
import os from "node:os";
|
|
10
11
|
import path from "node:path";
|
|
11
|
-
import { execSync } from "node:child_process";
|
|
12
|
+
import { execFileSync, execSync } from "node:child_process";
|
|
12
13
|
import { HmemStore } from "./hmem-store.js";
|
|
13
14
|
import { loadHmemConfig } from "./hmem-config.js";
|
|
14
15
|
import { resolveEnvDefaults } from "./cli-env.js";
|
|
@@ -34,7 +35,9 @@ function buildMcpConfig(projectDir, hmemPath) {
|
|
|
34
35
|
},
|
|
35
36
|
},
|
|
36
37
|
};
|
|
37
|
-
const
|
|
38
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "hmem-session-summary-"));
|
|
39
|
+
fs.chmodSync(tmpDir, 0o700);
|
|
40
|
+
const tmpPath = path.join(tmpDir, "mcp-config.json");
|
|
38
41
|
fs.writeFileSync(tmpPath, JSON.stringify(config), "utf8");
|
|
39
42
|
return tmpPath;
|
|
40
43
|
}
|
|
@@ -78,18 +81,28 @@ Match the language of the batch summaries.
|
|
|
78
81
|
|
|
79
82
|
update_memory(id="${sessionId}", content="Session summary text here")`;
|
|
80
83
|
const allowedTools = "mcp__hmem__update_memory mcp__hmem__read_memory";
|
|
81
|
-
|
|
84
|
+
execFileSync("claude", [
|
|
85
|
+
"-p", "--model", "haiku",
|
|
86
|
+
"--mcp-config", mcpConfigPath,
|
|
87
|
+
"--allowedTools", allowedTools,
|
|
88
|
+
"--dangerously-skip-permissions",
|
|
89
|
+
], { input: prompt, encoding: "utf8", timeout: 60_000 });
|
|
82
90
|
console.log(`[hmem] Session summary written for ${sessionId}`);
|
|
83
91
|
}
|
|
84
92
|
catch (e) {
|
|
85
93
|
console.error(`[hmem summarize-session] ${e}`);
|
|
86
94
|
}
|
|
87
95
|
finally {
|
|
88
|
-
if (mcpConfigPath)
|
|
96
|
+
if (mcpConfigPath) {
|
|
89
97
|
try {
|
|
90
98
|
fs.unlinkSync(mcpConfigPath);
|
|
91
99
|
}
|
|
92
100
|
catch { }
|
|
101
|
+
try {
|
|
102
|
+
fs.rmdirSync(path.dirname(mcpConfigPath));
|
|
103
|
+
}
|
|
104
|
+
catch { }
|
|
105
|
+
}
|
|
93
106
|
}
|
|
94
107
|
}
|
|
95
108
|
//# sourceMappingURL=cli-session-summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-session-summary.js","sourceRoot":"","sources":["../src/cli-session-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-session-summary.js","sourceRoot":"","sources":["../src/cli-session-summary.ts"],"names":[],"mappings":"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"}
|
package/dist/hmem-config.js
CHANGED
|
@@ -116,7 +116,9 @@ export function saveHmemConfig(projectDir, config) {
|
|
|
116
116
|
try {
|
|
117
117
|
fs.chmodSync(configPath, 0o600);
|
|
118
118
|
}
|
|
119
|
-
catch {
|
|
119
|
+
catch (e) {
|
|
120
|
+
console.error(`[hmem] WARNING: Could not restrict permissions on ${configPath} — sync token may be exposed: ${e}`);
|
|
121
|
+
}
|
|
120
122
|
}
|
|
121
123
|
}
|
|
122
124
|
/** Known memory config keys — used to detect unified vs flat format. */
|
package/dist/hmem-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmem-config.js","sourceRoot":"","sources":["../src/hmem-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hmem-config.js","sourceRoot":"","sources":["../src/hmem-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AA8H7B,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,gBAAgB;IACnB,CAAC,EAAE,YAAY;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,CAAC,EAAE,qCAAqC;IACxC,CAAC,EAAE,sCAAsC;IACzC,CAAC,EAAE,wBAAwB;IAC3B,CAAC,EAAE,sCAAsC;IACzC,CAAC,EAAE,iCAAiC;IACpC,CAAC,EAAE,+BAA+B;IAClC,CAAC,EAAE,kCAAkC;IACrC,CAAC,EAAE,gCAAgC;IACnC,CAAC,EAAE,oCAAoC;IACvC,CAAC,EAAE,8CAA8C;IACjD,CAAC,EAAE,2GAA2G;IAC9G,CAAC,EAAE,uGAAuG;IAC1G,CAAC,EAAE,8HAA8H;CAClI,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,gBAAgB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACtD,QAAQ,EAAE,CAAC;IACX,gBAAgB,EAAE,GAAG;IACrB,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE;IACjC,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,CAAC;IAClB,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE;IACtD,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,QAAiB;IACjC,cAAc,EAAE,EAAE;IAClB,qBAAqB,EAAE,OAAO;IAC9B,iBAAiB,EAAE;QACjB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAQ,oCAAoC;QACzD,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,yDAAyD;KAChF;IACD,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgC;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,EAAU,EAAE,KAAa;IAChE,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,MAAkB;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAE7D,MAAM,MAAM,GAA4B;QACtC,MAAM,EAAE;YACN,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;SACpD;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEvE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,qDAAqD,UAAU,iCAAiC,CAAC,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU;IACrF,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE3K;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC;IACxK,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAE7D,0CAA0C;QAC1C,wDAAwD;QACxD,mEAAmE;QACnE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;eACzD,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;eAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;QAEtC,MAAM,GAAG,GAAe;YACtB,GAAG,cAAc;YACjB,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE;YACtD,UAAU,EAAE,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE;SAC7C,CAAC;QAEF,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,IAAI,EAAE;YAAE,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACrI,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,QAAQ,IAAI,SAAS,CAAC,gBAAgB,GAAG,CAAC;YAAE,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACxI,IAAI,OAAO,SAAS,CAAC,eAAe,KAAK,QAAQ,IAAI,SAAS,CAAC,eAAe,IAAI,CAAC;YAAE,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;QACrI,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,IAAI,SAAS,CAAC,aAAa,IAAI,EAAE,IAAI,SAAS,CAAC,aAAa,IAAI,GAAG;YAAE,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAChK,IAAI,OAAO,SAAS,CAAC,kBAAkB,KAAK,QAAQ,IAAI,SAAS,CAAC,kBAAkB,IAAI,CAAC;YAAE,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC;QACjJ,IAAI,SAAS,CAAC,cAAc,KAAK,QAAQ,IAAI,SAAS,CAAC,cAAc,KAAK,MAAM;YAAE,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAChI,IAAI,OAAO,SAAS,CAAC,cAAc,KAAK,QAAQ,IAAI,SAAS,CAAC,cAAc,IAAI,CAAC;YAAE,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QACjI,IAAI,OAAO,SAAS,CAAC,qBAAqB,KAAK,QAAQ,IAAI,SAAS,CAAC,qBAAqB,IAAI,CAAC;YAAE,GAAG,CAAC,qBAAqB,GAAG,SAAS,CAAC,qBAAqB,CAAC;QAE7J,6BAA6B;QAC7B,IAAI,SAAS,CAAC,iBAAiB,IAAI,OAAO,SAAS,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACnF,MAAM,GAAG,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC5I,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBAAE,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QAC9J,CAAC;QAED,wEAAwE;QACxE,IAAI,SAAS,CAAC,QAAQ,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvG,MAAM,MAAM,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,wDAAwD;QACxD,IAAI,SAAS,CAAC,kBAAkB,IAAI,OAAO,SAAS,CAAC,kBAAkB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrI,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChG,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,8EAA8E;QAC9E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,SAAS,CAAC,UAAU,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC;YAChC,IAAI,OAAO,EAAE,CAAC,cAAc,KAAK,QAAQ,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;YACvH,IAAI,OAAO,EAAE,CAAC,cAAc,KAAK,QAAQ,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;YACvH,IAAI,OAAO,EAAE,CAAC,gBAAgB,KAAK,QAAQ,IAAI,EAAE,CAAC,gBAAgB,IAAI,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAC/H,IAAI,OAAO,EAAE,CAAC,eAAe,KAAK,QAAQ,IAAI,EAAE,CAAC,eAAe,IAAI,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;YAC3H,6BAA6B;YAC7B,IAAI,OAAO,EAAE,CAAC,aAAa,KAAK,QAAQ,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;YAClH,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;YACnG,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;YAClG,IAAI,OAAO,EAAE,CAAC,aAAa,KAAK,QAAQ,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;YAClH,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;YACnG,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC;gBAAE,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;QACpG,CAAC;QAED,mEAAmE;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxF,MAAM,MAAM,GAAG,SAAS,CAAC,gBAA4B,CAAC;YACtD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC3B,OAAO,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5E,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAChG,MAAM,EAAE,GAAG,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAChH,MAAM,EAAE,GAAG,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzJ,GAAG,CAAC,gBAAgB,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,gBAAgB,GAAG,YAAY,CACjC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAClC,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,EAC3E,GAAG,CAAC,QAAQ,CACb,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,CAAC,CAAM,EAA0B,EAAE;gBACxD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACrF,OAAO;oBACL,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;oBACtD,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;oBAC/E,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;oBAClE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC;YACJ,CAAC,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,KAAK;oBAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,wDAAwD;gBACxD,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAC7C,QAAQ,CAAC,MAAM,GAAG;oBAChB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;oBAC1C,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;iBACjD,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI;oBAAE,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACvC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChF,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACvF,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,mBAAmB,CAAC,CAAC;QAChF,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC;IACxK,CAAC;AACH,CAAC"}
|
package/dist/hmem-store.d.ts
CHANGED
|
@@ -425,6 +425,14 @@ export declare class HmemStore {
|
|
|
425
425
|
*/
|
|
426
426
|
private parseTimeWindow;
|
|
427
427
|
private nextSeq;
|
|
428
|
+
/** Read-only preview of the next root ID that write() would assign for this prefix.
|
|
429
|
+
* Used by mcp-server's id-reservation loop (multi-agent collision prevention). */
|
|
430
|
+
peekNextId(prefix: string): string;
|
|
431
|
+
/** Read-only preview of the top-level child IDs that appendChildren() would create.
|
|
432
|
+
* Used by mcp-server's sub-node reservation loop (multi-agent collision prevention).
|
|
433
|
+
* Returns the IDs of direct children only — nested grandchildren don't need separate
|
|
434
|
+
* reservation because they're parented under nodes this same call would create. */
|
|
435
|
+
peekAppendTopLevelIds(parentId: string, content: string): string[];
|
|
428
436
|
/** Clear all active markers — called at MCP server start so each session starts neutral. */
|
|
429
437
|
clearAllActive(): void;
|
|
430
438
|
/** Auto-resolve linked entries on an entry (extracted for reuse in chain resolution). */
|
|
@@ -448,6 +456,11 @@ export declare class HmemStore {
|
|
|
448
456
|
id: string;
|
|
449
457
|
title: string;
|
|
450
458
|
} | null;
|
|
459
|
+
/** Get a project entry by ID. Returns null if not found or obsolete. */
|
|
460
|
+
getProjectById(id: string): {
|
|
461
|
+
id: string;
|
|
462
|
+
title: string;
|
|
463
|
+
} | null;
|
|
451
464
|
/**
|
|
452
465
|
* Get the second-to-last session (L2 node) under an O-entry.
|
|
453
466
|
* Used by the SessionStart hook to check if the previous session needs a summary.
|
package/dist/hmem-store.js
CHANGED
|
@@ -357,11 +357,28 @@ export class HmemStore {
|
|
|
357
357
|
this.setTags(rootId, validatedTags);
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
|
-
// Auto-activate new P-entries (
|
|
360
|
+
// Auto-activate new P-entries (no deactivation — multiple agents may have different active projects)
|
|
361
361
|
if (prefix === "P") {
|
|
362
|
-
this.db.prepare("UPDATE memories SET active = 0 WHERE prefix = 'P' AND active = 1").run();
|
|
363
362
|
this.db.prepare("UPDATE memories SET active = 1 WHERE id = ?").run(rootId);
|
|
364
363
|
}
|
|
364
|
+
// Auto-scaffold E-entries: create standard L2 structure when no children provided
|
|
365
|
+
if (prefix === "E" && nodes.length === 0) {
|
|
366
|
+
const eSchema = ["Analysis", "Possible fixes", "Fixing attempts", "Solution", "Cause", "Key Learnings"];
|
|
367
|
+
for (let i = 0; i < eSchema.length; i++) {
|
|
368
|
+
const nodeId = `${rootId}.${i + 1}`;
|
|
369
|
+
insertNode.run(nodeId, rootId, rootId, 2, i + 1, eSchema[i], eSchema[i], timestamp, timestamp);
|
|
370
|
+
}
|
|
371
|
+
// Move L1 body into .1 Analysis as content (the short description stays on L1)
|
|
372
|
+
if (level1 !== title) {
|
|
373
|
+
// level1 contains body text — move it to Analysis node
|
|
374
|
+
this.db.prepare("UPDATE memory_nodes SET content = ?, title = ? WHERE id = ?")
|
|
375
|
+
.run(level1, "Analysis", `${rootId}.1`);
|
|
376
|
+
}
|
|
377
|
+
// Auto-add #open tag on root (visible in bulk-read title line)
|
|
378
|
+
if (!validatedTags.includes("#open")) {
|
|
379
|
+
this.addTag(rootId, "#open");
|
|
380
|
+
}
|
|
381
|
+
}
|
|
365
382
|
})();
|
|
366
383
|
return { id: rootId, timestamp };
|
|
367
384
|
}
|
|
@@ -585,8 +602,11 @@ export class HmemStore {
|
|
|
585
602
|
const idPlaceholders = [...ftsRootIds].map(() => "?").join(", ");
|
|
586
603
|
const baseWhere = `id IN (${idPlaceholders}) AND seq > 0`;
|
|
587
604
|
const where = `WHERE ${baseWhere}`;
|
|
588
|
-
const limitClause = limit !== undefined ? ` LIMIT
|
|
589
|
-
const
|
|
605
|
+
const limitClause = limit !== undefined ? ` LIMIT ?` : "";
|
|
606
|
+
const ftsParams = [...ftsRootIds];
|
|
607
|
+
if (limit !== undefined)
|
|
608
|
+
ftsParams.push(limit);
|
|
609
|
+
const rows = this.db.prepare(`SELECT * FROM memories ${where} ORDER BY created_at DESC${limitClause}`).all(...ftsParams);
|
|
590
610
|
for (const row of rows)
|
|
591
611
|
this.bumpAccess(row.id);
|
|
592
612
|
return rows.map(r => this.rowToEntry(r));
|
|
@@ -639,7 +659,9 @@ export class HmemStore {
|
|
|
639
659
|
const staleSort = opts.staleDays
|
|
640
660
|
? "COALESCE(m.last_accessed, m.created_at) ASC"
|
|
641
661
|
: "effective_date DESC";
|
|
642
|
-
const limitClause = limit !== undefined ? `LIMIT
|
|
662
|
+
const limitClause = limit !== undefined ? `LIMIT ?` : "";
|
|
663
|
+
if (limit !== undefined)
|
|
664
|
+
params.push(limit);
|
|
643
665
|
const rows = this.db.prepare(`
|
|
644
666
|
SELECT m.*,
|
|
645
667
|
COALESCE(
|
|
@@ -710,7 +732,7 @@ export class HmemStore {
|
|
|
710
732
|
// Step 0.5: Detect active-prefixes — prefixes where at least one entry has active=1.
|
|
711
733
|
// Non-active entries in these prefixes are still shown (as compact titles) but don't get expansion slots.
|
|
712
734
|
// P and I prefixes ALWAYS treated as active-prefix — only expand when explicitly activated.
|
|
713
|
-
const activePrefixes = new Set(["P", "I"]);
|
|
735
|
+
const activePrefixes = new Set(["P", "I", "E"]);
|
|
714
736
|
for (const r of activeRows) {
|
|
715
737
|
if (r.active === 1)
|
|
716
738
|
activePrefixes.add(r.prefix);
|
|
@@ -1604,14 +1626,21 @@ export class HmemStore {
|
|
|
1604
1626
|
if (trimmed.length > nodeLimit * HmemStore.CHAR_LIMIT_TOLERANCE) {
|
|
1605
1627
|
throw new Error(`Content exceeds ${nodeLimit} character limit (${trimmed.length} chars) for L${nodeRow.depth}.`);
|
|
1606
1628
|
}
|
|
1607
|
-
// Parse
|
|
1629
|
+
// Parse body: "> " prefix (legacy) or blank-line separator (git-commit style)
|
|
1608
1630
|
const lines = trimmed.split("\n");
|
|
1609
1631
|
const titleLines = [];
|
|
1610
1632
|
const bodyLines = [];
|
|
1633
|
+
let bodyMode = false;
|
|
1611
1634
|
for (const line of lines) {
|
|
1612
1635
|
if (line.startsWith("> ") || line === ">") {
|
|
1613
1636
|
bodyLines.push(line.replace(/^> ?/, ""));
|
|
1614
1637
|
}
|
|
1638
|
+
else if (line === "" && titleLines.length > 0) {
|
|
1639
|
+
bodyMode = true;
|
|
1640
|
+
}
|
|
1641
|
+
else if (bodyMode) {
|
|
1642
|
+
bodyLines.push(line);
|
|
1643
|
+
}
|
|
1615
1644
|
else {
|
|
1616
1645
|
titleLines.push(line);
|
|
1617
1646
|
}
|
|
@@ -1667,18 +1696,26 @@ export class HmemStore {
|
|
|
1667
1696
|
else {
|
|
1668
1697
|
// Root entry in memories
|
|
1669
1698
|
if (trimmed) {
|
|
1670
|
-
// Split into title lines, body lines (>
|
|
1699
|
+
// Split into title lines, body lines ("> " legacy or blank-line separator), and child lines (indented)
|
|
1671
1700
|
const lines = trimmed.split("\n");
|
|
1672
1701
|
const titleLines = [];
|
|
1673
1702
|
const bodyLines = [];
|
|
1674
1703
|
const childLines = [];
|
|
1704
|
+
let bodyMode = false;
|
|
1675
1705
|
for (const line of lines) {
|
|
1676
1706
|
if (line.startsWith("\t") || (line.length > 0 && line[0] === " " && line.trimStart() !== line)) {
|
|
1677
1707
|
childLines.push(line);
|
|
1708
|
+
bodyMode = false; // indented line exits body mode
|
|
1678
1709
|
}
|
|
1679
1710
|
else if (line.startsWith("> ") || line === ">") {
|
|
1680
1711
|
bodyLines.push(line.replace(/^> ?/, ""));
|
|
1681
1712
|
}
|
|
1713
|
+
else if (line === "" && titleLines.length > 0 && childLines.length === 0) {
|
|
1714
|
+
bodyMode = true;
|
|
1715
|
+
}
|
|
1716
|
+
else if (bodyMode) {
|
|
1717
|
+
bodyLines.push(line);
|
|
1718
|
+
}
|
|
1682
1719
|
else {
|
|
1683
1720
|
titleLines.push(line);
|
|
1684
1721
|
}
|
|
@@ -1766,9 +1803,6 @@ export class HmemStore {
|
|
|
1766
1803
|
params.push(active ? 1 : 0);
|
|
1767
1804
|
if (active) {
|
|
1768
1805
|
const prefix = id.replace(/\d+$/, "");
|
|
1769
|
-
// Deactivate all other entries in the same prefix
|
|
1770
|
-
this.db.prepare("UPDATE memories SET active = 0 WHERE prefix = ? AND id != ? AND active = 1")
|
|
1771
|
-
.run(prefix, id);
|
|
1772
1806
|
// When activating a P-entry: link all unassigned O-entries to this project
|
|
1773
1807
|
if (prefix === "P") {
|
|
1774
1808
|
const unassigned = this.db.prepare("SELECT id, links FROM memories WHERE prefix = 'O' AND obsolete != 1 AND irrelevant != 1 AND (links IS NULL OR links = '[]' OR links = 'null')").all();
|
|
@@ -2304,6 +2338,34 @@ export class HmemStore {
|
|
|
2304
2338
|
const row = this.db.prepare("SELECT MAX(seq) as maxSeq FROM memories WHERE prefix = ?").get(prefix);
|
|
2305
2339
|
return (row?.maxSeq || 0) + 1;
|
|
2306
2340
|
}
|
|
2341
|
+
/** Read-only preview of the next root ID that write() would assign for this prefix.
|
|
2342
|
+
* Used by mcp-server's id-reservation loop (multi-agent collision prevention). */
|
|
2343
|
+
peekNextId(prefix) {
|
|
2344
|
+
prefix = prefix.toUpperCase();
|
|
2345
|
+
const seq = this.nextSeq(prefix);
|
|
2346
|
+
return `${prefix}${String(seq).padStart(4, "0")}`;
|
|
2347
|
+
}
|
|
2348
|
+
/** Read-only preview of the top-level child IDs that appendChildren() would create.
|
|
2349
|
+
* Used by mcp-server's sub-node reservation loop (multi-agent collision prevention).
|
|
2350
|
+
* Returns the IDs of direct children only — nested grandchildren don't need separate
|
|
2351
|
+
* reservation because they're parented under nodes this same call would create. */
|
|
2352
|
+
peekAppendTopLevelIds(parentId, content) {
|
|
2353
|
+
const parentIsRoot = !parentId.includes(".");
|
|
2354
|
+
// Verify parent exists (mirrors appendChildren guard, but throws same shape)
|
|
2355
|
+
if (parentIsRoot) {
|
|
2356
|
+
if (!this.db.prepare("SELECT id FROM memories WHERE id = ?").get(parentId))
|
|
2357
|
+
return [];
|
|
2358
|
+
}
|
|
2359
|
+
else {
|
|
2360
|
+
if (!this.db.prepare("SELECT id FROM memory_nodes WHERE id = ?").get(parentId))
|
|
2361
|
+
return [];
|
|
2362
|
+
}
|
|
2363
|
+
const parentDepth = parentIsRoot ? 1 : (parentId.match(/\./g).length + 1);
|
|
2364
|
+
const maxSeqRow = this.db.prepare("SELECT MAX(seq) as maxSeq FROM memory_nodes WHERE parent_id = ?").get(parentId);
|
|
2365
|
+
const startSeq = (maxSeqRow?.maxSeq ?? 0) + 1;
|
|
2366
|
+
const nodes = this.parseRelativeTree(content, parentId, parentDepth, startSeq);
|
|
2367
|
+
return nodes.filter(n => n.parent_id === parentId).map(n => n.id);
|
|
2368
|
+
}
|
|
2307
2369
|
/** Clear all active markers — called at MCP server start so each session starts neutral. */
|
|
2308
2370
|
clearAllActive() {
|
|
2309
2371
|
this.db.prepare("UPDATE memories SET active = 0 WHERE active = 1").run();
|
|
@@ -2395,6 +2457,10 @@ export class HmemStore {
|
|
|
2395
2457
|
getActiveProject() {
|
|
2396
2458
|
return this.db.prepare("SELECT id, title FROM memories WHERE prefix = 'P' AND active = 1 AND obsolete != 1 LIMIT 1").get() ?? null;
|
|
2397
2459
|
}
|
|
2460
|
+
/** Get a project entry by ID. Returns null if not found or obsolete. */
|
|
2461
|
+
getProjectById(id) {
|
|
2462
|
+
return this.db.prepare("SELECT id, title FROM memories WHERE id = ? AND prefix = 'P' AND obsolete != 1 LIMIT 1").get(id) ?? null;
|
|
2463
|
+
}
|
|
2398
2464
|
/**
|
|
2399
2465
|
* Get the second-to-last session (L2 node) under an O-entry.
|
|
2400
2466
|
* Used by the SessionStart hook to check if the previous session needs a summary.
|
|
@@ -3173,8 +3239,12 @@ export class HmemStore {
|
|
|
3173
3239
|
const nodes = [];
|
|
3174
3240
|
const l1Title = [];
|
|
3175
3241
|
const l1Body = [];
|
|
3242
|
+
let l1BodyMode = false; // true after blank line at L1 depth
|
|
3176
3243
|
// Auto-detect space indentation unit: use first indented line (if no tabs present)
|
|
3177
|
-
const rawLines = content.split("\n").map(l => l.trimEnd())
|
|
3244
|
+
const rawLines = content.split("\n").map(l => l.trimEnd());
|
|
3245
|
+
// Keep blank lines for body detection but trim trailing empties
|
|
3246
|
+
while (rawLines.length > 0 && rawLines[rawLines.length - 1] === "")
|
|
3247
|
+
rawLines.pop();
|
|
3178
3248
|
let spaceUnit = 4;
|
|
3179
3249
|
if (!rawLines.some(l => l.startsWith("\t"))) {
|
|
3180
3250
|
for (const l of rawLines) {
|
|
@@ -3185,10 +3255,19 @@ export class HmemStore {
|
|
|
3185
3255
|
}
|
|
3186
3256
|
}
|
|
3187
3257
|
}
|
|
3258
|
+
// Track body mode per depth: after a blank line, subsequent lines at that depth are body
|
|
3259
|
+
const bodyModeAtDepth = new Map();
|
|
3188
3260
|
for (const line of rawLines) {
|
|
3189
3261
|
const trimmedEnd = line;
|
|
3190
|
-
|
|
3262
|
+
// Blank line: activate body mode for L1 and for the last node's depth
|
|
3263
|
+
if (!trimmedEnd) {
|
|
3264
|
+
l1BodyMode = true;
|
|
3265
|
+
// Activate body mode for the last node's depth (L2+)
|
|
3266
|
+
if (nodes.length > 0) {
|
|
3267
|
+
bodyModeAtDepth.set(nodes[nodes.length - 1].depth, true);
|
|
3268
|
+
}
|
|
3191
3269
|
continue;
|
|
3270
|
+
}
|
|
3192
3271
|
// Count leading tabs; fall back to auto-detected space unit
|
|
3193
3272
|
const tabMatch = trimmedEnd.match(/^\t*/);
|
|
3194
3273
|
const leadingTabs = tabMatch ? tabMatch[0].length : 0;
|
|
@@ -3202,9 +3281,11 @@ export class HmemStore {
|
|
|
3202
3281
|
depth = spaceTabs > 0 ? Math.min(spaceTabs, 4) + 1 : 1;
|
|
3203
3282
|
}
|
|
3204
3283
|
const text = trimmedEnd.trim();
|
|
3205
|
-
// Body line detection: "> " prefix
|
|
3206
|
-
const
|
|
3207
|
-
const
|
|
3284
|
+
// Body line detection: "> " prefix (legacy) OR blank-line-activated body mode
|
|
3285
|
+
const isLegacyBody = text.startsWith("> ") || text === ">";
|
|
3286
|
+
const isBlankLineBody = depth === 1 ? l1BodyMode : bodyModeAtDepth.get(depth) === true;
|
|
3287
|
+
const isBodyLine = isLegacyBody || isBlankLineBody;
|
|
3288
|
+
const bodyText = isLegacyBody ? text.replace(/^> ?/, "") : text;
|
|
3208
3289
|
if (depth === 1) {
|
|
3209
3290
|
if (isBodyLine) {
|
|
3210
3291
|
l1Body.push(bodyText);
|
|
@@ -3214,6 +3295,10 @@ export class HmemStore {
|
|
|
3214
3295
|
}
|
|
3215
3296
|
continue;
|
|
3216
3297
|
}
|
|
3298
|
+
// Depth changed → exit body mode for other depths
|
|
3299
|
+
if (!isBodyLine) {
|
|
3300
|
+
bodyModeAtDepth.delete(depth);
|
|
3301
|
+
}
|
|
3217
3302
|
if (isBodyLine) {
|
|
3218
3303
|
// Append body to the last node at this depth
|
|
3219
3304
|
const lastNode = nodes.length > 0 ? nodes[nodes.length - 1] : null;
|
|
@@ -3228,6 +3313,8 @@ export class HmemStore {
|
|
|
3228
3313
|
}
|
|
3229
3314
|
continue;
|
|
3230
3315
|
}
|
|
3316
|
+
// New node resets body mode for this depth
|
|
3317
|
+
bodyModeAtDepth.delete(depth);
|
|
3231
3318
|
// L2+: determine parent and generate compound ID
|
|
3232
3319
|
const parentId = depth === 2 ? rootId : (lastIdAtDepth.get(depth - 1) ?? rootId);
|
|
3233
3320
|
const seq = (seqAtParent.get(parentId) ?? 0) + 1;
|
|
@@ -3273,7 +3360,9 @@ export class HmemStore {
|
|
|
3273
3360
|
seqAtParent.set(parentId, startSeq - 1);
|
|
3274
3361
|
const lastIdAtRelDepth = new Map();
|
|
3275
3362
|
const nodes = [];
|
|
3276
|
-
const rawLines = content.split("\n").map(l => l.trimEnd())
|
|
3363
|
+
const rawLines = content.split("\n").map(l => l.trimEnd());
|
|
3364
|
+
while (rawLines.length > 0 && rawLines[rawLines.length - 1] === "")
|
|
3365
|
+
rawLines.pop();
|
|
3277
3366
|
// Auto-detect space unit if no tabs used
|
|
3278
3367
|
let spaceUnit = 4;
|
|
3279
3368
|
if (!rawLines.some(l => l.startsWith("\t"))) {
|
|
@@ -3286,10 +3375,16 @@ export class HmemStore {
|
|
|
3286
3375
|
}
|
|
3287
3376
|
}
|
|
3288
3377
|
const maxAbsDepth = this.cfg.maxDepth;
|
|
3378
|
+
const bodyModeAtDepth = new Map();
|
|
3289
3379
|
for (const line of rawLines) {
|
|
3290
3380
|
const text = line.trim();
|
|
3291
|
-
|
|
3381
|
+
// Blank line: activate body mode for the last node's depth
|
|
3382
|
+
if (!text) {
|
|
3383
|
+
if (nodes.length > 0) {
|
|
3384
|
+
bodyModeAtDepth.set(nodes[nodes.length - 1].depth, true);
|
|
3385
|
+
}
|
|
3292
3386
|
continue;
|
|
3387
|
+
}
|
|
3293
3388
|
// Count leading tabs; fall back to space-based detection
|
|
3294
3389
|
const tabMatch = line.match(/^\t*/);
|
|
3295
3390
|
const leadingTabs = tabMatch ? tabMatch[0].length : 0;
|
|
@@ -3304,10 +3399,12 @@ export class HmemStore {
|
|
|
3304
3399
|
const absDepth = parentDepth + 1 + relDepth;
|
|
3305
3400
|
if (absDepth > maxAbsDepth)
|
|
3306
3401
|
continue; // silently skip beyond max depth
|
|
3307
|
-
// Body line detection: "> " prefix
|
|
3308
|
-
const
|
|
3402
|
+
// Body line detection: "> " prefix (legacy) OR blank-line-activated body mode
|
|
3403
|
+
const isLegacyBody = text.startsWith("> ") || text === ">";
|
|
3404
|
+
const isBlankLineBody = bodyModeAtDepth.get(absDepth) === true;
|
|
3405
|
+
const isBodyLine = isLegacyBody || isBlankLineBody;
|
|
3309
3406
|
if (isBodyLine) {
|
|
3310
|
-
const bodyText = text.replace(/^> ?/, "");
|
|
3407
|
+
const bodyText = isLegacyBody ? text.replace(/^> ?/, "") : text;
|
|
3311
3408
|
const lastNode = nodes.length > 0 ? nodes[nodes.length - 1] : null;
|
|
3312
3409
|
if (lastNode && lastNode.depth === absDepth) {
|
|
3313
3410
|
if (lastNode.content === lastNode.title) {
|
|
@@ -3319,6 +3416,8 @@ export class HmemStore {
|
|
|
3319
3416
|
}
|
|
3320
3417
|
continue;
|
|
3321
3418
|
}
|
|
3419
|
+
// New node resets body mode for this depth
|
|
3420
|
+
bodyModeAtDepth.delete(absDepth);
|
|
3322
3421
|
const myParentId = relDepth === 0
|
|
3323
3422
|
? parentId
|
|
3324
3423
|
: (lastIdAtRelDepth.get(relDepth - 1) ?? parentId);
|