@rubytech/create-maxy-code 0.1.177 → 0.1.181
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/package.json +1 -1
- package/payload/platform/lib/graph-trash/package.json +7 -0
- package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +38 -3
- package/payload/platform/plugins/memory/mcp/dist/index.js +17 -7
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/turn-text-cache-path.d.ts +8 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/turn-text-cache-path.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/turn-text-cache-path.js +27 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/turn-text-cache-path.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/section-types.d.ts +10 -6
- package/payload/platform/plugins/memory/mcp/dist/lib/section-types.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-body-server-sliced.test.js +13 -13
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-body-server-sliced.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-chat-body-server-sliced.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-chat-body-server-sliced.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-chat-body-server-sliced.test.js +124 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-chat-body-server-sliced.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-section-properties-strip.test.d.ts +2 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-section-properties-strip.test.d.ts.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-section-properties-strip.test.js +104 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest-section-properties-strip.test.js.map +1 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts +12 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js +38 -13
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +23 -1
- 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 +175 -44
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
- package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +7 -3
- package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +9 -1
- package/payload/premium-plugins/writer-craft/PLUGIN.md +3 -3
- package/payload/premium-plugins/writer-craft/lib/graph-trash/dist/index.d.ts +106 -0
- package/payload/premium-plugins/writer-craft/lib/graph-trash/dist/index.d.ts.map +1 -0
- package/payload/premium-plugins/writer-craft/lib/graph-trash/dist/index.js +340 -0
- package/payload/premium-plugins/writer-craft/lib/graph-trash/dist/index.js.map +1 -0
- package/payload/premium-plugins/writer-craft/lib/graph-trash/package.json +7 -0
- package/payload/premium-plugins/writer-craft/mcp/dist/index.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/index.js +24 -10
- package/payload/premium-plugins/writer-craft/mcp/dist/index.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/lib/voice-corpus.d.ts +15 -25
- package/payload/premium-plugins/writer-craft/mcp/dist/lib/voice-corpus.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/lib/voice-corpus.js +17 -38
- package/payload/premium-plugins/writer-craft/mcp/dist/lib/voice-corpus.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-distil-profile.d.ts +52 -12
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-distil-profile.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-distil-profile.js +308 -2
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-distil-profile.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-retrieve-conditioning.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-retrieve-conditioning.js +26 -5
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-retrieve-conditioning.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-tag-content.d.ts +2 -2
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-tag-content.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-tag-content.js +14 -28
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-tag-content.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/scripts/smoke.mjs +21 -41
- package/payload/premium-plugins/writer-craft/mcp/src/index.ts +30 -12
- package/payload/premium-plugins/writer-craft/mcp/src/lib/voice-corpus.ts +18 -43
- package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-distil-profile.ts +419 -14
- package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-retrieve-conditioning.ts +27 -5
- package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-tag-content.ts +16 -31
- package/payload/premium-plugins/writer-craft/skills/voice-mirror/SKILL.md +37 -19
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readFile, unlink } from "node:fs/promises";
|
|
1
2
|
import { getSession } from "../lib/neo4j.js";
|
|
2
3
|
import { withWriteEvent } from "../lib/log-ingest.js";
|
|
3
4
|
import { embed, embedBatch } from "../lib/embeddings.js";
|
|
@@ -6,6 +7,7 @@ import { deleteDocumentChildren } from "../lib/document-hierarchy.js";
|
|
|
6
7
|
import { restoreNode } from "../../../../../lib/graph-trash/dist/index.js";
|
|
7
8
|
import { IDENTITY_SECTION_KINDS, STRUCTURAL_SECTION_KINDS, CONTRACT_SECTION_KINDS, STANDALONE_NODE_KINDS, SECTION_KIND_OTHER, } from "../lib/section-types.js";
|
|
8
9
|
import { isConversationSource } from "../lib/conversation-normalisers/types.js";
|
|
10
|
+
import { turnTextCachePath } from "../lib/conversation-pipeline/turn-text-cache-path.js";
|
|
9
11
|
// ---------------------------------------------------------------------------
|
|
10
12
|
// Single-Section document ingestion (replaces the typed-vs-UNMAPPED fork).
|
|
11
13
|
//
|
|
@@ -17,18 +19,18 @@ import { isConversationSource } from "../lib/conversation-normalisers/types.js";
|
|
|
17
19
|
// + related entities
|
|
18
20
|
// + KD-level edges
|
|
19
21
|
//
|
|
20
|
-
// Body authority: the server slices :Section.body from
|
|
21
|
-
// classifier-supplied (sourceStart, sourceEnd) offsets.
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
22
|
+
// Body authority: the server slices :Section.body from a non-LLM source of
|
|
23
|
+
// text using the classifier-supplied (sourceStart, sourceEnd) offsets. On the
|
|
24
|
+
// document path the source is `extractCache` (an in-process Map keyed by
|
|
25
|
+
// `attachmentId`, populated by `memory-ingest-extract`). On the
|
|
26
|
+
// conversation-archive path the source is a per-session tempfile written by
|
|
27
|
+
// `conversation-archive-ingest.mjs` at `turnTextCachePath(conversationIdentity,
|
|
28
|
+
// archiveSha256, sessionIndex)` — the bin and writer run in separate
|
|
29
|
+
// processes so the cache is a deterministic disk path instead of a shared
|
|
30
|
+
// Map. Either way, any `body` field the classifier supplies is logged and
|
|
31
|
+
// ignored — the classifier is a chunker, not the authoritative source of
|
|
32
|
+
// stored text. (Task 465 closed this on the document path; Task 468 closed
|
|
33
|
+
// it on the conversation-archive path.)
|
|
32
34
|
//
|
|
33
35
|
// Every classified section produces ONE `:Section` node. When the classifier
|
|
34
36
|
// recognises the kind (Position/Education/Chapter/Parties/etc.), the same
|
|
@@ -52,47 +54,52 @@ const PREVIEW_LENGTH = 150;
|
|
|
52
54
|
const PROVENANCE_AGENT = "document-ingest";
|
|
53
55
|
const PROVENANCE_SOURCE = "document";
|
|
54
56
|
// ---------------------------------------------------------------------------
|
|
55
|
-
//
|
|
57
|
+
// Section-body derivation. Shared by both ingest paths (Task 465 doc path,
|
|
58
|
+
// Task 468 conversation-archive path).
|
|
59
|
+
//
|
|
60
|
+
// The classifier emits (sourceStart, sourceEnd) offsets into a non-LLM
|
|
61
|
+
// source of text — `cachedText`. The server slices that text to produce
|
|
62
|
+
// :Section.body so the LLM cannot smuggle a paraphrase, summary, or
|
|
63
|
+
// hallucination into stored content. The classifier's own `body` field, if
|
|
64
|
+
// present, is logged and ignored — never written.
|
|
56
65
|
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
// stored content. The classifier's own `body` field, if present, is logged
|
|
61
|
-
// and ignored — never written.
|
|
66
|
+
// `sourceKey` is the identity the caller uses for log attribution
|
|
67
|
+
// (`attachmentId` on the document path, `conversationIdentity` on the chat
|
|
68
|
+
// path); it is grep-able in the structured log lines.
|
|
62
69
|
//
|
|
63
70
|
// Throws on invalid offsets (negative, reversed, out-of-bounds) so a
|
|
64
71
|
// classifier defect produces a loud, attributable failure instead of
|
|
65
72
|
// silently-truncated section nodes.
|
|
66
73
|
// ---------------------------------------------------------------------------
|
|
67
|
-
export function
|
|
74
|
+
export function deriveSectionBodies(sections, cachedText, sourceKey = "unknown") {
|
|
68
75
|
const textLength = cachedText.length;
|
|
69
76
|
return sections.map((section, i) => {
|
|
70
77
|
const { sourceStart, sourceEnd, body: agentBody } = section;
|
|
71
78
|
if (!Number.isInteger(sourceStart) || sourceStart < 0) {
|
|
72
79
|
throw new Error(`[memory-ingest:derive] invalid sourceStart: sectionIndex=${i} ` +
|
|
73
|
-
`sourceStart=${sourceStart}
|
|
80
|
+
`sourceStart=${sourceStart} sourceKey=${sourceKey}`);
|
|
74
81
|
}
|
|
75
82
|
if (!Number.isInteger(sourceEnd) || sourceEnd < 0) {
|
|
76
83
|
throw new Error(`[memory-ingest:derive] invalid sourceEnd: sectionIndex=${i} ` +
|
|
77
|
-
`sourceEnd=${sourceEnd}
|
|
84
|
+
`sourceEnd=${sourceEnd} sourceKey=${sourceKey}`);
|
|
78
85
|
}
|
|
79
86
|
if (sourceStart > sourceEnd) {
|
|
80
87
|
throw new Error(`[memory-ingest:derive] reversed offsets: sectionIndex=${i} ` +
|
|
81
|
-
`sourceStart=${sourceStart} sourceEnd=${sourceEnd}
|
|
88
|
+
`sourceStart=${sourceStart} sourceEnd=${sourceEnd} sourceKey=${sourceKey}`);
|
|
82
89
|
}
|
|
83
90
|
if (sourceEnd > textLength) {
|
|
84
91
|
throw new Error(`[memory-ingest:derive] out-of-bounds sourceEnd: sectionIndex=${i} ` +
|
|
85
|
-
`sourceEnd=${sourceEnd} textLength=${textLength}
|
|
92
|
+
`sourceEnd=${sourceEnd} textLength=${textLength} sourceKey=${sourceKey}`);
|
|
86
93
|
}
|
|
87
94
|
if (agentBody !== undefined) {
|
|
88
95
|
const agentBodyPreview = JSON.stringify(agentBody.slice(0, 120));
|
|
89
96
|
console.error(`[memory-ingest:derive] agent body suppressed: sectionIndex=${i} ` +
|
|
90
97
|
`agentBodyLength=${agentBody.length} ` +
|
|
91
|
-
`agentBodyPreview=${agentBodyPreview}
|
|
98
|
+
`agentBodyPreview=${agentBodyPreview} sourceKey=${sourceKey}`);
|
|
92
99
|
}
|
|
93
100
|
if (sourceStart === sourceEnd) {
|
|
94
101
|
console.error(`[memory-ingest:derive] zero-width section: sectionIndex=${i} ` +
|
|
95
|
-
`offset=${sourceStart}
|
|
102
|
+
`offset=${sourceStart} sourceKey=${sourceKey}`);
|
|
96
103
|
return "";
|
|
97
104
|
}
|
|
98
105
|
return cachedText.slice(sourceStart, sourceEnd);
|
|
@@ -110,6 +117,67 @@ const SECTION_LABEL_KINDS = new Set([
|
|
|
110
117
|
SECTION_KIND_OTHER,
|
|
111
118
|
]);
|
|
112
119
|
// ---------------------------------------------------------------------------
|
|
120
|
+
// Section-properties reserved-key strip (Task 469).
|
|
121
|
+
//
|
|
122
|
+
// `section.properties` is an unconstrained Zod record. The writer spreads it
|
|
123
|
+
// onto every node it creates, with `baseProps` stamped on top. That spread
|
|
124
|
+
// order means any writer-owned key the agent puts into `properties` lands
|
|
125
|
+
// verbatim on the node UNLESS `baseProps` also carries that key — which would
|
|
126
|
+
// be the next paraphrase channel after Task 465 closed `body` via server-side
|
|
127
|
+
// slicing. The most attractive one is `summary`, because `:Section.summary` is
|
|
128
|
+
// the operator-visible compressed view of the section's content.
|
|
129
|
+
//
|
|
130
|
+
// Strip every key the writer also writes as an authoritative field at the
|
|
131
|
+
// spread boundary. The acceptance is "top-level `section.summary` is the
|
|
132
|
+
// source of truth for `:Section.summary` on both paths" — so `summary` lives
|
|
133
|
+
// in `baseProps` and is reserved against the properties bag.
|
|
134
|
+
// ---------------------------------------------------------------------------
|
|
135
|
+
export const RESERVED_SECTION_PROPERTY_KEYS = new Set([
|
|
136
|
+
"accountId",
|
|
137
|
+
"title",
|
|
138
|
+
"body",
|
|
139
|
+
"bodyPreview",
|
|
140
|
+
"summary",
|
|
141
|
+
"embedding",
|
|
142
|
+
"position",
|
|
143
|
+
"scope",
|
|
144
|
+
"createdAt",
|
|
145
|
+
"updatedAt",
|
|
146
|
+
"createdByAgent",
|
|
147
|
+
"createdBySource",
|
|
148
|
+
"createdBySession",
|
|
149
|
+
"source",
|
|
150
|
+
"sourceDocumentId",
|
|
151
|
+
"archiveSha256",
|
|
152
|
+
"archiveSourceFile",
|
|
153
|
+
]);
|
|
154
|
+
/**
|
|
155
|
+
* Drop reserved writer-owned keys from an agent-supplied `section.properties`
|
|
156
|
+
* bag. When any keys are stripped, emit one grep-able log line naming the
|
|
157
|
+
* keys and the context (attachmentId or conversationIdentity:archiveSha256)
|
|
158
|
+
* so the operator can attribute the smuggle attempt to a specific ingest.
|
|
159
|
+
*
|
|
160
|
+
* Mirrors the Task 465 `agent body suppressed` log shape — a quiet strip
|
|
161
|
+
* with a loud trail. Returns a new object; never mutates the input.
|
|
162
|
+
*/
|
|
163
|
+
export function stripReservedSectionProperties(properties, ctx) {
|
|
164
|
+
const stripped = [];
|
|
165
|
+
const cleaned = {};
|
|
166
|
+
for (const [key, value] of Object.entries(properties)) {
|
|
167
|
+
if (RESERVED_SECTION_PROPERTY_KEYS.has(key)) {
|
|
168
|
+
stripped.push(key);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
cleaned[key] = value;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (stripped.length > 0) {
|
|
175
|
+
console.error(`[memory-ingest] reserved-property-keys-stripped ` +
|
|
176
|
+
`kind=${ctx.kind} keys=${stripped.join(",")} ${ctx.identity}`);
|
|
177
|
+
}
|
|
178
|
+
return cleaned;
|
|
179
|
+
}
|
|
180
|
+
// ---------------------------------------------------------------------------
|
|
113
181
|
// Helpers
|
|
114
182
|
// ---------------------------------------------------------------------------
|
|
115
183
|
function normaliseKeywords(arr) {
|
|
@@ -216,7 +284,7 @@ async function memoryIngestImpl(params) {
|
|
|
216
284
|
// 1. Derive every section's body from the cached document text. The
|
|
217
285
|
// classifier's offsets are the only trusted input; any `body` field
|
|
218
286
|
// it supplied is logged and ignored. Invalid offsets throw.
|
|
219
|
-
const sectionBodies =
|
|
287
|
+
const sectionBodies = deriveSectionBodies(sections, cachedText, attachmentId);
|
|
220
288
|
// 2. Embed document summary + every server-derived section body in one batch.
|
|
221
289
|
const textsToEmbed = [documentSummary, ...sectionBodies];
|
|
222
290
|
log("embedding", `${textsToEmbed.length} texts`);
|
|
@@ -310,6 +378,7 @@ async function memoryIngestImpl(params) {
|
|
|
310
378
|
title: section.title,
|
|
311
379
|
body: sectionBody,
|
|
312
380
|
bodyPreview: sectionBody.slice(0, PREVIEW_LENGTH),
|
|
381
|
+
summary: section.summary,
|
|
313
382
|
position: i,
|
|
314
383
|
scope,
|
|
315
384
|
embedding: bodyEmbedding,
|
|
@@ -350,8 +419,14 @@ async function memoryIngestImpl(params) {
|
|
|
350
419
|
// Compose properties: classifier-supplied properties overlaid on system
|
|
351
420
|
// fields, system fields winning. For Section:Other, also stamp
|
|
352
421
|
// classifierReason so the ontology-growth query can surface it.
|
|
422
|
+
// Reserved writer-owned keys are stripped before the spread (Task 469)
|
|
423
|
+
// so an agent cannot smuggle a paraphrase via properties.summary or
|
|
424
|
+
// any other authoritative field.
|
|
353
425
|
const sectionProps = {
|
|
354
|
-
...section.properties,
|
|
426
|
+
...stripReservedSectionProperties(section.properties, {
|
|
427
|
+
kind: section.kind,
|
|
428
|
+
identity: `attachmentId=${attachmentId}`,
|
|
429
|
+
}),
|
|
355
430
|
...baseProps,
|
|
356
431
|
...(section.kind === SECTION_KIND_OTHER && section.classifierReason
|
|
357
432
|
? { classifierReason: section.classifierReason }
|
|
@@ -487,7 +562,18 @@ async function memoryIngestImpl(params) {
|
|
|
487
562
|
// edge writer.
|
|
488
563
|
// ---------------------------------------------------------------------------
|
|
489
564
|
async function writeStandaloneNode(dbSession, section, baseProps, anchorNodeId, anchorLabel, attachmentId, sessionId, now) {
|
|
490
|
-
|
|
565
|
+
// Standalone (e.g. :Project) doesn't take `summary` — the section's
|
|
566
|
+
// summary is meaningful for the :Section node, not for a typed entity
|
|
567
|
+
// derived from it. Drop summary from baseProps before the spread.
|
|
568
|
+
const { summary: _droppedSummary, ...standaloneBaseProps } = baseProps;
|
|
569
|
+
void _droppedSummary;
|
|
570
|
+
const props = {
|
|
571
|
+
...stripReservedSectionProperties(section.properties, {
|
|
572
|
+
kind: section.kind,
|
|
573
|
+
identity: `attachmentId=${attachmentId}`,
|
|
574
|
+
}),
|
|
575
|
+
...standaloneBaseProps,
|
|
576
|
+
};
|
|
491
577
|
const r = await dbSession.run(`CREATE (n:\`${section.kind}\`)
|
|
492
578
|
SET n = $props
|
|
493
579
|
RETURN elementId(n) AS nodeId`, { props });
|
|
@@ -668,7 +754,7 @@ async function ingestConversationDocument(params) {
|
|
|
668
754
|
// silently destroy 138 chunks during the Adam Mackay re-gap. Default
|
|
669
755
|
// `false` means cleanup never fires unless the caller explicitly opts in;
|
|
670
756
|
// the bin only opts in under `--rebuild` AND on the first session.
|
|
671
|
-
cleanupPriorChunks = false, archiveTitle, } = params;
|
|
757
|
+
cleanupPriorChunks = false, archiveTitle, sessionIndex, } = params;
|
|
672
758
|
// The dispatcher verified conversationIdentity is set on this branch.
|
|
673
759
|
const conversationIdentity = rawConversationIdentity;
|
|
674
760
|
if (!scope) {
|
|
@@ -689,6 +775,17 @@ async function ingestConversationDocument(params) {
|
|
|
689
775
|
if (!lastIngestedMessageAt || !lastIngestedMessageAt.trim()) {
|
|
690
776
|
throw new Error("lastIngestedMessageAt is required on the conversation-document path");
|
|
691
777
|
}
|
|
778
|
+
// Task 468 — sessionIndex is the per-session key into the bin's turnText
|
|
779
|
+
// tempfile cache. Without it the writer cannot locate the bytes to slice
|
|
780
|
+
// `:Section.body` from a non-LLM source.
|
|
781
|
+
if (!Number.isInteger(sessionIndex) || sessionIndex < 1) {
|
|
782
|
+
throw new Error(`sessionIndex is required on the conversation-document path and must be integer >= 1 (got ${JSON.stringify(sessionIndex)})`);
|
|
783
|
+
}
|
|
784
|
+
const cachePath = turnTextCachePath({
|
|
785
|
+
conversationIdentity,
|
|
786
|
+
archiveSha256,
|
|
787
|
+
sessionIndex: sessionIndex,
|
|
788
|
+
});
|
|
692
789
|
const keywords = (() => {
|
|
693
790
|
const u = (rawUserKeywords ?? []).map((k) => k.toLowerCase().trim()).filter(Boolean);
|
|
694
791
|
const d = (rawDocKeywords ?? []).map((k) => k.toLowerCase().trim()).filter(Boolean);
|
|
@@ -723,19 +820,34 @@ async function ingestConversationDocument(params) {
|
|
|
723
820
|
await restoreNode({ session: dbSession, accountId, elementId: eid });
|
|
724
821
|
log("revived", `restored trashed ConversationArchive elementId=${eid}`);
|
|
725
822
|
}
|
|
726
|
-
// 2.
|
|
727
|
-
//
|
|
728
|
-
//
|
|
729
|
-
//
|
|
730
|
-
//
|
|
823
|
+
// 2. Read this session's turnText from the bin's tempfile cache and slice
|
|
824
|
+
// every section's body server-side. Mirrors the document path's
|
|
825
|
+
// `extractCache` → `deriveSectionBodies` flow; the bin runs in a
|
|
826
|
+
// separate process so the cache is a deterministic disk path
|
|
827
|
+
// (`turnTextCachePath`) instead of an in-process Map. Any `body` field
|
|
828
|
+
// the specialist still emits is logged and ignored (Task 468).
|
|
829
|
+
let turnText;
|
|
830
|
+
try {
|
|
831
|
+
turnText = await readFile(cachePath, "utf8");
|
|
832
|
+
}
|
|
833
|
+
catch (err) {
|
|
834
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
835
|
+
throw new Error(`[memory-ingest] failed to read turnText cache for chat path: ` +
|
|
836
|
+
`path=${cachePath} conversationIdentity=${conversationIdentity} ` +
|
|
837
|
+
`archiveSha256=${archiveSha256.slice(0, 12)} sessionIndex=${sessionIndex} ` +
|
|
838
|
+
`reason=${detail}`);
|
|
839
|
+
}
|
|
840
|
+
log("turntext-loaded", `bytes=${turnText.length} sessionIndex=${sessionIndex}`);
|
|
841
|
+
const sectionBodies = deriveSectionBodies(sections, turnText, conversationIdentity);
|
|
731
842
|
for (let i = 0; i < sections.length; i++) {
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
843
|
+
console.error(`[memory-ingest] chat-section-body-derived sectionIndex=${i} ` +
|
|
844
|
+
`sourceStart=${sections[i].sourceStart} ` +
|
|
845
|
+
`sourceEnd=${sections[i].sourceEnd} ` +
|
|
846
|
+
`bodyLength=${sectionBodies[i].length} ` +
|
|
847
|
+
`conversationIdentity=${conversationIdentity} ` +
|
|
848
|
+
`sessionIndex=${sessionIndex}`);
|
|
737
849
|
}
|
|
738
|
-
const textsToEmbed = [documentSummary, ...
|
|
850
|
+
const textsToEmbed = [documentSummary, ...sectionBodies];
|
|
739
851
|
log("embedding", `${textsToEmbed.length} texts`);
|
|
740
852
|
const embeddings = await embedBatch(textsToEmbed);
|
|
741
853
|
const archiveEmbedding = embeddings[0];
|
|
@@ -846,15 +958,16 @@ async function ingestConversationDocument(params) {
|
|
|
846
958
|
let nextEdgesCreated = 0;
|
|
847
959
|
for (let i = 0; i < sections.length; i++) {
|
|
848
960
|
const section = sections[i];
|
|
849
|
-
//
|
|
850
|
-
//
|
|
851
|
-
const sectionBody =
|
|
961
|
+
// Server-sliced from turnText (Task 468) — never the LLM-supplied
|
|
962
|
+
// `section.body`, which `deriveSectionBodies` logs+ignores upstream.
|
|
963
|
+
const sectionBody = sectionBodies[i];
|
|
852
964
|
const bodyEmbedding = embeddings[i + 1];
|
|
853
965
|
const baseProps = {
|
|
854
966
|
accountId,
|
|
855
967
|
title: section.title,
|
|
856
968
|
body: sectionBody,
|
|
857
969
|
bodyPreview: sectionBody.slice(0, PREVIEW_LENGTH),
|
|
970
|
+
summary: section.summary,
|
|
858
971
|
position: i,
|
|
859
972
|
scope,
|
|
860
973
|
embedding: bodyEmbedding,
|
|
@@ -867,7 +980,13 @@ async function ingestConversationDocument(params) {
|
|
|
867
980
|
archiveSha256,
|
|
868
981
|
archiveSourceFile,
|
|
869
982
|
};
|
|
870
|
-
const chunkProps = {
|
|
983
|
+
const chunkProps = {
|
|
984
|
+
...stripReservedSectionProperties(section.properties, {
|
|
985
|
+
kind: section.kind,
|
|
986
|
+
identity: `conversationIdentity=${conversationIdentity} archiveSha256=${archiveSha256}`,
|
|
987
|
+
}),
|
|
988
|
+
...baseProps,
|
|
989
|
+
};
|
|
871
990
|
const r = await dbSession.run(`CREATE (c:Section)
|
|
872
991
|
SET c = $props
|
|
873
992
|
WITH c
|
|
@@ -960,6 +1079,18 @@ async function ingestConversationDocument(params) {
|
|
|
960
1079
|
}
|
|
961
1080
|
finally {
|
|
962
1081
|
await dbSession.close();
|
|
1082
|
+
// Best-effort cleanup of the per-session turnText tempfile. Stale files
|
|
1083
|
+
// from aborted runs are benign (deterministic path; re-run overwrites);
|
|
1084
|
+
// we still try to remove on success to keep /tmp tidy. Logged on
|
|
1085
|
+
// failure so an operator debugging tmpdir pressure can see it.
|
|
1086
|
+
try {
|
|
1087
|
+
await unlink(cachePath);
|
|
1088
|
+
}
|
|
1089
|
+
catch (err) {
|
|
1090
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
1091
|
+
console.error(`[memory-ingest] turntext-cache-unlink-failed path=${cachePath} ` +
|
|
1092
|
+
`reason=${detail}`);
|
|
1093
|
+
}
|
|
963
1094
|
log("complete");
|
|
964
1095
|
}
|
|
965
1096
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-ingest.js","sourceRoot":"","sources":["../../src/tools/memory-ingest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-ingest.js","sourceRoot":"","sources":["../../src/tools/memory-ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,8 @@ The script exits 0 with one JSON line on stdout (see the shape below) or exits n
|
|
|
99
99
|
"firstMessageAt": "2024-01-15T09:30:00+00:00",
|
|
100
100
|
"lastMessageAt": "2024-01-15T17:42:00+00:00",
|
|
101
101
|
"lastMessageHash": "<sha256-hex>",
|
|
102
|
-
"turnText": "[2024-01-15T09:30:00+00:00] Joel: Morning\n[2024-01-15T09:31:00+00:00] Adam: hey\n..."
|
|
102
|
+
"turnText": "[2024-01-15T09:30:00+00:00] Joel: Morning\n[2024-01-15T09:31:00+00:00] Adam: hey\n...",
|
|
103
|
+
"turnTextPath": "/tmp/maxy-conversation-archive/<conversationIdentity>-<archiveSha256>/session-1.txt"
|
|
103
104
|
},
|
|
104
105
|
"..."
|
|
105
106
|
],
|
|
@@ -109,13 +110,15 @@ The script exits 0 with one JSON line on stdout (see the shape below) or exits n
|
|
|
109
110
|
|
|
110
111
|
**Empty-delta short-circuit.** When `delta.kind === "empty-delta"`, the `sessions` array is empty and `priorChunkCount` carries the existing chunk count. No `memory-ingest` calls are needed; jump to the operator messages section with a noop summary.
|
|
111
112
|
|
|
113
|
+
**`turnTextPath` is diagnostic only.** The bin writes each session's `turnText` to a deterministic tempfile at that path; the `memory-ingest` writer reconstructs the same path from `(conversationIdentity, archiveSha256, sessionIndex)` and reads it directly. The specialist does not pass `turnTextPath` to `memory-ingest`. The field is emitted so an operator can `ls /tmp/maxy-conversation-archive/` when debugging a stuck ingest.
|
|
114
|
+
|
|
112
115
|
## Step 3 — classify and write, one session per turn
|
|
113
116
|
|
|
114
117
|
For each `session` in the prepare JSON, in order:
|
|
115
118
|
|
|
116
119
|
1. **Read** the session's `turnText` (turn-attributed `[ISO timestamp] Sender: body\n…`).
|
|
117
120
|
|
|
118
|
-
2. **Produce a typed-section JSON chunking in-turn.** Split the turn text into topic-bounded `:Section` chunks following the standard ontology shape: each section carries `kind` (`Conversation` for a generic chunk, or a typed kind like `Topic` when the conversation explicitly establishes a typed entity), `title`, `
|
|
121
|
+
2. **Produce a typed-section JSON chunking in-turn.** Split the turn text into topic-bounded `:Section` chunks following the standard ontology shape: each section carries `kind` (`Conversation` for a generic chunk, or a typed kind like `Topic` when the conversation explicitly establishes a typed entity), `title`, `summary` (1-3 sentences, ≤500 chars), `sourceStart` / `sourceEnd` (char offsets into this session's `turnText`), `properties` (carry `firstMessageAt`, `lastMessageAt`, and `messageCount` from the session — or finer per-chunk slices when the chunking subdivides), and `anchorEdge: null` (chunks attach via the parent's `:HAS_SECTION` chain). **Do NOT emit `body`.** The writer slices `:Section.body` server-side from the bin's per-session tempfile using the `(sourceStart, sourceEnd)` offsets — Task 468 closed the same LLM-paraphrase vector Task 465 closed on the document path. Any `body` you emit is logged and ignored. Also produce a `documentKeywords` array of 3-8 topic keywords for the session, deduplicated across the archive.
|
|
119
122
|
|
|
120
123
|
3. **Call the `memory-ingest` MCP tool** with this session's payload (conversation-archive path):
|
|
121
124
|
|
|
@@ -124,11 +127,12 @@ For each `session` in the prepare JSON, in order:
|
|
|
124
127
|
- `archiveSha256` ← from the prepare JSON.
|
|
125
128
|
- `archiveSourceFile` ← from the prepare JSON.
|
|
126
129
|
- `archiveTitle` ← from the prepare JSON.
|
|
130
|
+
- `sessionIndex` ← `session.sessionIndex` from the prepare JSON. **Required** — the writer uses it together with `conversationIdentity` and `archiveSha256` to locate the per-session turnText tempfile and slice `:Section.body` server-side. Missing or non-integer values LOUD-FAIL.
|
|
127
131
|
- `participantElementIds` ← `[ownerElementId, ...participantElementIds]` from the prepare JSON (owner first).
|
|
128
132
|
- `anchorNodeId` ← `ownerElementId` from the prepare JSON.
|
|
129
133
|
- `anchorLabel` ← `"AdminUser"`.
|
|
130
134
|
- `documentSummary` ← `archiveTitle` (stable label).
|
|
131
|
-
- `sections` ← the typed-section JSON you produced.
|
|
135
|
+
- `sections` ← the typed-section JSON you produced (offsets only, no `body`).
|
|
132
136
|
- `documentKeywords` ← the topic keywords for this session.
|
|
133
137
|
- `lastIngestedMessageHash` ← `session.lastMessageHash`.
|
|
134
138
|
- `lastIngestedMessageAt` ← `session.lastMessageAt`.
|
|
@@ -147,7 +147,7 @@ Other (label fallback) | anchorEdge: null — section-kind closure mis
|
|
|
147
147
|
|
|
148
148
|
`orphanCandidates` is the list of entities you wanted to emit but could not natural-edge. Surface them so the ontology can grow.
|
|
149
149
|
|
|
150
|
-
**Chat mode.** Same top-level shape with every `sections[].kind = "Conversation"` and per-chunk
|
|
150
|
+
**Chat mode.** Same top-level shape with every `sections[].kind = "Conversation"`. `summary` is the per-section top-level field (already required by the schema) — the writer reads it from there and stamps `:Section.summary`. The `properties` bag is for non-authoritative per-chunk metadata only: `keywords`, `firstMessageAt`, `lastMessageAt`, `participantNames`, `messageCount`. The writer strips reserved writer-owned keys (`summary`, `title`, `body`, `bodyPreview`, `embedding`, provenance fields, etc.) from `properties` and logs the attempt — so duplicating an authoritative field into `properties` is a noisy no-op. Cover every message in chronological order with no gaps. Drop `anchorEdge` (always null) and `related`. Use the participant elementIds from § Participant confirmation; do not invent new ones.
|
|
151
151
|
|
|
152
152
|
**Chunking — long inputs.** For inputs > ~525K chars, work through the cached text in deterministic ~525K-char windows with ~17.5K-char overlap, emit sections per window, and merge same-kind boundary straddlers yourself before calling `memory-ingest`. Inputs > 682K chars in chat mode are too large to keep within one turn — abort with `cause:"input-too-large"` and ask the operator to sessionize the export before re-dispatch.
|
|
153
153
|
|
|
@@ -246,6 +246,14 @@ The operator always sees what was attempted and where it stopped.
|
|
|
246
246
|
|
|
247
247
|
For URL-based ingestion, run `memory-ingest-web` first with the URL and the WebFetch result. It writes the content to a temp file and routes through `memory-ingest-extract`, returning a fresh `attachmentId`. The rest of the pipeline (classify + ingest) is identical to a file upload. Pass `sourceUrl` and `sourceType: 'web'` to `memory-ingest`.
|
|
248
248
|
|
|
249
|
+
**Page title is mandatory input — parse it before the call.** `KnowledgeDocument.name` is what shows up everywhere the document is referenced (`pickShortLabel` / `pickDisplayName` check `name` first), so it must be an editorial title, never body prose. Before calling `memory-ingest-web`, scan the WebFetch result for the page's title and pass it as the `title` parameter:
|
|
250
|
+
|
|
251
|
+
- The readability output often starts with the page's `<title>` or `og:title` as a literal H1 (e.g. `# I am no longer the Official Representative for Reform UK`). Use that line verbatim — strip the leading `# ` and any trailing site name suffix (e.g. ` - Substack`, ` | Medium`).
|
|
252
|
+
- When the readability output strips the title entirely (rare; some publishers prefix the body with marketing chrome), look at the URL's final path segment — `…/i-am-no-longer-the-official-representative` is the slug the publisher chose for the article.
|
|
253
|
+
- Never invent a title from the article's opening paragraph. Body prose is exactly what this parameter exists to avoid.
|
|
254
|
+
|
|
255
|
+
The server's fallback chain when `title` is absent: markdown H1 in the cached text → URL-derived slug → the URL itself. The librarian's job is to make the `caller` branch the common case; the server-side fallbacks are last-resort, not the default path. The response includes `titleSource` (`caller` / `h1` / `url-slug` / `url`) so the operator can see which path fired.
|
|
256
|
+
|
|
249
257
|
**WebFetch limitation — subscriber-gated and JS-rendered pages (Substack, Medium-locked, paywalled news, gated PDFs, single-page apps).** `WebFetch` retrieves only the public, server-rendered surface. For gated articles the return is the meta-description / preview blurb / third-person summary that the publisher exposes to scrapers — not the author's original prose. Verbatim text is unrecoverable through this path. **Detect this before ingesting:** if the WebFetch result looks like a third-person synopsis of an article whose author would have written in first person, or carries publisher-summary framing (`# <Title> - Full Article Text` headers, marketing blurbs, "Subscribe to read"), abort the ingest and surface the gap to the dispatching agent in one line: *"WebFetch for `<url>` returned a publisher summary, not the article body. Ask the operator for a different input shape — for a Substack URL on the operator's own publication, use the `substack-import` plugin's export-archive flow (Substack admin → 'Export your data' → drop the ZIP); otherwise paste the article text into chat or attach a PDF / .txt export."* The dispatching agent relays this to the operator and re-dispatches with the pasted text, uploaded file, or Substack archive as the input. Do NOT proceed to `memory-ingest-web` with the summary — `:Section.body` will faithfully reproduce that summary downstream, defeating the verbatim-prose contract.
|
|
250
258
|
|
|
251
259
|
## Attachment metadata format
|
|
@@ -90,7 +90,7 @@ The user is:
|
|
|
90
90
|
|
|
91
91
|
| Skill | Purpose |
|
|
92
92
|
|-------|---------|
|
|
93
|
-
| `voice-mirror` | Capture the operator's voice from their own writing (`human-only` corpus) and condition agent drafts on it. Five tools: tag historical content (
|
|
93
|
+
| `voice-mirror` | Capture the operator's voice from their own writing (`human-only` corpus) and condition agent drafts on it. Five tools: tag historical content (operator supplies `format`), distil a per-format style card, retrieve conditioning for a drafting brief (requires `brief.format`), record operator edits as feedback, and auto-ingest PTY turns at SessionEnd. Other drafting skills (email composition, Postiz, property-brochure, prospectus) call it transparently — opt-out via `voiceMirror: false` in the calling skill's frontmatter. |
|
|
94
94
|
|
|
95
95
|
## Specialist Agent
|
|
96
96
|
|
|
@@ -106,8 +106,8 @@ Voice-mirror introduces five deterministic plugin tools. They route writes throu
|
|
|
106
106
|
|
|
107
107
|
| Tool | Purpose |
|
|
108
108
|
|------|---------|
|
|
109
|
-
| `voice-tag-content` | Stamp `authorshipMode ∈ {human-only, human-led-agent-assisted, agent-led-human-reviewed, agent-only, unknown}` and
|
|
110
|
-
| `voice-distil-profile` |
|
|
109
|
+
| `voice-tag-content` | Stamp `authorshipMode ∈ {human-only, human-led-agent-assisted, agent-led-human-reviewed, agent-only, unknown}` and `format ∈ {text, email, social-post, article, note, marketing-copy}` on one or many `:KnowledgeDocument | :Message | :SocialPost` nodes (email threads live as `:KnowledgeDocument {source:'email'}` since Task 321). Bulk-mode for backfill batches. `format` is required — the operator's editorial classification of the content. |
|
|
110
|
+
| `voice-distil-profile` | Three modes. `mode='sample'` (default) walks the operator's full `human-only` corpus for the given `format` and returns exemplars + recent edit intents for the agent to compose a style card; cadence-guarded (≥20% growth or ≥30 days). `mode='amend'` (Task 472) reads only `nodeIds` plus the existing `:VoiceProfile.styleCard` so the agent can decide whether named documents move the profile — operator-initiated, no cadence guard. `mode='write'` persists the YAML card; supply `amendedFromNodeIds` to attribute the write to specific documents (bypasses cadence + corpus walk). Trashed nodes are excluded from every walk. Omit `format` on `'sample'` to enumerate all formats in the corpus and distil each. |
|
|
111
111
|
| `voice-retrieve-conditioning` | Return `{styleCard, exemplars[]}` for a drafting brief. Requires `brief.format` (one of the six corpus formats). K=5 short-form (`brief.length:'short'`), K=15 long-form (`brief.length:'long'`). Token-budget bounded. Graceful degradation: empty profile → `{styleCard: null, exemplars: []}`. |
|
|
112
112
|
| `voice-record-feedback` | Capture an operator edit on an agent draft as a `:VoiceEdit {format}` with a Haiku-summarised `intent`, linked back to the operator's per-format `:VoiceProfile` via `:FEEDBACK_FOR`. Requires `format`. |
|
|
113
113
|
| `voice-ingest-session-text` | Ingest operator PTY turns from a JSONL transcript as `:Message {format:'text', authorshipMode:'human-only'}` corpus nodes. Deduplicates via SHA256 `contentHash`. Called by `voice-session-end-text.sh` at SessionEnd; not intended for direct agent invocation. |
|