@rubytech/create-maxy-code 0.1.230 → 0.1.233
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/__tests__/rss-sampler-installer.test.js +27 -0
- package/dist/index.js +61 -0
- package/package.json +1 -1
- package/payload/platform/neo4j/schema.cypher +20 -0
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +39 -1
- package/payload/platform/plugins/docs/references/graph.md +12 -0
- package/payload/platform/plugins/docs/references/memory-guide.md +26 -0
- package/payload/platform/plugins/docs/superpowers/plans/2026-06-01-memory-edge.md +589 -0
- package/payload/platform/plugins/memory/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/memory/PLUGIN.md +12 -2
- package/payload/platform/plugins/memory/mcp/dist/index.js +64 -7
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js +16 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-backlinks.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-backlinks.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-backlinks.test.js +24 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-backlinks.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.js +51 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.d.ts +31 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/compiled-truth-revision.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.d.ts +7 -7
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/index.js +7 -7
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-backlinks.d.ts +15 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-backlinks.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-backlinks.js +37 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-backlinks.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-tag-normalisation.d.ts +25 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-tag-normalisation.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-tag-normalisation.js +90 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-tag-normalisation.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +117 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-compiled-truth-history.test.js +72 -26
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-compiled-truth-history.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edge.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edge.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edge.test.js +164 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-edge.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-inline-rewrite.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-inline-rewrite.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-inline-rewrite.test.js +66 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-inline-rewrite.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-timeline-learned-at.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-timeline-learned-at.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-timeline-learned-at.test.js +30 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-timeline-learned-at.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +25 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +26 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts +17 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js +33 -13
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts +6 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js +32 -5
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-dream-run.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-edge.d.ts +21 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-edge.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-edge.js +51 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-edge.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +37 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +72 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
- package/payload/platform/plugins/memory/skills/challenge/SKILL.md +52 -0
- package/payload/platform/plugins/memory/skills/connect/SKILL.md +56 -0
- package/payload/platform/plugins/memory/skills/emerge/SKILL.md +87 -0
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/scripts/rss-sampler.sh +58 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +4 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +30 -4
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +23 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +14 -2
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +27 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +6 -0
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +2 -0
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
- package/payload/platform/templates/specialists/agents/archive-ingest-operator.md +1 -1
- package/payload/platform/templates/specialists/agents/database-operator.md +1 -1
- package/payload/platform/templates/specialists/agents/librarian.md +1 -1
- package/payload/server/{chunk-EXIPYITB.js → chunk-63M3ILJ6.js} +1 -0
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/assets/admin-DfeXRW1m.js +1 -0
- package/payload/server/public/index.html +1 -1
- package/payload/server/server.js +1 -1
- package/payload/server/public/assets/admin-BKawc0eQ.js +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// @vitest-environment node
|
|
2
|
+
import { describe, it, expect, vi } from "vitest";
|
|
3
|
+
describe("phaseBacklinks", () => {
|
|
4
|
+
it("returns phase=6, name='backlinks', counts applied+proposed correctly", async () => {
|
|
5
|
+
const mockRun = vi.fn().mockResolvedValue({
|
|
6
|
+
records: [{ get: (k) => (k === "applied" ? 3 : 5) }],
|
|
7
|
+
});
|
|
8
|
+
const ctx = {
|
|
9
|
+
accountId: "acc-1",
|
|
10
|
+
session: { run: mockRun },
|
|
11
|
+
config: {},
|
|
12
|
+
};
|
|
13
|
+
const { phaseBacklinks } = await import("../dream-cycle/phase-backlinks.js");
|
|
14
|
+
const result = await phaseBacklinks(ctx);
|
|
15
|
+
expect(result.phase).toBe(6);
|
|
16
|
+
expect(result.name).toBe("backlinks");
|
|
17
|
+
expect(result.applied).toBe(3);
|
|
18
|
+
expect(result.proposed).toBe(5);
|
|
19
|
+
expect(result.deferred).toBe(0);
|
|
20
|
+
expect(result.durationSec).toBeGreaterThanOrEqual(0);
|
|
21
|
+
expect(mockRun).toHaveBeenCalledOnce();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=phase-backlinks.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-backlinks.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/phase-backlinks.test.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACxC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CAAC;QACH,MAAM,GAAG,GAAG;YACV,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAS;YAChC,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-tag-normalisation.test.d.ts","sourceRoot":"","sources":["../../../src/lib/__tests__/phase-tag-normalisation.test.ts"],"names":[],"mappings":""}
|
package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// @vitest-environment node
|
|
2
|
+
import { describe, it, expect, vi } from "vitest";
|
|
3
|
+
import { normaliseTagStr } from "../dream-cycle/phase-tag-normalisation.js";
|
|
4
|
+
describe("normaliseTagStr", () => {
|
|
5
|
+
it("lowercases and strips non-alphanumeric non-separator chars", () => {
|
|
6
|
+
expect(normaliseTagStr("AI")).toBe("ai");
|
|
7
|
+
expect(normaliseTagStr("ai")).toBe("ai");
|
|
8
|
+
expect(normaliseTagStr("A.I.")).toBe("ai");
|
|
9
|
+
expect(normaliseTagStr("machine-learning")).toBe("machine-learning");
|
|
10
|
+
expect(normaliseTagStr(" spaced ")).toBe("spaced");
|
|
11
|
+
expect(normaliseTagStr("C++")).toBe("c");
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe("phaseTagNormalisation", () => {
|
|
15
|
+
it("returns phase=7, name='tag-normalisation', applies merged count", async () => {
|
|
16
|
+
// Simulate: 2 KD nodes with tags; node eid-1 needs normalisation.
|
|
17
|
+
// 1 DefinedTerm group with 2 variants.
|
|
18
|
+
const runMock = vi.fn()
|
|
19
|
+
// Call 1: find KD nodes with tags
|
|
20
|
+
.mockResolvedValueOnce({
|
|
21
|
+
records: [
|
|
22
|
+
{ get: (k) => k === "eid" ? "eid-1" : ["AI", "A.I."] },
|
|
23
|
+
{ get: (k) => k === "eid" ? "eid-2" : ["machine-learning"] },
|
|
24
|
+
],
|
|
25
|
+
})
|
|
26
|
+
// Call 2: update KD node eid-1 (tags changed)
|
|
27
|
+
.mockResolvedValueOnce({ records: [] })
|
|
28
|
+
// Call 3: find DefinedTerm variants
|
|
29
|
+
.mockResolvedValueOnce({
|
|
30
|
+
records: [
|
|
31
|
+
{ get: (k) => k === "eid" ? "dt-1" : (k === "name" ? "AI" : undefined) },
|
|
32
|
+
{ get: (k) => k === "eid" ? "dt-2" : (k === "name" ? "ai" : undefined) },
|
|
33
|
+
],
|
|
34
|
+
})
|
|
35
|
+
// Call 4: retarget edges for dt-2 → dt-1 canonical
|
|
36
|
+
.mockResolvedValueOnce({ records: [] });
|
|
37
|
+
const ctx = {
|
|
38
|
+
accountId: "acc-1",
|
|
39
|
+
session: { run: runMock },
|
|
40
|
+
config: {},
|
|
41
|
+
};
|
|
42
|
+
const { phaseTagNormalisation } = await import("../dream-cycle/phase-tag-normalisation.js");
|
|
43
|
+
const result = await phaseTagNormalisation(ctx);
|
|
44
|
+
expect(result.phase).toBe(7);
|
|
45
|
+
expect(result.name).toBe("tag-normalisation");
|
|
46
|
+
// 1 KD node updated + 1 DefinedTerm merged = 2
|
|
47
|
+
expect(result.applied).toBe(2);
|
|
48
|
+
expect(result.deferred).toBe(0);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=phase-tag-normalisation.test.js.map
|
package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/phase-tag-normalisation.test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-tag-normalisation.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/phase-tag-normalisation.test.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAE5E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,kEAAkE;QAClE,uCAAuC;QACvC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE;YACrB,kCAAkC;aACjC,qBAAqB,CAAC;YACrB,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBAC9D,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE;aACrE;SACF,CAAC;YACF,8CAA8C;aAC7C,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACvC,oCAAoC;aACnC,qBAAqB,CAAC;YACrB,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gBAChF,EAAE,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;aACjF;SACF,CAAC;YACF,mDAAmD;aAClD,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG;YACV,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAS;YAChC,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9C,+CAA+C;QAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -44,6 +44,37 @@ export interface CompiledTruthRevisionRow {
|
|
|
44
44
|
* `session.run` call (single TX).
|
|
45
45
|
*/
|
|
46
46
|
export declare const REVISION_CYPHER_FRAGMENT_UNWIND = "\nUNWIND $revisions AS rev\nCREATE (r:CompiledTruthRevision {\n revisionId: randomUUID(),\n accountId: $accountId,\n truth: rev.truth,\n twin: rev.twin,\n writtenAt: datetime(),\n source: rev.source\n})\nCREATE (n)-[:HAS_REVISION]->(r)\n";
|
|
47
|
+
/**
|
|
48
|
+
* An entity above the MENTIONS/REFERENCES threshold that qualifies for
|
|
49
|
+
* inline compiled-truth rewrite (Task 595). Returned in IngestResult when
|
|
50
|
+
* `inlineRewrite=true`. The calling agent dispatches the
|
|
51
|
+
* `compiled-truth-rewriter` specialist for each entry.
|
|
52
|
+
*/
|
|
53
|
+
export interface InlineRewriteCandidate {
|
|
54
|
+
/** Neo4j elementId of the target entity. */
|
|
55
|
+
elementId: string;
|
|
56
|
+
/** Primary label, e.g. "Person" or "Organization". */
|
|
57
|
+
label: string;
|
|
58
|
+
/** `name` or `title` property of the entity. */
|
|
59
|
+
name: string;
|
|
60
|
+
/** Number of MENTIONS/REFERENCES edges from the new source to this entity. */
|
|
61
|
+
edgeCount: number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* An entity above the threshold that was skipped because its
|
|
65
|
+
* `compiledTruthUpdatedAt` is within the 7-day cooldown and
|
|
66
|
+
* `forceRewrite` was not set. Remains a candidate for the next dream-cycle.
|
|
67
|
+
*/
|
|
68
|
+
export interface InlineRewriteDeferred {
|
|
69
|
+
elementId: string;
|
|
70
|
+
label: string;
|
|
71
|
+
name: string;
|
|
72
|
+
edgeCount: number;
|
|
73
|
+
/** Why this entity was not included in candidates. Currently always "cooldown". */
|
|
74
|
+
reason: "cooldown";
|
|
75
|
+
/** ISO 8601 datetime when the entity's compiled truth was last rewritten. */
|
|
76
|
+
compiledTruthUpdatedAt: string;
|
|
77
|
+
}
|
|
47
78
|
/**
|
|
48
79
|
* Convenience runner for tests and ad-hoc callers that want to write
|
|
49
80
|
* revisions in isolation (no concurrent `compiledTruth` SET).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-truth-revision.d.ts","sourceRoot":"","sources":["../../src/lib/compiled-truth-revision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,UAAU,CAAC;AAClE,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,qBAAqB,CAAC;AAEhF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,2BAA2B,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,wPAW3C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,wBAAwB,EAAE,CAAC;CACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB"}
|
|
1
|
+
{"version":3,"file":"compiled-truth-revision.d.ts","sourceRoot":"","sources":["../../src/lib/compiled-truth-revision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,UAAU,CAAC;AAClE,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,qBAAqB,CAAC;AAEhF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,2BAA2B,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,wPAW3C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,MAAM,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,wBAAwB,EAAE,CAAC;CACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-truth-revision.js","sourceRoot":"","sources":["../../src/lib/compiled-truth-revision.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;CAW9C,CAAC;
|
|
1
|
+
{"version":3,"file":"compiled-truth-revision.js","sourceRoot":"","sources":["../../src/lib/compiled-truth-revision.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;CAW9C,CAAC;AAmCF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAK9C;IACC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACvD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACnC,MAAM,OAAO,CAAC,GAAG,CACf;;OAEG,+BAA+B,EAAE,EACpC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dream-cycle — Task 327 (+ Task 391 prune-revisions
|
|
2
|
+
* Dream-cycle — Task 327 (+ Task 391 prune-revisions, Task 596 phases 6–7).
|
|
3
3
|
*
|
|
4
|
-
* Operator-initiated graph-hygiene sweep.
|
|
5
|
-
* 2 stale compiled-truth, 3 edges to :Trashed targets,
|
|
6
|
-
* 5 prune compiled-truth revisions
|
|
7
|
-
*
|
|
4
|
+
* Operator-initiated graph-hygiene sweep. Seven phases:
|
|
5
|
+
* 1 orphans, 2 stale compiled-truth, 3 edges to :Trashed targets,
|
|
6
|
+
* 4 citation audit, 5 prune compiled-truth revisions,
|
|
7
|
+
* 6 backlink materialisation, 7 tag normalisation.
|
|
8
8
|
*
|
|
9
9
|
* Phase ordering is fixed; the `phases` parameter on memory-dream-run
|
|
10
|
-
* selects which subset to run
|
|
11
|
-
*
|
|
10
|
+
* selects which subset to run. Failure of any phase logs
|
|
11
|
+
* `[dream-cycle:phase-<n>:error]` and continues to the next.
|
|
12
12
|
*/
|
|
13
13
|
import type { Session } from "neo4j-driver";
|
|
14
14
|
export interface PhaseContext {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dream-cycle — Task 327 (+ Task 391 prune-revisions
|
|
2
|
+
* Dream-cycle — Task 327 (+ Task 391 prune-revisions, Task 596 phases 6–7).
|
|
3
3
|
*
|
|
4
|
-
* Operator-initiated graph-hygiene sweep.
|
|
5
|
-
* 2 stale compiled-truth, 3 edges to :Trashed targets,
|
|
6
|
-
* 5 prune compiled-truth revisions
|
|
7
|
-
*
|
|
4
|
+
* Operator-initiated graph-hygiene sweep. Seven phases:
|
|
5
|
+
* 1 orphans, 2 stale compiled-truth, 3 edges to :Trashed targets,
|
|
6
|
+
* 4 citation audit, 5 prune compiled-truth revisions,
|
|
7
|
+
* 6 backlink materialisation, 7 tag normalisation.
|
|
8
8
|
*
|
|
9
9
|
* Phase ordering is fixed; the `phases` parameter on memory-dream-run
|
|
10
|
-
* selects which subset to run
|
|
11
|
-
*
|
|
10
|
+
* selects which subset to run. Failure of any phase logs
|
|
11
|
+
* `[dream-cycle:phase-<n>:error]` and continues to the next.
|
|
12
12
|
*/
|
|
13
13
|
export {};
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 6 — materialise persistent :BACKLINKS edges (Task 596).
|
|
3
|
+
*
|
|
4
|
+
* For every (src)-[:MENTIONS|REFERENCES]->(tgt) pair scoped to accountId,
|
|
5
|
+
* MERGE (tgt)-[:BACKLINKS]->(src). MERGE is idempotent — re-running
|
|
6
|
+
* produces no duplicate edges and only newly-created edges set createdAt.
|
|
7
|
+
*
|
|
8
|
+
* proposed = total (src,tgt) pairs found in forward direction.
|
|
9
|
+
* applied = total BACKLINKS edges after the MERGE (new + pre-existing;
|
|
10
|
+
* Cypher cannot distinguish ON CREATE count from total in a
|
|
11
|
+
* single MERGE pass without APOC).
|
|
12
|
+
*/
|
|
13
|
+
import type { PhaseContext, PhaseResult } from "./index.js";
|
|
14
|
+
export declare function phaseBacklinks(ctx: PhaseContext): Promise<PhaseResult>;
|
|
15
|
+
//# sourceMappingURL=phase-backlinks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-backlinks.d.ts","sourceRoot":"","sources":["../../../src/lib/dream-cycle/phase-backlinks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B5E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 6 — materialise persistent :BACKLINKS edges (Task 596).
|
|
3
|
+
*
|
|
4
|
+
* For every (src)-[:MENTIONS|REFERENCES]->(tgt) pair scoped to accountId,
|
|
5
|
+
* MERGE (tgt)-[:BACKLINKS]->(src). MERGE is idempotent — re-running
|
|
6
|
+
* produces no duplicate edges and only newly-created edges set createdAt.
|
|
7
|
+
*
|
|
8
|
+
* proposed = total (src,tgt) pairs found in forward direction.
|
|
9
|
+
* applied = total BACKLINKS edges after the MERGE (new + pre-existing;
|
|
10
|
+
* Cypher cannot distinguish ON CREATE count from total in a
|
|
11
|
+
* single MERGE pass without APOC).
|
|
12
|
+
*/
|
|
13
|
+
export async function phaseBacklinks(ctx) {
|
|
14
|
+
const start = Date.now();
|
|
15
|
+
const { accountId, session } = ctx;
|
|
16
|
+
const result = await session.run(`MATCH (src)-[:MENTIONS|REFERENCES]->(tgt)
|
|
17
|
+
WHERE src.accountId = $accountId AND tgt.accountId = $accountId
|
|
18
|
+
WITH src, tgt
|
|
19
|
+
MERGE (tgt)-[bl:BACKLINKS]->(src)
|
|
20
|
+
ON CREATE SET bl.accountId = $accountId,
|
|
21
|
+
bl.createdAt = datetime()
|
|
22
|
+
RETURN count(src) AS proposed,
|
|
23
|
+
count(CASE WHEN bl.createdAt IS NOT NULL THEN 1 END) AS applied`, { accountId });
|
|
24
|
+
const proposed = Number(result.records[0]?.get("proposed") ?? 0);
|
|
25
|
+
const applied = Number(result.records[0]?.get("applied") ?? 0);
|
|
26
|
+
const elapsedMs = Date.now() - start;
|
|
27
|
+
process.stderr.write(`[dream-cycle] phase=6 op=backlinks-written accountId=${accountId} count=${applied} elapsedMs=${elapsedMs}\n`);
|
|
28
|
+
return {
|
|
29
|
+
phase: 6,
|
|
30
|
+
name: "backlinks",
|
|
31
|
+
durationSec: Math.round(elapsedMs / 1000),
|
|
32
|
+
proposed,
|
|
33
|
+
applied,
|
|
34
|
+
deferred: 0,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=phase-backlinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-backlinks.js","sourceRoot":"","sources":["../../../src/lib/dream-cycle/phase-backlinks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAiB;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B;;;;;;;4EAOwE,EACxE,EAAE,SAAS,EAAE,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAErC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wDAAwD,SAAS,UAAU,OAAO,cAAc,SAAS,IAAI,CAC9G,CAAC;IACF,OAAO;QACL,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACzC,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 7 — tag deduplication and normalisation (Task 596).
|
|
3
|
+
*
|
|
4
|
+
* Two passes:
|
|
5
|
+
*
|
|
6
|
+
* Pass A — KnowledgeDocument nodes with a `tags` string-array property.
|
|
7
|
+
* For each node, normalise every tag (lowercase, strip non-alphanumeric
|
|
8
|
+
* except hyphens/underscores/spaces, trim), deduplicate, and write back
|
|
9
|
+
* only when the normalised array differs from the original.
|
|
10
|
+
*
|
|
11
|
+
* Pass B — :DefinedTerm {category:'obsidian-tag'} nodes.
|
|
12
|
+
* Group by normalised name. For each group with more than one variant,
|
|
13
|
+
* pick the first alphabetically as canonical, retarget all :TAGGED_WITH
|
|
14
|
+
* edges from non-canonical nodes to the canonical node, then detach-delete
|
|
15
|
+
* non-canonical nodes that become edge-free.
|
|
16
|
+
*
|
|
17
|
+
* `applied` = number of KD nodes updated + number of DefinedTerm non-canonical
|
|
18
|
+
* variants whose :TAGGED_WITH edges were retargeted (whether or not the node
|
|
19
|
+
* was subsequently deleted — deletion is blocked when other edges exist).
|
|
20
|
+
*/
|
|
21
|
+
import type { PhaseContext, PhaseResult } from "./index.js";
|
|
22
|
+
/** Normalise a tag string: lowercase, strip non-alphanumeric-separator chars, trim. */
|
|
23
|
+
export declare function normaliseTagStr(tag: string): string;
|
|
24
|
+
export declare function phaseTagNormalisation(ctx: PhaseContext): Promise<PhaseResult>;
|
|
25
|
+
//# sourceMappingURL=phase-tag-normalisation.d.ts.map
|
package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-tag-normalisation.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-tag-normalisation.d.ts","sourceRoot":"","sources":["../../../src/lib/dream-cycle/phase-tag-normalisation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAgFnF"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 7 — tag deduplication and normalisation (Task 596).
|
|
3
|
+
*
|
|
4
|
+
* Two passes:
|
|
5
|
+
*
|
|
6
|
+
* Pass A — KnowledgeDocument nodes with a `tags` string-array property.
|
|
7
|
+
* For each node, normalise every tag (lowercase, strip non-alphanumeric
|
|
8
|
+
* except hyphens/underscores/spaces, trim), deduplicate, and write back
|
|
9
|
+
* only when the normalised array differs from the original.
|
|
10
|
+
*
|
|
11
|
+
* Pass B — :DefinedTerm {category:'obsidian-tag'} nodes.
|
|
12
|
+
* Group by normalised name. For each group with more than one variant,
|
|
13
|
+
* pick the first alphabetically as canonical, retarget all :TAGGED_WITH
|
|
14
|
+
* edges from non-canonical nodes to the canonical node, then detach-delete
|
|
15
|
+
* non-canonical nodes that become edge-free.
|
|
16
|
+
*
|
|
17
|
+
* `applied` = number of KD nodes updated + number of DefinedTerm non-canonical
|
|
18
|
+
* variants whose :TAGGED_WITH edges were retargeted (whether or not the node
|
|
19
|
+
* was subsequently deleted — deletion is blocked when other edges exist).
|
|
20
|
+
*/
|
|
21
|
+
/** Normalise a tag string: lowercase, strip non-alphanumeric-separator chars, trim. */
|
|
22
|
+
export function normaliseTagStr(tag) {
|
|
23
|
+
return tag
|
|
24
|
+
.toLowerCase()
|
|
25
|
+
.replace(/[^a-z0-9_\- ]/g, "")
|
|
26
|
+
.trim();
|
|
27
|
+
}
|
|
28
|
+
export async function phaseTagNormalisation(ctx) {
|
|
29
|
+
const start = Date.now();
|
|
30
|
+
const { accountId, session } = ctx;
|
|
31
|
+
let applied = 0;
|
|
32
|
+
// --- Pass A: KnowledgeDocument tags[] array ---
|
|
33
|
+
const kdResult = await session.run(`MATCH (n:KnowledgeDocument)
|
|
34
|
+
WHERE n.accountId = $accountId AND n.tags IS NOT NULL AND size(n.tags) > 0
|
|
35
|
+
RETURN elementId(n) AS eid, n.tags AS tags`, { accountId });
|
|
36
|
+
for (const record of kdResult.records) {
|
|
37
|
+
const eid = record.get("eid");
|
|
38
|
+
const tags = record.get("tags");
|
|
39
|
+
const normTags = [...new Set(tags.map(normaliseTagStr).filter((t) => t.length > 0))];
|
|
40
|
+
if (normTags.length !== tags.length || normTags.some((t, i) => t !== tags[i])) {
|
|
41
|
+
await session.run(`MATCH (n) WHERE elementId(n) = $eid SET n.tags = $tags`, { eid, tags: normTags });
|
|
42
|
+
applied++;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// --- Pass B: DefinedTerm obsidian-tag variants ---
|
|
46
|
+
const dtResult = await session.run(`MATCH (t:DefinedTerm)
|
|
47
|
+
WHERE t.accountId = $accountId AND t.category = 'obsidian-tag'
|
|
48
|
+
RETURN elementId(t) AS eid, t.name AS name`, { accountId });
|
|
49
|
+
const groups = new Map();
|
|
50
|
+
for (const record of dtResult.records) {
|
|
51
|
+
const eid = record.get("eid");
|
|
52
|
+
const name = record.get("name");
|
|
53
|
+
const key = normaliseTagStr(name);
|
|
54
|
+
if (!groups.has(key))
|
|
55
|
+
groups.set(key, []);
|
|
56
|
+
groups.get(key).push({ eid, name });
|
|
57
|
+
}
|
|
58
|
+
for (const [, variants] of groups) {
|
|
59
|
+
if (variants.length <= 1)
|
|
60
|
+
continue;
|
|
61
|
+
// Canonical = alphabetically first (stable, deterministic).
|
|
62
|
+
variants.sort((a, b) => a.name.localeCompare(b.name));
|
|
63
|
+
const canonical = variants[0];
|
|
64
|
+
const nonCanonicals = variants.slice(1);
|
|
65
|
+
for (const nonCanon of nonCanonicals) {
|
|
66
|
+
await session.run(`MATCH (t:DefinedTerm) WHERE elementId(t) = $oldEid
|
|
67
|
+
MATCH (canon:DefinedTerm) WHERE elementId(canon) = $canonEid
|
|
68
|
+
OPTIONAL MATCH (src)-[r:TAGGED_WITH]->(t)
|
|
69
|
+
FOREACH (_ IN CASE WHEN src IS NOT NULL THEN [1] ELSE [] END |
|
|
70
|
+
MERGE (src)-[:TAGGED_WITH]->(canon)
|
|
71
|
+
DELETE r
|
|
72
|
+
)
|
|
73
|
+
WITH t
|
|
74
|
+
WHERE NOT (t)-[]-()
|
|
75
|
+
DETACH DELETE t`, { oldEid: nonCanon.eid, canonEid: canonical.eid });
|
|
76
|
+
applied++;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const elapsedMs = Date.now() - start;
|
|
80
|
+
process.stderr.write(`[dream-cycle] phase=7 op=tags-normalised accountId=${accountId} merged=${applied} elapsedMs=${elapsedMs}\n`);
|
|
81
|
+
return {
|
|
82
|
+
phase: 7,
|
|
83
|
+
name: "tag-normalisation",
|
|
84
|
+
durationSec: Math.round(elapsedMs / 1000),
|
|
85
|
+
proposed: applied,
|
|
86
|
+
applied,
|
|
87
|
+
deferred: 0,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=phase-tag-normalisation.js.map
|
package/payload/platform/plugins/memory/mcp/dist/lib/dream-cycle/phase-tag-normalisation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-tag-normalisation.js","sourceRoot":"","sources":["../../../src/lib/dream-cycle/phase-tag-normalisation.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,4 +178,121 @@ describe("conversation-archive-derive-insights — runtime", () => {
|
|
|
178
178
|
expect(result.rejectionsFiltered).toBe(1);
|
|
179
179
|
});
|
|
180
180
|
});
|
|
181
|
+
// ---------------------------------------------------------------------------
|
|
182
|
+
// Task 595 — inline-rewrite signals
|
|
183
|
+
// ---------------------------------------------------------------------------
|
|
184
|
+
describe("conversation-archive-derive-insights — inline-rewrite signals (Task 595)", () => {
|
|
185
|
+
it("DeriveInsightsParams declares inlineRewrite and inlineRewriteThreshold", () => {
|
|
186
|
+
const src = readFileSync(TOOL_PATH, "utf-8");
|
|
187
|
+
expect(src).toContain("inlineRewrite?: boolean");
|
|
188
|
+
expect(src).toContain("inlineRewriteThreshold?: number");
|
|
189
|
+
});
|
|
190
|
+
it("DeriveInsightsResult declares inlineRewriteSignals optional field with displayName and mentionCount", () => {
|
|
191
|
+
const src = readFileSync(TOOL_PATH, "utf-8");
|
|
192
|
+
expect(src).toMatch(/inlineRewriteSignals\?:\s*\{/);
|
|
193
|
+
expect(src).toContain("displayName: string");
|
|
194
|
+
expect(src).toContain("mentionCount: number");
|
|
195
|
+
});
|
|
196
|
+
it("inlineRewriteSignals is undefined when inlineRewrite param is absent", async () => {
|
|
197
|
+
mockSession.run.mockResolvedValue({ records: [{ get: () => "archive-1" }] });
|
|
198
|
+
const { conversationArchiveDeriveInsights } = await import("../../tools/conversation-archive-derive-insights.js");
|
|
199
|
+
const result = await conversationArchiveDeriveInsights({
|
|
200
|
+
accountId: "acc1",
|
|
201
|
+
archiveElementId: "arc1",
|
|
202
|
+
chunkElementId: "chunk1",
|
|
203
|
+
claims: [
|
|
204
|
+
{ kind: "mention", evidenceSnippet: "Joel joined.", subject: "Joel Smith", payload: {} },
|
|
205
|
+
{ kind: "mention", evidenceSnippet: "Joel again.", subject: "Joel Smith", payload: {} },
|
|
206
|
+
],
|
|
207
|
+
});
|
|
208
|
+
expect(result.inlineRewriteSignals).toBeUndefined();
|
|
209
|
+
});
|
|
210
|
+
it("returns signal when a subject appears >= threshold times with inlineRewrite=true", async () => {
|
|
211
|
+
mockSession.run.mockResolvedValue({ records: [{ get: () => "archive-1" }] });
|
|
212
|
+
const { conversationArchiveDeriveInsights } = await import("../../tools/conversation-archive-derive-insights.js");
|
|
213
|
+
const result = await conversationArchiveDeriveInsights({
|
|
214
|
+
accountId: "acc1",
|
|
215
|
+
archiveElementId: "arc1",
|
|
216
|
+
chunkElementId: "chunk1",
|
|
217
|
+
claims: [
|
|
218
|
+
{ kind: "mention", evidenceSnippet: "Joel joined.", subject: "Joel Smith", payload: {} },
|
|
219
|
+
{ kind: "mention", evidenceSnippet: "Joel again.", subject: "Joel Smith", payload: {} },
|
|
220
|
+
],
|
|
221
|
+
inlineRewrite: true,
|
|
222
|
+
inlineRewriteThreshold: 2,
|
|
223
|
+
});
|
|
224
|
+
expect(result.inlineRewriteSignals).toBeDefined();
|
|
225
|
+
expect(result.inlineRewriteSignals).toHaveLength(1);
|
|
226
|
+
expect(result.inlineRewriteSignals[0].displayName).toBe("Joel Smith");
|
|
227
|
+
expect(result.inlineRewriteSignals[0].mentionCount).toBe(2);
|
|
228
|
+
});
|
|
229
|
+
it("does not return a signal when mention count is below threshold", async () => {
|
|
230
|
+
mockSession.run.mockResolvedValue({ records: [{ get: () => "archive-1" }] });
|
|
231
|
+
const { conversationArchiveDeriveInsights } = await import("../../tools/conversation-archive-derive-insights.js");
|
|
232
|
+
const result = await conversationArchiveDeriveInsights({
|
|
233
|
+
accountId: "acc1",
|
|
234
|
+
archiveElementId: "arc1",
|
|
235
|
+
chunkElementId: "chunk1",
|
|
236
|
+
claims: [
|
|
237
|
+
{ kind: "mention", evidenceSnippet: "Joel joined.", subject: "Joel Smith", payload: {} },
|
|
238
|
+
],
|
|
239
|
+
inlineRewrite: true,
|
|
240
|
+
inlineRewriteThreshold: 2,
|
|
241
|
+
});
|
|
242
|
+
expect(result.inlineRewriteSignals).toEqual([]);
|
|
243
|
+
});
|
|
244
|
+
it("uses default threshold of 2 when inlineRewriteThreshold is omitted", async () => {
|
|
245
|
+
mockSession.run.mockResolvedValue({ records: [{ get: () => "archive-1" }] });
|
|
246
|
+
const { conversationArchiveDeriveInsights } = await import("../../tools/conversation-archive-derive-insights.js");
|
|
247
|
+
// Two mentions of same entity with no explicit threshold → default 2 fires
|
|
248
|
+
const result = await conversationArchiveDeriveInsights({
|
|
249
|
+
accountId: "acc1",
|
|
250
|
+
archiveElementId: "arc1",
|
|
251
|
+
chunkElementId: "chunk1",
|
|
252
|
+
claims: [
|
|
253
|
+
{ kind: "mention", evidenceSnippet: "Joel joined.", subject: "Joel Smith", payload: {} },
|
|
254
|
+
{ kind: "mention", evidenceSnippet: "Joel again.", subject: "Joel Smith", payload: {} },
|
|
255
|
+
],
|
|
256
|
+
inlineRewrite: true,
|
|
257
|
+
// inlineRewriteThreshold intentionally omitted — default 2 should apply
|
|
258
|
+
});
|
|
259
|
+
expect(result.inlineRewriteSignals).toHaveLength(1);
|
|
260
|
+
expect(result.inlineRewriteSignals[0].displayName).toBe("Joel Smith");
|
|
261
|
+
expect(result.inlineRewriteSignals[0].mentionCount).toBe(2);
|
|
262
|
+
});
|
|
263
|
+
it("counts rejected mention claims in signals (density is rejection-independent)", async () => {
|
|
264
|
+
mockSession.run.mockResolvedValue({ records: [{ get: () => "archive-1" }] });
|
|
265
|
+
const { conversationArchiveDeriveInsights, rejectionsJsonlPath } = await import("../../tools/conversation-archive-derive-insights.js");
|
|
266
|
+
// Write a rejection for the first Joel mention so it is filtered from proposals
|
|
267
|
+
const { createHash } = await import("node:crypto");
|
|
268
|
+
const { writeFileSync, mkdirSync } = await import("node:fs");
|
|
269
|
+
const { dirname } = await import("node:path");
|
|
270
|
+
const rPath = rejectionsJsonlPath("acc1");
|
|
271
|
+
mkdirSync(dirname(rPath), { recursive: true });
|
|
272
|
+
const h = createHash("sha256");
|
|
273
|
+
h.update("mention");
|
|
274
|
+
h.update(" ");
|
|
275
|
+
h.update("Joel Smith");
|
|
276
|
+
h.update(" ");
|
|
277
|
+
h.update("Joel joined.");
|
|
278
|
+
const contentHash = h.digest("hex");
|
|
279
|
+
writeFileSync(rPath, JSON.stringify({ chunkElementId: "chunk1", kind: "mention", contentHash }) + "\n");
|
|
280
|
+
const result = await conversationArchiveDeriveInsights({
|
|
281
|
+
accountId: "acc1",
|
|
282
|
+
archiveElementId: "arc1",
|
|
283
|
+
chunkElementId: "chunk1",
|
|
284
|
+
claims: [
|
|
285
|
+
{ kind: "mention", evidenceSnippet: "Joel joined.", subject: "Joel Smith", payload: {} },
|
|
286
|
+
{ kind: "mention", evidenceSnippet: "Joel again.", subject: "Joel Smith", payload: {} },
|
|
287
|
+
],
|
|
288
|
+
inlineRewrite: true,
|
|
289
|
+
inlineRewriteThreshold: 2,
|
|
290
|
+
});
|
|
291
|
+
// First mention is rejected → only 1 proposal, but signals should still count both
|
|
292
|
+
expect(result.proposals).toHaveLength(1);
|
|
293
|
+
expect(result.rejectionsFiltered).toBe(1);
|
|
294
|
+
expect(result.inlineRewriteSignals).toHaveLength(1);
|
|
295
|
+
expect(result.inlineRewriteSignals[0].mentionCount).toBe(2); // not 1
|
|
296
|
+
});
|
|
297
|
+
});
|
|
181
298
|
//# sourceMappingURL=conversation-archive-derive-insights.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-archive-derive-insights.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-derive-insights.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversation-archive-derive-insights.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/conversation-archive-derive-insights.test.ts"],"names":[],"mappings":"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"}
|