understanding-graph 0.1.0 → 0.1.2
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/README.md +1 -1
- package/bin/cli.js +2 -2
- package/node_modules/@understanding-graph/core/dist/services/DocumentWriter.d.ts.map +1 -1
- package/node_modules/@understanding-graph/core/dist/services/DocumentWriter.js +48 -7
- package/node_modules/@understanding-graph/core/dist/services/DocumentWriter.js.map +1 -1
- package/node_modules/@understanding-graph/core/package.json +1 -1
- package/node_modules/@understanding-graph/core/src/services/DocumentWriter.ts +56 -7
- package/node_modules/@understanding-graph/mcp-server/dist/tools/batch.d.ts.map +1 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/batch.js +405 -229
- package/node_modules/@understanding-graph/mcp-server/dist/tools/batch.js.map +1 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/solvers.js +1 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/solvers.js.map +1 -1
- package/node_modules/@understanding-graph/mcp-server/package.json +1 -1
- package/package.json +1 -1
- package/packages/core/dist/services/DocumentWriter.d.ts.map +1 -1
- package/packages/core/dist/services/DocumentWriter.js +48 -7
- package/packages/core/dist/services/DocumentWriter.js.map +1 -1
- package/packages/core/package.json +1 -1
- package/packages/mcp-server/dist/tools/batch.d.ts.map +1 -1
- package/packages/mcp-server/dist/tools/batch.js +405 -229
- package/packages/mcp-server/dist/tools/batch.js.map +1 -1
- package/packages/mcp-server/dist/tools/solvers.js +1 -1
- package/packages/mcp-server/dist/tools/solvers.js.map +1 -1
- package/packages/mcp-server/package.json +1 -1
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -175,7 +175,7 @@ Isolated graphs for different contexts. Each project has its own SQLite database
|
|
|
175
175
|
### Batch Operations
|
|
176
176
|
| Tool | Purpose |
|
|
177
177
|
|------|---------|
|
|
178
|
-
| `graph_batch` | Execute multiple operations
|
|
178
|
+
| `graph_batch` | Execute multiple operations as an **atomic commit** with a required `commit_message`. Wrapped in a SQLite transaction: if any operation fails, the entire batch is rolled back. The `commit_message` is preserved as the node's *Origin Story* — future agents reading those nodes see not just the content but the intent that created it. |
|
|
179
179
|
|
|
180
180
|
### Concept & Node Management
|
|
181
181
|
| Tool | Purpose |
|
package/bin/cli.js
CHANGED
|
@@ -220,7 +220,7 @@ Start each session with these three calls:
|
|
|
220
220
|
|
|
221
221
|
## Rules
|
|
222
222
|
|
|
223
|
-
- **All mutations go through \`graph_batch\`** with a \`commit_message\` explaining intent. graph_batch
|
|
223
|
+
- **All mutations go through \`graph_batch\`** with a \`commit_message\` explaining intent. graph_batch is an **atomic commit**: if any operation in the batch fails, the entire batch is rolled back as if it never ran — the graph stays in exactly the state it was in before. The \`commit_message\` is preserved as each node's *Origin Story* so future agents see the intent that created it, not just the result.
|
|
224
224
|
- **Include your name** in commit messages (e.g., "Backend Agent: mapped auth flow") so teammates can follow your reasoning trail.
|
|
225
225
|
- **Check before creating** — call \`graph_semantic_search\` first to avoid creating duplicates of existing concepts.
|
|
226
226
|
- **Never delete, only supersede** — use \`graph_supersede\` when understanding evolves. The old node stays in history.
|
|
@@ -288,6 +288,6 @@ For tasks that span multiple sessions or need async handoff between specialist a
|
|
|
288
288
|
- \`solver_delegate\` — post a task to the queue
|
|
289
289
|
- \`solver_claim_task\` — pick up pending work
|
|
290
290
|
- \`solver_complete_task\` — submit results
|
|
291
|
-
- \`solver_lock\` / \`solver_unlock\` — *
|
|
291
|
+
- \`solver_lock\` / \`solver_unlock\` — cooperative *subtree-partition* locks for parallel cognition. Use \`scope: "subtree"\` to claim an entire branch (e.g. one agent locks the "Economics" subtree, another locks "Ethics", and they refactor in parallel without colliding). Storage-layer advisory: cooperating agents check before mutating; the mutation path does not enforce the lock against an adversary.
|
|
292
292
|
`;
|
|
293
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentWriter.d.ts","sourceRoot":"","sources":["../../src/services/DocumentWriter.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA0BD;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,UAAU,CAAkC;gBAExC,OAAO,EAAE,qBAAqB;IAY1C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgCrB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwEzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,MAAM;IAuBd;;OAEG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"DocumentWriter.d.ts","sourceRoot":"","sources":["../../src/services/DocumentWriter.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA0BD;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,UAAU,CAAkC;gBAExC,OAAO,EAAE,qBAAqB;IAY1C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAgCrB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwEzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,MAAM;IAuBd;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsGxB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmDpB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8CpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,YAAY,CACV,MAAM,EAAE,MAAM,GACb;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAsBlE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IA8CjD;;OAEG;IACH,iBAAiB,IAAI,WAAW,EAAE;IAelC;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,aAAa,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GACvC,IAAI;IAiCP;;OAEG;IACH,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAoBjE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlC;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM,EAAE;CAGrC;AAGD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,cAAc,CAKhB"}
|
|
@@ -195,9 +195,44 @@ export class DocumentWriter {
|
|
|
195
195
|
*/
|
|
196
196
|
generateMarkdown(nodes, rootNode) {
|
|
197
197
|
const lines = [];
|
|
198
|
-
//
|
|
199
|
-
|
|
200
|
-
|
|
198
|
+
// Strip any leading markdown header markers + whitespace from a node title.
|
|
199
|
+
// Without this, agents that pass titles like "## Constraints" end up with
|
|
200
|
+
// double-headed output like "## ## Constraints" because the generator
|
|
201
|
+
// ALSO prefixes its own depth-based heading. Treat titles as plain text
|
|
202
|
+
// and let depth control the heading level.
|
|
203
|
+
const stripHeading = (raw) => raw.replace(/^\s*#+\s*/, '').trim();
|
|
204
|
+
// Does `content` already start with a markdown heading whose text equals
|
|
205
|
+
// `expectedTitle` (after stripping the heading marker)? Used to suppress
|
|
206
|
+
// the generator's own title emission when the agent baked the same
|
|
207
|
+
// heading into the content. Catches both `# Auth Design` (root h1) and
|
|
208
|
+
// `## Decision` (child h2+) cases — without this check, agents that
|
|
209
|
+
// include their headings inline get them rendered twice.
|
|
210
|
+
const contentStartsWithMatchingHeading = (content, expectedTitle) => {
|
|
211
|
+
if (!content || !expectedTitle)
|
|
212
|
+
return false;
|
|
213
|
+
const firstLine = content.split('\n', 1)[0]?.trim() ?? '';
|
|
214
|
+
const match = firstLine.match(/^#+\s+(.+)$/);
|
|
215
|
+
if (!match)
|
|
216
|
+
return false;
|
|
217
|
+
return match[1].trim() === expectedTitle;
|
|
218
|
+
};
|
|
219
|
+
// Title from root node — emit only if:
|
|
220
|
+
// (a) the root content doesn't already start with the same heading, AND
|
|
221
|
+
// (b) the title isn't a filename (e.g. "AUTH-DESIGN.md"). Filenames are
|
|
222
|
+
// metadata used for filename generation, not document headings — if
|
|
223
|
+
// the agent set a filename as the title and provided real content
|
|
224
|
+
// with its own h1, we'd otherwise emit the filename as a stray h1
|
|
225
|
+
// above the actual title.
|
|
226
|
+
const rootTitle = stripHeading(rootNode.title);
|
|
227
|
+
const titleLooksLikeFilename = /\.[a-z0-9]{1,8}$/i.test(rootTitle);
|
|
228
|
+
const contentHasOwnH1 = !!rootNode.content && /^#\s+\S/.test(rootNode.content.split('\n', 1)[0]?.trim() ?? '');
|
|
229
|
+
const shouldEmitRootTitle = rootTitle &&
|
|
230
|
+
!contentStartsWithMatchingHeading(rootNode.content, rootTitle) &&
|
|
231
|
+
!(titleLooksLikeFilename && contentHasOwnH1);
|
|
232
|
+
if (shouldEmitRootTitle) {
|
|
233
|
+
lines.push(`# ${rootTitle}`);
|
|
234
|
+
lines.push('');
|
|
235
|
+
}
|
|
201
236
|
if (this.includeMetadata) {
|
|
202
237
|
lines.push(`> Generated: ${new Date().toISOString()}`);
|
|
203
238
|
lines.push(`> Nodes: ${nodes.length}`);
|
|
@@ -219,10 +254,16 @@ export class DocumentWriter {
|
|
|
219
254
|
// Heading level based on depth (depth 1 = ##, depth 2 = ###, etc.)
|
|
220
255
|
const headingLevel = Math.min(depth + 1, 6); // Max h6
|
|
221
256
|
const heading = '#'.repeat(headingLevel);
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
257
|
+
const childTitle = node.title ? stripHeading(node.title) : '';
|
|
258
|
+
// Emit the title as a heading unless the content already starts with
|
|
259
|
+
// the same heading line (the agent embedded it inline).
|
|
260
|
+
if (childTitle && !contentStartsWithMatchingHeading(node.content, childTitle)) {
|
|
261
|
+
// Defensive duplicate-suppression: skip the title line if it's just
|
|
262
|
+
// the first sentence of the content.
|
|
263
|
+
if (childTitle !== node.content?.slice(0, childTitle.length)) {
|
|
264
|
+
lines.push(`${heading} ${childTitle}`);
|
|
265
|
+
lines.push('');
|
|
266
|
+
}
|
|
226
267
|
}
|
|
227
268
|
// Node content - prefer content, fall back to understanding
|
|
228
269
|
if (node.content) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentWriter.js","sourceRoot":"","sources":["../../src/services/DocumentWriter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DocumentWriter.js","sourceRoot":"","sources":["../../src/services/DocumentWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -238,9 +238,51 @@ export class DocumentWriter {
|
|
|
238
238
|
): string {
|
|
239
239
|
const lines: string[] = [];
|
|
240
240
|
|
|
241
|
-
//
|
|
242
|
-
|
|
243
|
-
|
|
241
|
+
// Strip any leading markdown header markers + whitespace from a node title.
|
|
242
|
+
// Without this, agents that pass titles like "## Constraints" end up with
|
|
243
|
+
// double-headed output like "## ## Constraints" because the generator
|
|
244
|
+
// ALSO prefixes its own depth-based heading. Treat titles as plain text
|
|
245
|
+
// and let depth control the heading level.
|
|
246
|
+
const stripHeading = (raw: string): string =>
|
|
247
|
+
raw.replace(/^\s*#+\s*/, '').trim();
|
|
248
|
+
|
|
249
|
+
// Does `content` already start with a markdown heading whose text equals
|
|
250
|
+
// `expectedTitle` (after stripping the heading marker)? Used to suppress
|
|
251
|
+
// the generator's own title emission when the agent baked the same
|
|
252
|
+
// heading into the content. Catches both `# Auth Design` (root h1) and
|
|
253
|
+
// `## Decision` (child h2+) cases — without this check, agents that
|
|
254
|
+
// include their headings inline get them rendered twice.
|
|
255
|
+
const contentStartsWithMatchingHeading = (
|
|
256
|
+
content: string | null | undefined,
|
|
257
|
+
expectedTitle: string,
|
|
258
|
+
): boolean => {
|
|
259
|
+
if (!content || !expectedTitle) return false;
|
|
260
|
+
const firstLine = content.split('\n', 1)[0]?.trim() ?? '';
|
|
261
|
+
const match = firstLine.match(/^#+\s+(.+)$/);
|
|
262
|
+
if (!match) return false;
|
|
263
|
+
return match[1].trim() === expectedTitle;
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
// Title from root node — emit only if:
|
|
267
|
+
// (a) the root content doesn't already start with the same heading, AND
|
|
268
|
+
// (b) the title isn't a filename (e.g. "AUTH-DESIGN.md"). Filenames are
|
|
269
|
+
// metadata used for filename generation, not document headings — if
|
|
270
|
+
// the agent set a filename as the title and provided real content
|
|
271
|
+
// with its own h1, we'd otherwise emit the filename as a stray h1
|
|
272
|
+
// above the actual title.
|
|
273
|
+
const rootTitle = stripHeading(rootNode.title);
|
|
274
|
+
const titleLooksLikeFilename = /\.[a-z0-9]{1,8}$/i.test(rootTitle);
|
|
275
|
+
const contentHasOwnH1 = !!rootNode.content && /^#\s+\S/.test(
|
|
276
|
+
rootNode.content.split('\n', 1)[0]?.trim() ?? '',
|
|
277
|
+
);
|
|
278
|
+
const shouldEmitRootTitle =
|
|
279
|
+
rootTitle &&
|
|
280
|
+
!contentStartsWithMatchingHeading(rootNode.content, rootTitle) &&
|
|
281
|
+
!(titleLooksLikeFilename && contentHasOwnH1);
|
|
282
|
+
if (shouldEmitRootTitle) {
|
|
283
|
+
lines.push(`# ${rootTitle}`);
|
|
284
|
+
lines.push('');
|
|
285
|
+
}
|
|
244
286
|
|
|
245
287
|
if (this.includeMetadata) {
|
|
246
288
|
lines.push(`> Generated: ${new Date().toISOString()}`);
|
|
@@ -266,10 +308,17 @@ export class DocumentWriter {
|
|
|
266
308
|
const headingLevel = Math.min(depth + 1, 6); // Max h6
|
|
267
309
|
const heading = '#'.repeat(headingLevel);
|
|
268
310
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
311
|
+
const childTitle = node.title ? stripHeading(node.title) : '';
|
|
312
|
+
|
|
313
|
+
// Emit the title as a heading unless the content already starts with
|
|
314
|
+
// the same heading line (the agent embedded it inline).
|
|
315
|
+
if (childTitle && !contentStartsWithMatchingHeading(node.content, childTitle)) {
|
|
316
|
+
// Defensive duplicate-suppression: skip the title line if it's just
|
|
317
|
+
// the first sentence of the content.
|
|
318
|
+
if (childTitle !== node.content?.slice(0, childTitle.length)) {
|
|
319
|
+
lines.push(`${heading} ${childTitle}`);
|
|
320
|
+
lines.push('');
|
|
321
|
+
}
|
|
273
322
|
}
|
|
274
323
|
|
|
275
324
|
// Node content - prefer content, fall back to understanding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAO/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA6C5D,eAAO,MAAM,UAAU,EAAE,IAAI,EAsF5B,CAAC;AAkTF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC,CA8blB"}
|