@rubytech/create-maxy-code 0.1.159 → 0.1.161

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.
Files changed (146) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +48 -17
  3. package/payload/platform/neo4j/schema.cypher +59 -36
  4. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  5. package/payload/platform/plugins/admin/hooks/archive-ingest-surface-gate.sh +2 -2
  6. package/payload/platform/plugins/admin/skills/business-profile/SKILL.md +1 -1
  7. package/payload/platform/plugins/docs/references/plugins-guide.md +3 -2
  8. package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
  9. package/payload/platform/plugins/email/PLUGIN.md +5 -1
  10. package/payload/platform/plugins/email/mcp/dist/index.js +25 -0
  11. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  12. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.d.ts +8 -0
  13. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.d.ts.map +1 -0
  14. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.js +177 -0
  15. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.js.map +1 -0
  16. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts +6 -54
  17. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts.map +1 -1
  18. package/payload/platform/plugins/email/mcp/dist/lib/graph.js +12 -300
  19. package/payload/platform/plugins/email/mcp/dist/lib/graph.js.map +1 -1
  20. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts +6 -0
  21. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.d.ts.map +1 -0
  22. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js +89 -0
  23. package/payload/platform/plugins/email/mcp/dist/tools/email-classify.js.map +1 -0
  24. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.d.ts.map +1 -1
  25. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.js +11 -6
  26. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.js.map +1 -1
  27. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/SKILL.md +10 -37
  28. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/references/connections.md +1 -0
  29. package/payload/platform/plugins/memory/.claude-plugin/plugin.json +1 -1
  30. package/payload/platform/plugins/memory/PLUGIN.md +10 -1
  31. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +139 -439
  32. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +15 -47
  33. package/payload/platform/plugins/memory/mcp/dist/index.js +168 -29
  34. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  35. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js +43 -27
  36. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js.map +1 -1
  37. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.d.ts +2 -0
  38. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.d.ts.map +1 -0
  39. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.js +62 -0
  40. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-delete-gate.test.js.map +1 -0
  41. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-cypher-drift.test.js +5 -0
  42. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-cypher-drift.test.js.map +1 -1
  43. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js +1 -1
  44. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/typed-edge-schema.test.js.map +1 -1
  45. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.d.ts +42 -25
  46. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.d.ts.map +1 -1
  47. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.js +23 -17
  48. package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.js.map +1 -1
  49. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.d.ts +3 -0
  50. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.d.ts.map +1 -0
  51. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.js +61 -0
  52. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/email.js.map +1 -0
  53. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.d.ts +1 -0
  54. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.d.ts.map +1 -1
  55. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.js +3 -0
  56. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/index.js.map +1 -1
  57. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.d.ts +1 -1
  58. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.d.ts.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js +1 -0
  60. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts +2 -0
  62. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts.map +1 -1
  63. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js +9 -3
  64. package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.d.ts +41 -0
  66. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.d.ts.map +1 -0
  67. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.js +71 -0
  68. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.js.map +1 -0
  69. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.d.ts +18 -0
  70. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.d.ts.map +1 -0
  71. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.js +31 -0
  72. package/payload/platform/plugins/memory/mcp/dist/lib/label-delete-gate.js.map +1 -0
  73. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.d.ts +5 -0
  74. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.d.ts.map +1 -1
  75. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +162 -78
  76. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
  77. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +1 -1
  78. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
  79. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js +2 -0
  80. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js.map +1 -1
  81. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-compiled-truth-history.test.js +2 -0
  82. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-compiled-truth-history.test.js.map +1 -1
  83. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js +6 -0
  84. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-emit.test.js.map +1 -1
  85. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.d.ts +2 -0
  86. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.d.ts.map +1 -0
  87. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.js +141 -0
  88. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-delete-reserved-label.test.js.map +1 -0
  89. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.d.ts +2 -0
  90. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.d.ts.map +1 -0
  91. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.js +86 -0
  92. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-empty-trash-reserved-label.test.js.map +1 -0
  93. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +33 -34
  94. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
  95. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +94 -273
  96. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  97. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.d.ts +43 -0
  98. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.d.ts.map +1 -0
  99. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.js +96 -0
  100. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-list-chunks.js.map +1 -0
  101. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.d.ts +6 -0
  102. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.d.ts.map +1 -0
  103. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.js +73 -0
  104. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.js.map +1 -0
  105. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  106. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +0 -1
  107. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  108. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts +6 -0
  109. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts.map +1 -1
  110. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js +2 -0
  111. package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js.map +1 -1
  112. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts +8 -0
  113. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts.map +1 -1
  114. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +40 -5
  115. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
  116. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts +7 -0
  117. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts.map +1 -1
  118. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js +17 -1
  119. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js.map +1 -1
  120. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +11 -0
  121. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  122. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.d.ts +28 -0
  123. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.d.ts.map +1 -0
  124. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.js +46 -0
  125. package/payload/platform/plugins/memory/mcp/dist/tools/memory-node-exists.js.map +1 -0
  126. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  127. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +26 -0
  128. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  129. package/payload/platform/plugins/memory/mcp/vitest.config.ts +5 -4
  130. package/payload/platform/plugins/memory/references/schema-base.md +4 -6
  131. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +100 -116
  132. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +74 -24
  133. package/payload/platform/plugins/notion-import/skills/notion-import/SKILL.md +1 -1
  134. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/SKILL.md +1 -1
  135. package/payload/platform/plugins/substack-import/.claude-plugin/plugin.json +8 -0
  136. package/payload/platform/plugins/substack-import/PLUGIN.md +34 -0
  137. package/payload/platform/plugins/substack-import/skills/substack-import/SKILL.md +182 -0
  138. package/payload/platform/plugins/substack-import/skills/substack-import/references/archive-shape.md +68 -0
  139. package/payload/platform/plugins/substack-import/skills/substack-import/references/attachments.md +72 -0
  140. package/payload/platform/plugins/substack-import/skills/substack-import/references/engagement.md +61 -0
  141. package/payload/platform/plugins/substack-import/skills/substack-import/references/posts.md +80 -0
  142. package/payload/platform/plugins/substack-import/skills/substack-import/references/subscribers.md +74 -0
  143. package/payload/platform/plugins/x-import/skills/x-import/SKILL.md +1 -1
  144. package/payload/platform/templates/specialists/agents/archive-ingest-operator.md +45 -0
  145. package/payload/platform/templates/specialists/agents/database-operator.md +5 -17
  146. package/payload/platform/templates/specialists/agents/librarian.md +1 -1
@@ -0,0 +1,96 @@
1
+ /**
2
+ * conversation-archive-list-chunks MCP tool.
3
+ *
4
+ * Page reader over the :Section chunks of one named :ConversationArchive
5
+ * (keyed on conversationIdentity — Task 397). Returns each chunk's
6
+ * elementId, ordered index, summary, and body so the conversation-archive-enrich
7
+ * skill can drive the dispatched specialist to emit per-chunk claims in-turn
8
+ * (Task 433). The skill then hands those claims back to
9
+ * `conversation-archive-derive-insights` for per-kind cypher emission.
10
+ *
11
+ * Read-only. No proposal building, no rejection sidecar — both belong on the
12
+ * derive-insights tool.
13
+ */
14
+ import { getSession } from "../lib/neo4j.js";
15
+ const DEFAULT_CHUNK_LIMIT = 5;
16
+ const MAX_CHUNK_LIMIT = 20;
17
+ async function loadArchiveMeta(archiveElementId, accountId) {
18
+ const session = getSession();
19
+ try {
20
+ const result = await session.run(`MATCH (a:ConversationArchive { accountId: $accountId })
21
+ WHERE elementId(a) = $eid AND a.conversationIdentity IS NOT NULL
22
+ OPTIONAL MATCH (a)-[:HAS_SECTION]->(c:Section)
23
+ RETURN a.title AS title, count(c) AS totalChunks`, { eid: archiveElementId, accountId });
24
+ if (result.records.length === 0) {
25
+ return "not-found";
26
+ }
27
+ const rec = result.records[0];
28
+ const totalRaw = rec.get("totalChunks");
29
+ const totalChunks = typeof totalRaw === "number"
30
+ ? totalRaw
31
+ : typeof totalRaw?.toNumber === "function"
32
+ ? totalRaw.toNumber()
33
+ : Number(totalRaw ?? 0);
34
+ if (totalChunks === 0) {
35
+ return "not-found";
36
+ }
37
+ return {
38
+ title: rec.get("title") ?? null,
39
+ totalChunks,
40
+ };
41
+ }
42
+ finally {
43
+ await session.close();
44
+ }
45
+ }
46
+ async function loadChunkPage(archiveElementId, accountId, offset, limit) {
47
+ const session = getSession();
48
+ try {
49
+ const result = await session.run(`MATCH (a:ConversationArchive { accountId: $accountId })-[:HAS_SECTION]->(c:Section)
50
+ WHERE elementId(a) = $eid AND a.conversationIdentity IS NOT NULL
51
+ RETURN elementId(c) AS elementId,
52
+ coalesce(c.body, '') AS body,
53
+ coalesce(c.summary, '') AS summary
54
+ ORDER BY coalesce(c.firstMessageAt, c.createdAt) ASC, elementId(c) ASC
55
+ SKIP toInteger($offset) LIMIT toInteger($limit)`, {
56
+ eid: archiveElementId,
57
+ accountId,
58
+ offset,
59
+ limit,
60
+ });
61
+ return result.records.map((rec, i) => ({
62
+ elementId: rec.get("elementId"),
63
+ body: rec.get("body"),
64
+ summary: rec.get("summary"),
65
+ index: offset + i,
66
+ }));
67
+ }
68
+ finally {
69
+ await session.close();
70
+ }
71
+ }
72
+ export async function conversationArchiveListChunks(params) {
73
+ const { accountId, archiveElementId, chunkOffset = 0, chunkLimit = DEFAULT_CHUNK_LIMIT, } = params;
74
+ const limit = Math.min(Math.max(1, chunkLimit), MAX_CHUNK_LIMIT);
75
+ const offset = Math.max(0, chunkOffset);
76
+ const archive = await loadArchiveMeta(archiveElementId, accountId);
77
+ if (archive === "not-found") {
78
+ throw new Error(`[conversation-archive-list-chunks] FAIL phase=archive-not-found reason="no conversation-document matched accountId=${accountId} elementId=${archiveElementId}, or it lacks conversationIdentity or has zero :Section chunks"`);
79
+ }
80
+ const start = Date.now();
81
+ process.stderr.write(`[conversation-archive-list-chunks] start accountId=${accountId} archiveElementId=${archiveElementId} offset=${offset} limit=${limit} totalChunks=${archive.totalChunks}\n`);
82
+ const chunks = await loadChunkPage(archiveElementId, accountId, offset, limit);
83
+ const walkedTo = offset + chunks.length;
84
+ const chunksRemaining = walkedTo < archive.totalChunks;
85
+ process.stderr.write(`[conversation-archive-list-chunks] done accountId=${accountId} archiveElementId=${archiveElementId} walked=${chunks.length} totalChunks=${archive.totalChunks} ms=${Date.now() - start}\n`);
86
+ return {
87
+ archiveElementId,
88
+ archiveTitle: archive.title,
89
+ totalChunks: archive.totalChunks,
90
+ walkedFrom: offset,
91
+ walkedTo,
92
+ chunksRemaining,
93
+ chunks,
94
+ };
95
+ }
96
+ //# sourceMappingURL=conversation-archive-list-chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-archive-list-chunks.js","sourceRoot":"","sources":["../../src/tools/conversation-archive-list-chunks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,eAAe,GAAG,EAAE,CAAC;AAiC3B,KAAK,UAAU,eAAe,CAC5B,gBAAwB,EACxB,SAAiB;IAEjB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B;;;wDAGkD,EAClD,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,CACrC,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,OAAO,QAAQ,EAAE,QAAQ,KAAK,UAAU;gBACxC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACrB,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO;YACL,KAAK,EAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAmB,IAAI,IAAI;YAClD,WAAW;SACZ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,gBAAwB,EACxB,SAAiB,EACjB,MAAc,EACd,KAAa;IAEb,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B;;;;;;uDAMiD,EACjD;YACE,GAAG,EAAE,gBAAgB;YACrB,SAAS;YACT,MAAM;YACN,KAAK;SACN,CACF,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAW;YACzC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAW;YAC/B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAW;YACrC,KAAK,EAAE,MAAM,GAAG,CAAC;SAClB,CAAC,CAAC,CAAC;IACN,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAAwB;IAExB,MAAM,EACJ,SAAS,EACT,gBAAgB,EAChB,WAAW,GAAG,CAAC,EACf,UAAU,GAAG,mBAAmB,GACjC,GAAG,MAAM,CAAC;IAEX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACnE,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,sHAAsH,SAAS,cAAc,gBAAgB,iEAAiE,CAC/N,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sDAAsD,SAAS,qBAAqB,gBAAgB,WAAW,MAAM,UAAU,KAAK,gBAAgB,OAAO,CAAC,WAAW,IAAI,CAC5K,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAEvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qDAAqD,SAAS,qBAAqB,gBAAgB,WAAW,MAAM,CAAC,MAAM,gBAAgB,OAAO,CAAC,WAAW,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAC5L,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,YAAY,EAAE,OAAO,CAAC,KAAK;QAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,MAAM;QAClB,QAAQ;QACR,eAAe;QACf,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface KdClassifyParams {
2
+ accountId: string;
3
+ attachmentId: string;
4
+ }
5
+ export declare function kdClassify(params: KdClassifyParams): Promise<string>;
6
+ //# sourceMappingURL=kd-classify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kd-classify.d.ts","sourceRoot":"","sources":["../../src/tools/kd-classify.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AA8CD,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoD1E"}
@@ -0,0 +1,73 @@
1
+ import { getSession } from "../lib/neo4j.js";
2
+ import { decideGate, writeClassifyTempFile, buildDispatchEnvelope, } from "../lib/kd-classify-gate.js";
3
+ async function readKd(accountId, attachmentId) {
4
+ const session = getSession();
5
+ try {
6
+ const result = await session.run(`MATCH (kd:KnowledgeDocument { accountId: $accountId, attachmentId: $attachmentId })
7
+ RETURN kd.source AS source,
8
+ coalesce(size(kd.body), 0) AS bodyLen,
9
+ coalesce(kd.lastClassifiedBodyLength, 0) AS lastLen,
10
+ kd.body AS body`, { accountId, attachmentId });
11
+ if (result.records.length === 0)
12
+ return null;
13
+ const r = result.records[0];
14
+ return {
15
+ source: r.get("source"),
16
+ bodyLen: Number(r.get("bodyLen")),
17
+ lastClassifiedBodyLength: Number(r.get("lastLen")),
18
+ };
19
+ }
20
+ finally {
21
+ await session.close();
22
+ }
23
+ }
24
+ async function readKdBody(accountId, attachmentId) {
25
+ const session = getSession();
26
+ try {
27
+ const result = await session.run(`MATCH (kd:KnowledgeDocument { accountId: $accountId, attachmentId: $attachmentId })
28
+ RETURN kd.body AS body`, { accountId, attachmentId });
29
+ if (result.records.length === 0)
30
+ return null;
31
+ return result.records[0].get("body") ?? null;
32
+ }
33
+ finally {
34
+ await session.close();
35
+ }
36
+ }
37
+ export async function kdClassify(params) {
38
+ const { accountId, attachmentId } = params;
39
+ const meta = await readKd(accountId, attachmentId);
40
+ if (!meta) {
41
+ throw new Error(`kd-classify: no :KnowledgeDocument with attachmentId=${attachmentId} in account ${accountId}.`);
42
+ }
43
+ if (meta.bodyLen === 0) {
44
+ throw new Error(`kd-classify: :KnowledgeDocument ${attachmentId} has no body; cannot classify. (Bodyless KDs — e.g. PDF/attachment — do not support the reclassify-gate flow.)`);
45
+ }
46
+ const decision = decideGate({
47
+ bodyLen: meta.bodyLen,
48
+ lastClassifiedBodyLength: meta.lastClassifiedBodyLength,
49
+ });
50
+ process.stderr.write(`[kd-classify] attachmentId=${attachmentId.slice(0, 12)} source=${meta.source ?? "unknown"} bodyLen=${meta.bodyLen} lastLen=${meta.lastClassifiedBodyLength} growthPct=${decision.growthPct.toFixed(3)} action=${decision.action}\n`);
51
+ if (decision.action === "skip") {
52
+ return decision.reason ?? "no classification needed";
53
+ }
54
+ const body = await readKdBody(accountId, attachmentId);
55
+ if (body === null || body.length === 0) {
56
+ // Race: body emptied between the two reads. Unexpected; surface loudly.
57
+ throw new Error(`kd-classify: body for ${attachmentId} was readable in the metadata query but is now empty.`);
58
+ }
59
+ const accountDir = process.env.ACCOUNT_DIR;
60
+ if (!accountDir) {
61
+ throw new Error(`kd-classify: ACCOUNT_DIR env not set; cannot stage body for librarian dispatch.`);
62
+ }
63
+ const tempFilePath = await writeClassifyTempFile(accountDir, attachmentId, body);
64
+ return buildDispatchEnvelope({
65
+ attachmentId,
66
+ source: meta.source ?? "unknown",
67
+ tempFilePath,
68
+ bodyLen: meta.bodyLen,
69
+ lastClassifiedBodyLength: meta.lastClassifiedBodyLength,
70
+ growthPct: decision.growthPct,
71
+ });
72
+ }
73
+ //# sourceMappingURL=kd-classify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kd-classify.js","sourceRoot":"","sources":["../../src/tools/kd-classify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-archive-write.d.ts","sourceRoot":"","sources":["../../src/tools/memory-archive-write.ts"],"names":[],"mappings":"AA+BA,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,kFAAkF;IAClF,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yCAAyC;IACzC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,MAAM,EACF;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GACtC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACrD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8DAA8D;IAC9D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC9D;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED,MAAM,MAAM,UAAU,GAClB,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,gEAAgE;IAChE,eAAe,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;wEACoE;IACpE,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;4DACwD;IACxD,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyBD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAK7B;AA2GD,eAAO,MAAM,gCAAgC,m3BA0B5C,CAAC;AAEF,eAAO,MAAM,wBAAwB,8sBAqBpC,CAAC;AAmFF,eAAO,MAAM,oBAAoB,wgCA6BhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,6qBAkB/B,CAAC;AAEF,eAAO,MAAM,6BAA6B,8aAYzC,CAAC;AAEF,eAAO,MAAM,+BAA+B,6YAW3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,0mBAiBzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,2xBAqBtC,CAAC;AAyPF,eAAO,MAAM,kBAAkB,ypCA8B9B,CAAC;AAEF,eAAO,MAAM,yBAAyB,oYAQrC,CAAC"}
1
+ {"version":3,"file":"memory-archive-write.d.ts","sourceRoot":"","sources":["../../src/tools/memory-archive-write.ts"],"names":[],"mappings":"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"}
@@ -212,7 +212,6 @@ function linkedinConnectionsHandler() {
212
212
  createdPersons,
213
213
  mergedPersons,
214
214
  createdOrganizations: createdOrgs,
215
- mergedOrganizations: 0,
216
215
  createdEdges,
217
216
  };
218
217
  });
@@ -1 +1 @@
1
- {"version":3,"file":"memory-archive-write.js","sourceRoot":"","sources":["../../src/tools/memory-archive-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-archive-write.js","sourceRoot":"","sources":["../../src/tools/memory-archive-write.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export interface CompiledTruthHistoryParams {
6
6
  export interface CompiledTruthRevisionRow {
7
7
  revisionId: string;
8
8
  truth: string;
9
+ /**
10
+ * Task 436: which twin this row is a revision of. Older Task 391
11
+ * rows (written before the twin discriminator existed) return
12
+ * `"compiledTruth"` because that was the only twin then.
13
+ */
14
+ twin: "compiledTruth" | "compiledTruthPublic";
9
15
  writtenAt: string;
10
16
  source: "rewriter" | "operator";
11
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-compiled-truth-history.d.ts","sourceRoot":"","sources":["../../src/tools/memory-compiled-truth-history.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAC;CACvC;AAED,QAAA,MAAM,sBAAsB,KAAK,CAAC;AAElC,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAyCrC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"memory-compiled-truth-history.d.ts","sourceRoot":"","sources":["../../src/tools/memory-compiled-truth-history.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,eAAe,GAAG,qBAAqB,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAC;CACvC;AAED,QAAA,MAAM,sBAAsB,KAAK,CAAC;AAElC,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CA2CrC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -28,6 +28,7 @@ export async function memoryCompiledTruthHistory(params) {
28
28
  WHERE r.accountId = $accountId
29
29
  RETURN r.revisionId AS revisionId,
30
30
  r.truth AS truth,
31
+ coalesce(r.twin, 'compiledTruth') AS twin,
31
32
  toString(r.writtenAt) AS writtenAt,
32
33
  r.source AS source
33
34
  ORDER BY r.writtenAt DESC
@@ -35,6 +36,7 @@ export async function memoryCompiledTruthHistory(params) {
35
36
  const revisions = res.records.map((rec) => ({
36
37
  revisionId: String(rec.get("revisionId")),
37
38
  truth: String(rec.get("truth") ?? ""),
39
+ twin: rec.get("twin"),
38
40
  writtenAt: String(rec.get("writtenAt")),
39
41
  source: rec.get("source"),
40
42
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"memory-compiled-truth-history.js","sourceRoot":"","sources":["../../src/tools/memory-compiled-truth-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAoB7C,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B;;;;;;;;oBAQc,EACd,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,CACrD,CAAC;QAEF,MAAM,SAAS,GAA+B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAA4B;SACrD,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,SAAS,CAAC,MAAM,IAAI,CAClG,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"memory-compiled-truth-history.js","sourceRoot":"","sources":["../../src/tools/memory-compiled-truth-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA0B7C,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B;;;;;;;;;oBASc,EACd,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,CACrD,CAAC;QAEF,MAAM,SAAS,GAA+B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAA4C;YAChE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAA4B;SACrD,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,SAAS,CAAC,MAAM,IAAI,CAClG,CAAC;QAEF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -38,6 +38,14 @@ export interface MemoryDeleteParams {
38
38
  * `graph-delete` route directly against `trashNode`, never via this tool).
39
39
  */
40
40
  filterToken?: string;
41
+ /**
42
+ * Task 443 — set to `"system"` only by the installer reset path that
43
+ * legitimately needs to remove the per-account root `:LocalBusiness`
44
+ * before re-seeding. The MCP tool handler never forwards this, so any
45
+ * agent-originated call is treated as non-system and refused for
46
+ * `:LocalBusiness` targets.
47
+ */
48
+ origin?: "system";
41
49
  }
42
50
  export interface MemoryDeleteResult {
43
51
  elementId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-delete.d.ts","sourceRoot":"","sources":["../../src/tools/memory-delete.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU;gBAD9E,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU;CAKjF;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAM7B"}
1
+ {"version":3,"file":"memory-delete.d.ts","sourceRoot":"","sources":["../../src/tools/memory-delete.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU;gBAD9E,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU;CAKjF;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAM7B"}
@@ -3,6 +3,7 @@ import { trashNode } from "../../../../../lib/graph-trash/dist/index.js";
3
3
  import { verifyFilterToken, filterTokenFingerprint } from "../lib/filter-token.js";
4
4
  import { reverifyCandidate } from "./memory-find-candidates.js";
5
5
  import { withWriteEvent } from "../lib/log-ingest.js";
6
+ import { checkLabelDeleteGate } from "../lib/label-delete-gate.js";
6
7
  export class FilterTokenError extends Error {
7
8
  reason;
8
9
  constructor(message, reason) {
@@ -14,9 +15,20 @@ export class FilterTokenError extends Error {
14
15
  export async function memoryDelete(params) {
15
16
  return withWriteEvent({ tool: "memory-delete", accountId: params.accountId }, () => memoryDeleteImpl(params), (r) => ({ elementId: r.elementId, labels: r.labels }));
16
17
  }
18
+ function filterReservedCascade(nodes, parentEid, kind) {
19
+ const out = [];
20
+ for (const n of nodes) {
21
+ if (n.labels.includes("LocalBusiness")) {
22
+ process.stderr.write(`[memory-delete:cascade-skip-reserved] parent=${parentEid} elementId=${n.eid} kind=${kind} label=LocalBusiness\n`);
23
+ continue;
24
+ }
25
+ out.push(n.eid);
26
+ }
27
+ return out;
28
+ }
17
29
  async function memoryDeleteImpl(params) {
18
30
  const t0 = Date.now();
19
- const { accountId, elementId, reason, filterToken } = params;
31
+ const { accountId, elementId, reason, filterToken, origin } = params;
20
32
  const session = getSession();
21
33
  try {
22
34
  // Filter-token re-verification. Must run before trashNode so a
@@ -50,6 +62,24 @@ async function memoryDeleteImpl(params) {
50
62
  }
51
63
  reverified = true;
52
64
  }
65
+ // Task 443 — refuse non-system deletes targeting the per-account root
66
+ // `:LocalBusiness`. Resolve labels by elementId in a single round trip
67
+ // before any mutation so a rejection never trashes the graph.
68
+ const labelResult = await session.run(`MATCH (n) WHERE elementId(n) = $eid AND n.accountId = $accountId RETURN labels(n) AS labels`, { eid: elementId, accountId });
69
+ const preLabels = labelResult.records[0]?.get("labels") ?? [];
70
+ const deleteGate = checkLabelDeleteGate({
71
+ labels: preLabels,
72
+ origin,
73
+ accountId,
74
+ elementId,
75
+ tool: "memory-delete",
76
+ });
77
+ if (!deleteGate.ok) {
78
+ const ms = Date.now() - t0;
79
+ const tokenFp = filterToken ? filterTokenFingerprint(filterToken) : "none";
80
+ process.stderr.write(`[memory-delete] elementId=${elementId} filterToken=${tokenFp} reverified=${reverified} outcome=rejected reason=reserved-label ms=${ms}\n`);
81
+ throw new Error(deleteGate.message);
82
+ }
53
83
  const root = await trashNode({
54
84
  session,
55
85
  accountId,
@@ -70,10 +100,15 @@ async function memoryDeleteImpl(params) {
70
100
  OPTIONAL MATCH (d)-[:HAS_SECTION]->(s:Section)
71
101
  OPTIONAL MATCH (s)-[:HAS_CHUNK]->(c:Chunk)
72
102
  WITH collect(DISTINCT s) AS sections, collect(DISTINCT c) AS chunks
73
- RETURN [s IN sections WHERE s IS NOT NULL | elementId(s)] AS sectionIds,
74
- [c IN chunks WHERE c IS NOT NULL | elementId(c)] AS chunkIds`, { eid: elementId });
75
- const sectionIds = childResult.records[0]?.get("sectionIds") ?? [];
76
- const chunkIds = childResult.records[0]?.get("chunkIds") ?? [];
103
+ RETURN [s IN sections WHERE s IS NOT NULL | {eid: elementId(s), labels: labels(s)}] AS sections,
104
+ [c IN chunks WHERE c IS NOT NULL | {eid: elementId(c), labels: labels(c)}] AS chunks`, { eid: elementId });
105
+ const rawSections = childResult.records[0]?.get("sections") ?? [];
106
+ const rawChunks = childResult.records[0]?.get("chunks") ?? [];
107
+ // Task 443 — cascade safety: skip any descendant that resolves to
108
+ // `:LocalBusiness`. Section/Chunk should never carry that label, so
109
+ // a skip indicates an upstream schema corruption worth logging.
110
+ const sectionIds = filterReservedCascade(rawSections, elementId, "Section");
111
+ const chunkIds = filterReservedCascade(rawChunks, elementId, "Chunk");
77
112
  for (const sid of sectionIds) {
78
113
  const r = await trashNode({
79
114
  session,
@@ -1 +1 @@
1
- {"version":3,"file":"memory-delete.js","sourceRoot":"","sources":["../../src/tools/memory-delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-delete.js","sourceRoot":"","sources":["../../src/tools/memory-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAoB,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA6DnE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGvB;IAFlB,YACE,OAAe,EACC,MAA8D;QAE9E,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAwD;QAG9E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B;IAE1B,OAAO,cAAc,CACnB,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EACtD,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA0C,EAC1C,SAAiB,EACjB,IAAyB;IAEzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gDAAgD,SAAS,cAAc,CAAC,CAAC,GAAG,SAAS,IAAI,wBAAwB,CAClH,CAAC;YACF,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,+DAA+D;QAC/D,6DAA6D;QAC7D,iEAAiE;QACjE,6CAA6C;QAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,SAAS,gBAAgB,sBAAsB,CAAC,WAAW,CAAC,6CAA6C,MAAM,CAAC,MAAM,OAAO,EAAE,IAAI,CACjK,CAAC;gBACF,MAAM,IAAI,gBAAgB,CACxB,yCAAyC,MAAM,CAAC,MAAM,GAAG,EACzD,MAAM,CAAC,MAAM,CACd,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,SAAS,gBAAgB,sBAAsB,CAAC,WAAW,CAAC,iEAAiE,EAAE,IAAI,CACjK,CAAC;gBACF,MAAM,IAAI,gBAAgB,CACxB,8CAA8C,EAC9C,UAAU,CACX,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC;gBAC3C,OAAO;gBACP,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;gBACnC,SAAS;aACV,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,SAAS,gBAAgB,sBAAsB,CAAC,WAAW,CAAC,4EAA4E,EAAE,IAAI,CAC5K,CAAC;gBACF,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,SAAS,8BAA8B,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EACxF,UAAU,CACX,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,sEAAsE;QACtE,uEAAuE;QACvE,8DAA8D;QAC9D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,6FAA6F,EAC7F,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAC9B,CAAC;QACF,MAAM,SAAS,GAAc,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAc,IAAI,EAAE,CAAC;QACtF,MAAM,UAAU,GAAG,oBAAoB,CAAC;YACtC,MAAM,EAAE,SAAS;YACjB,MAAM;YACN,SAAS;YACT,SAAS;YACT,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,SAAS,gBAAgB,OAAO,eAAe,UAAU,8CAA8C,EAAE,IAAI,CAC3I,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAgB,MAAM,SAAS,CAAC;YACxC,OAAO;YACP,SAAS;YACT,SAAS;YACT,EAAE,EAAE,eAAe;YACnB,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,kEAAkE;QAClE,mEAAmE;QACnE,8DAA8D;QAC9D,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;YAC/D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBACrE,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC;;;;;uGAK+F,EAC/F,EAAE,GAAG,EAAE,SAAS,EAAE,CACnB,CAAC;YACF,MAAM,WAAW,GAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAyC,IAAI,EAAE,CAAC;YAC3G,MAAM,SAAS,GAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAyC,IAAI,EAAE,CAAC;YACvG,kEAAkE;YAClE,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAEtE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;oBACxB,OAAO;oBACP,SAAS;oBACT,SAAS,EAAE,GAAG;oBACd,EAAE,EAAE,8BAA8B,SAAS,EAAE;oBAC7C,MAAM,EAAE,MAAM,IAAI,gBAAgB,aAAa,IAAI,SAAS,EAAE;iBAC/D,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,OAAO;oBAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;oBACxB,OAAO;oBACP,SAAS;oBACT,SAAS,EAAE,GAAG;oBACd,EAAE,EAAE,8BAA8B,SAAS,EAAE;oBAC7C,MAAM,EAAE,MAAM,IAAI,gBAAgB,aAAa,IAAI,SAAS,EAAE;iBAC/D,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,OAAO;oBAAE,MAAM,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,SAAS,gBAAgB,OAAO,eAAe,UAAU,YAAY,OAAO,OAAO,EAAE,IAAI,CACvH,CAAC;QAEF,OAAO;YACL,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;SAC9B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -34,6 +34,13 @@ export interface MemoryEmptyTrashParams {
34
34
  managerBase?: string;
35
35
  /** Test hook — defaults to global `fetch`. */
36
36
  fetchImpl?: typeof fetch;
37
+ /**
38
+ * Task 443 — set to `"system"` only by the installer reset path that
39
+ * legitimately needs to hard-delete the per-account root
40
+ * `:LocalBusiness`. The MCP tool handler never forwards this, so any
41
+ * agent-originated sweep leaves trashed `:LocalBusiness` rows untouched.
42
+ */
43
+ origin?: "system";
37
44
  }
38
45
  export interface MemoryEmptyTrashResult extends EmptyTrashResult {
39
46
  attachmentDirsRemoved: number;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-empty-trash.d.ts","sourceRoot":"","sources":["../../src/tools/memory-empty-trash.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAKtH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;gFAE4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAKjC"}
1
+ {"version":3,"file":"memory-empty-trash.d.ts","sourceRoot":"","sources":["../../src/tools/memory-empty-trash.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAMtH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;gFAE4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAKjC"}
@@ -3,6 +3,7 @@ import { emptyTrash } from "../../../../../lib/graph-trash/dist/index.js";
3
3
  import { purgeAdminConversationJsonls } from "../../../../../lib/admin-conversation-purge/dist/index.js";
4
4
  import { removeAttachmentDir } from "../lib/attachments.js";
5
5
  import { withWriteEvent } from "../lib/log-ingest.js";
6
+ import { checkLabelDeleteGate } from "../lib/label-delete-gate.js";
6
7
  export async function memoryEmptyTrash(params) {
7
8
  return withWriteEvent({ tool: "memory-empty-trash", accountId: params.accountId, labels: params.labels }, () => memoryEmptyTrashImpl(params));
8
9
  }
@@ -18,7 +19,7 @@ function resolveManagerBase(explicit) {
18
19
  return `http://127.0.0.1:${parsed}`;
19
20
  }
20
21
  async function memoryEmptyTrashImpl(params) {
21
- const { accountId, graceDays, dryRun, labels, fetchImpl } = params;
22
+ const { accountId, graceDays, dryRun, labels, fetchImpl, origin } = params;
22
23
  const managerBase = resolveManagerBase(params.managerBase);
23
24
  const session = getSession();
24
25
  let attachmentDirsRemoved = 0;
@@ -31,6 +32,21 @@ async function memoryEmptyTrashImpl(params) {
31
32
  dryRun,
32
33
  labels,
33
34
  onEmpty: async (c) => {
35
+ // Task 443 — refuse hard-delete of trashed `:LocalBusiness`
36
+ // candidates unless the sweep was started with `origin: "system"`.
37
+ // Throwing here makes `emptyTrash` skip the `DETACH DELETE` for
38
+ // this candidate and continue draining the rest of the batch.
39
+ const deleteGate = checkLabelDeleteGate({
40
+ labels: c.labels,
41
+ origin,
42
+ accountId,
43
+ elementId: c.elementId,
44
+ tool: "memory-empty-trash",
45
+ });
46
+ if (!deleteGate.ok) {
47
+ process.stderr.write(`[trash:empty-skip-reserved] accountId=${accountId} elementId=${c.elementId} label=LocalBusiness\n`);
48
+ throw new Error(deleteGate.message);
49
+ }
34
50
  if (c.labels.includes("AdminConversation")) {
35
51
  await purgeAdminConversationForCandidate(c, accountId, managerBase, fetchImpl);
36
52
  adminConversationsPurged++;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-empty-trash.js","sourceRoot":"","sources":["../../src/tools/memory-empty-trash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-empty-trash.js","sourceRoot":"","sources":["../../src/tools/memory-empty-trash.ts"],"names":[],"mappings":"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"}
@@ -379,6 +379,17 @@ async function memoryIngestImpl(params) {
379
379
  bumpEdge(edgeBreakdown, docEdge.type);
380
380
  }
381
381
  }
382
+ // Reclassify-gate stamp (Task 401). Records what body length the
383
+ // sections that now hang off this KD were classified against, so a
384
+ // future kd-classify / email-classify can decide whether the KD has
385
+ // grown enough to warrant another pass. Only stamped when the KD
386
+ // carries a `body` (thread-shaped KDs like email today; bodyless
387
+ // attachment KDs are left alone — the gate has no meaning there).
388
+ await dbSession.run(`MATCH (d:KnowledgeDocument) WHERE elementId(d) = $docId
389
+ WITH d
390
+ WHERE d.body IS NOT NULL
391
+ SET d.lastClassifiedAt = datetime(),
392
+ d.lastClassifiedBodyLength = size(d.body)`, { docId: documentNodeId });
382
393
  log("neo4j-done", `doc=${documentNodeId.slice(0, 12)} sections=${sections.length} kinds=${JSON.stringify(kindBreakdown)} edges=${JSON.stringify(edgeBreakdown)} related=${relatedCount} orphans=${orphanCandidates.length}`);
383
394
  console.error(`[memory-ingest] sections=${sections.length} chain=${Math.max(0, sections.length - 1)} typed=${formatBreakdown(kindBreakdown)} edges=${formatBreakdown(edgeBreakdown)} orphans=${orphanCandidates.length} docId=${documentNodeId}`);
384
395
  for (const orphan of orphanCandidates) {