@rubytech/create-maxy-code 0.1.161 → 0.1.164

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 (87) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/neo4j/edge-annotations.json +4 -0
  3. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  4. package/payload/platform/plugins/admin/PLUGIN.md +1 -6
  5. package/payload/platform/plugins/admin/hooks/lib/admin-graph-pass-common.sh +12 -15
  6. package/payload/platform/plugins/admin/mcp/dist/index.js +0 -41
  7. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  8. package/payload/platform/plugins/docs/references/platform.md +1 -1
  9. package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
  10. package/payload/platform/plugins/email/PLUGIN.md +8 -12
  11. package/payload/platform/plugins/email/mcp/dist/index.js +8 -34
  12. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  13. package/payload/platform/plugins/email/mcp/dist/lib/attachment-archive.d.ts +39 -0
  14. package/payload/platform/plugins/email/mcp/dist/lib/attachment-archive.d.ts.map +1 -0
  15. package/payload/platform/plugins/email/mcp/dist/lib/attachment-archive.js +0 -0
  16. package/payload/platform/plugins/email/mcp/dist/lib/attachment-archive.js.map +1 -0
  17. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.d.ts +23 -1
  18. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.d.ts.map +1 -1
  19. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.js +131 -3
  20. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-dispatch.js.map +1 -1
  21. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-lookup.d.ts +19 -0
  22. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-lookup.d.ts.map +1 -0
  23. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-lookup.js +51 -0
  24. package/payload/platform/plugins/email/mcp/dist/lib/conversation-archive-lookup.js.map +1 -0
  25. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts +0 -18
  26. package/payload/platform/plugins/email/mcp/dist/lib/graph.d.ts.map +1 -1
  27. package/payload/platform/plugins/email/mcp/dist/lib/graph.js +0 -12
  28. package/payload/platform/plugins/email/mcp/dist/lib/graph.js.map +1 -1
  29. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +88 -0
  30. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  31. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +189 -1
  32. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  33. package/payload/platform/plugins/email/mcp/dist/tools/email-fetch.d.ts.map +1 -1
  34. package/payload/platform/plugins/email/mcp/dist/tools/email-fetch.js +6 -1
  35. package/payload/platform/plugins/email/mcp/dist/tools/email-fetch.js.map +1 -1
  36. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.d.ts +7 -15
  37. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.d.ts.map +1 -1
  38. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.js +206 -86
  39. package/payload/platform/plugins/email/mcp/dist/tools/email-graph-query.js.map +1 -1
  40. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.d.ts.map +1 -1
  41. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.js +104 -4
  42. package/payload/platform/plugins/email/mcp/dist/tools/email-ingest.js.map +1 -1
  43. package/payload/platform/plugins/email/mcp/dist/tools/email-read.d.ts.map +1 -1
  44. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js +18 -12
  45. package/payload/platform/plugins/email/mcp/dist/tools/email-read.js.map +1 -1
  46. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.d.ts.map +1 -1
  47. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js +5 -4
  48. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js.map +1 -1
  49. package/payload/platform/plugins/email/mcp/dist/tools/email-search.d.ts.map +1 -1
  50. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js +13 -12
  51. package/payload/platform/plugins/email/mcp/dist/tools/email-search.js.map +1 -1
  52. package/payload/platform/plugins/email/references/email-reference.md +8 -8
  53. package/payload/platform/plugins/memory/.claude-plugin/plugin.json +1 -1
  54. package/payload/platform/plugins/memory/PLUGIN.md +2 -2
  55. package/payload/platform/plugins/memory/mcp/dist/index.js +4 -3
  56. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  57. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js +1 -13
  58. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.d.ts.map +1 -1
  60. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.js +3 -5
  61. package/payload/platform/plugins/memory/mcp/dist/lib/kd-classify-gate.js.map +1 -1
  62. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts +1 -1
  63. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts.map +1 -1
  64. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js +10 -4
  65. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js.map +1 -1
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-brain-capture-recent.d.ts.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/memory-brain-capture-recent.js +5 -6
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-brain-capture-recent.js.map +1 -1
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +21 -4
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +6 -8
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  74. package/payload/platform/plugins/memory/references/schema-base.md +2 -1
  75. package/payload/platform/plugins/memory/references/transcript-formats/circleback.md +49 -0
  76. package/payload/platform/plugins/memory/references/transcript-formats/granola.md +50 -0
  77. package/payload/platform/plugins/memory/references/transcript-formats/otter.md +50 -0
  78. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +1 -0
  79. package/payload/platform/plugins/memory/skills/conversation-archive-mcp/SKILL.md +170 -0
  80. package/payload/platform/plugins/whatsapp/PLUGIN.md +1 -1
  81. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +3 -4
  82. package/payload/platform/scripts/seed-neo4j.sh +1 -3
  83. package/payload/platform/templates/specialists/agents/librarian.md +1 -0
  84. package/payload/platform/plugins/admin/hooks/__tests__/per-turn-graph-pass-gate.test.sh +0 -361
  85. package/payload/platform/plugins/admin/hooks/__tests__/pre-turn-graph-pass.test.sh +0 -441
  86. package/payload/platform/plugins/admin/hooks/per-turn-graph-pass-gate.sh +0 -106
  87. package/payload/platform/plugins/admin/hooks/pre-turn-graph-pass.sh +0 -171
@@ -13,18 +13,6 @@ export function stripAngleBrackets(value) {
13
13
  }
14
14
  return trimmed;
15
15
  }
16
- export async function getMessageEnvelope(_messageId, _accountId) {
17
- // Task 442 — sourcing per-message envelopes from IMAP, not the graph.
18
- return null;
19
- }
20
- export async function getThreadInfo(_messageIds, _accountId) {
21
- // Task 442 — per-message thread-depth lookup requires per-message nodes
22
- // the new `:ConversationArchive` shape does not store.
23
- return new Map();
24
- }
25
- // Re-export neo4j so consumers depending on the legacy module surface keep
26
- // working without churn. The actual neo4j-driver usage is now in
27
- // conversation-archive-dispatch.ts.
28
16
  export { neo4j };
29
17
  export { getSession };
30
18
  //# sourceMappingURL=graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/lib/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,MAAM,cAAc,CAAC;AAmCjC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,UAAkB;IAElB,sEAAsE;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAqB,EACrB,UAAkB;IAElB,wEAAwE;IACxE,uDAAuD;IACvD,OAAO,IAAI,GAAG,EAAE,CAAC;AACnB,CAAC;AAED,2EAA2E;AAC3E,iEAAiE;AACjE,oCAAoC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/lib/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,MAAM,cAAc,CAAC;AAuCjC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -28,6 +28,71 @@ export declare function resolveFolderName(client: ImapFlow, folder: "inbox" | "s
28
28
  * Used for extracting readable text from HTML-only email bodies.
29
29
  */
30
30
  export declare function stripHtml(html: string): string;
31
+ /** Hard cap on a single attachment's bytes — over this size, metadata is surfaced
32
+ * but bytes are not downloaded. Matches typical provider send limits. */
33
+ export declare const MAX_ATTACHMENT_BYTES: number;
34
+ /** Attachment metadata as derived from IMAP bodyStructure — no bytes. */
35
+ export interface AttachmentMeta {
36
+ /** IMAP body part key, e.g. "2" or "1.3". Used to fetch bytes later. */
37
+ partKey: string;
38
+ filename: string;
39
+ mimeType: string;
40
+ sizeBytes: number;
41
+ /** RFC 2045 transfer encoding — needed to decode bytes at fetch time. */
42
+ encoding: string | null;
43
+ }
44
+ /**
45
+ * Body-structure node shape (subset of ImapFlow's BodyStructure).
46
+ * Defined locally because ImapFlow does not export a public type for this.
47
+ */
48
+ interface BodyStructureNode {
49
+ part?: string;
50
+ type?: string;
51
+ encoding?: string;
52
+ size?: number;
53
+ disposition?: string;
54
+ dispositionParameters?: {
55
+ filename?: string;
56
+ };
57
+ parameters?: {
58
+ name?: string;
59
+ };
60
+ childNodes?: BodyStructureNode[];
61
+ }
62
+ /**
63
+ * Walk an IMAP bodyStructure and return metadata for every attachment-shaped
64
+ * part. No bytes are downloaded — cheap, runs at preview time.
65
+ *
66
+ * An attachment-shaped part is one of:
67
+ * - disposition === "attachment" (RFC 2183), OR
68
+ * - has a filename in parameters.name or dispositionParameters.filename AND
69
+ * is not a multipart container.
70
+ *
71
+ * Inline parts without a filename (e.g. the message body) are excluded.
72
+ */
73
+ export declare function walkAttachmentMetadata(structure: BodyStructureNode | undefined): AttachmentMeta[];
74
+ /**
75
+ * Result of attempting to fetch one attachment's bytes from IMAP.
76
+ * `bytes === null` indicates a non-fatal failure (oversize, short buffer,
77
+ * fetch error) — the caller surfaces metadata-only graph attach instead.
78
+ */
79
+ export interface AttachmentBytesResult {
80
+ uid: number;
81
+ partKey: string;
82
+ bytes: Buffer | null;
83
+ failureReason: "oversize" | "short-buffer" | "fetch-error" | null;
84
+ }
85
+ /**
86
+ * Download decoded bytes for a list of (uid, partKey) attachments from IMAP.
87
+ * Opens one connection, reuses it across all requests. Per-attachment
88
+ * failures are isolated — one bad part does not abort the batch.
89
+ */
90
+ export declare function fetchAttachmentBytesForMessages(config: EmailConfig, password: string, requests: Array<{
91
+ uid: number;
92
+ partKey: string;
93
+ expectedSize: number;
94
+ encoding: string | null;
95
+ }>): Promise<AttachmentBytesResult[]>;
31
96
  /**
32
97
  * Decode a raw IMAP body part buffer according to its transfer encoding.
33
98
  * Returns a UTF-8 string. Falls back to raw UTF-8 for unknown encodings.
@@ -148,6 +213,8 @@ export interface FetchedEmail {
148
213
  subject: string;
149
214
  date: string;
150
215
  bodyPreview: string;
216
+ /** Attachment metadata derived from bodyStructure; bytes downloaded later. */
217
+ attachments: AttachmentMeta[];
151
218
  }
152
219
  /**
153
220
  * Fetch emails from INBOX since a given UID (exclusive) for incremental polling.
@@ -164,6 +231,26 @@ export declare function fetchSinceUid(config: EmailConfig, password: string, sin
164
231
  emails: FetchedEmail[];
165
232
  maxUid: number;
166
233
  }>;
234
+ /**
235
+ * Resolve an envelope by Message-ID via IMAP. Searches INBOX first, then
236
+ * the \Sent special-use folder. Returns null when no folder yields a hit.
237
+ *
238
+ * Uses `header: { "message-id": ... }` IMAP SEARCH — sufficient on every
239
+ * server that honours RFC 3501 header search. The Message-ID is sent with
240
+ * angle brackets restored because some servers (notably Gmail) only match
241
+ * the raw header value, not the bare identifier.
242
+ */
243
+ export declare function fetchEnvelopeByMessageId(config: EmailConfig, password: string, messageId: string): Promise<{
244
+ uid: number;
245
+ mailbox: string;
246
+ messageId: string;
247
+ fromAddress: string;
248
+ fromName: string | null;
249
+ toAddresses: string[];
250
+ ccAddresses: string[];
251
+ subject: string;
252
+ date: string;
253
+ } | null>;
167
254
  /**
168
255
  * Get the inbox message count.
169
256
  */
@@ -212,4 +299,5 @@ export declare function fetchForAutoRespond(config: EmailConfig, password: strin
212
299
  agentAddress: string;
213
300
  limit?: number;
214
301
  }): Promise<AutoRespondMessage[]>;
302
+ export {};
215
303
  //# sourceMappingURL=imap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imap.d.ts","sourceRoot":"","sources":["../../src/lib/imap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imap.d.ts","sourceRoot":"","sources":["../../src/lib/imap.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,122 @@ export function stripHtml(html) {
81
81
  const BODY_MAX_BYTES = 4096;
82
82
  /** Max characters for body preview in tool output. */
83
83
  const BODY_PREVIEW_LENGTH = 500;
84
+ /** Hard cap on a single attachment's bytes — over this size, metadata is surfaced
85
+ * but bytes are not downloaded. Matches typical provider send limits. */
86
+ export const MAX_ATTACHMENT_BYTES = 25 * 1024 * 1024;
87
+ /**
88
+ * Walk an IMAP bodyStructure and return metadata for every attachment-shaped
89
+ * part. No bytes are downloaded — cheap, runs at preview time.
90
+ *
91
+ * An attachment-shaped part is one of:
92
+ * - disposition === "attachment" (RFC 2183), OR
93
+ * - has a filename in parameters.name or dispositionParameters.filename AND
94
+ * is not a multipart container.
95
+ *
96
+ * Inline parts without a filename (e.g. the message body) are excluded.
97
+ */
98
+ export function walkAttachmentMetadata(structure) {
99
+ if (!structure)
100
+ return [];
101
+ const out = [];
102
+ const visit = (node) => {
103
+ if (node.childNodes && node.childNodes.length > 0) {
104
+ for (const child of node.childNodes)
105
+ visit(child);
106
+ return;
107
+ }
108
+ const filename = node.dispositionParameters?.filename?.trim() ||
109
+ node.parameters?.name?.trim() ||
110
+ "";
111
+ const isAttachmentDisposition = typeof node.disposition === "string" &&
112
+ node.disposition.toLowerCase() === "attachment";
113
+ const isMultipart = typeof node.type === "string" && node.type.toLowerCase().startsWith("multipart/");
114
+ if (isMultipart)
115
+ return;
116
+ if (!isAttachmentDisposition && !filename)
117
+ return;
118
+ if (!node.part)
119
+ return; // can't fetch bytes without a part key
120
+ out.push({
121
+ partKey: node.part,
122
+ filename: filename || `unnamed-${node.part}`,
123
+ mimeType: (node.type ?? "application/octet-stream").toLowerCase(),
124
+ sizeBytes: typeof node.size === "number" ? node.size : 0,
125
+ encoding: node.encoding ?? null,
126
+ });
127
+ };
128
+ visit(structure);
129
+ return out;
130
+ }
131
+ /**
132
+ * Download decoded bytes for a list of (uid, partKey) attachments from IMAP.
133
+ * Opens one connection, reuses it across all requests. Per-attachment
134
+ * failures are isolated — one bad part does not abort the batch.
135
+ */
136
+ export async function fetchAttachmentBytesForMessages(config, password, requests) {
137
+ if (requests.length === 0)
138
+ return [];
139
+ const client = createClient(config, password);
140
+ const results = [];
141
+ try {
142
+ await client.connect();
143
+ const lock = await client.getMailboxLock("INBOX");
144
+ try {
145
+ for (const req of requests) {
146
+ if (req.expectedSize > MAX_ATTACHMENT_BYTES) {
147
+ diag("fetchAttachmentBytes", "oversize", `uid=${req.uid} part=${req.partKey} size=${req.expectedSize} cap=${MAX_ATTACHMENT_BYTES}`);
148
+ results.push({ uid: req.uid, partKey: req.partKey, bytes: null, failureReason: "oversize" });
149
+ continue;
150
+ }
151
+ try {
152
+ const { content } = await client.download(String(req.uid), req.partKey, { uid: true });
153
+ if (!content) {
154
+ diag("fetchAttachmentBytes", "no-stream", `uid=${req.uid} part=${req.partKey}`);
155
+ results.push({ uid: req.uid, partKey: req.partKey, bytes: null, failureReason: "fetch-error" });
156
+ continue;
157
+ }
158
+ const chunks = [];
159
+ let total = 0;
160
+ let overflow = false;
161
+ for await (const chunk of content) {
162
+ const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
163
+ total += buf.length;
164
+ if (total > MAX_ATTACHMENT_BYTES) {
165
+ overflow = true;
166
+ break;
167
+ }
168
+ chunks.push(buf);
169
+ }
170
+ if (overflow) {
171
+ diag("fetchAttachmentBytes", "stream-oversize", `uid=${req.uid} part=${req.partKey} streamed=${total}`);
172
+ results.push({ uid: req.uid, partKey: req.partKey, bytes: null, failureReason: "oversize" });
173
+ continue;
174
+ }
175
+ // ImapFlow's download() returns already-decoded bytes when given a
176
+ // partKey, so we do not re-decode against `encoding` here.
177
+ const bytes = Buffer.concat(chunks);
178
+ if (req.expectedSize > 0 && bytes.length === 0) {
179
+ diag("fetchAttachmentBytes", "short-buffer", `uid=${req.uid} part=${req.partKey} expected=${req.expectedSize} got=0`);
180
+ results.push({ uid: req.uid, partKey: req.partKey, bytes: null, failureReason: "short-buffer" });
181
+ continue;
182
+ }
183
+ results.push({ uid: req.uid, partKey: req.partKey, bytes, failureReason: null });
184
+ }
185
+ catch (err) {
186
+ diag("fetchAttachmentBytes", "fetch-error", `uid=${req.uid} part=${req.partKey} ${err instanceof Error ? err.message : String(err)}`);
187
+ results.push({ uid: req.uid, partKey: req.partKey, bytes: null, failureReason: "fetch-error" });
188
+ }
189
+ }
190
+ }
191
+ finally {
192
+ lock.release();
193
+ }
194
+ }
195
+ finally {
196
+ await safeLogout(client);
197
+ }
198
+ return results;
199
+ }
84
200
  /**
85
201
  * Decode a raw IMAP body part buffer according to its transfer encoding.
86
202
  * Returns a UTF-8 string. Falls back to raw UTF-8 for unknown encodings.
@@ -528,7 +644,8 @@ export async function fetchSinceUid(config, password, sinceUid, recipientAddress
528
644
  const toAddresses = (msg.envelope?.to ?? []).map((a) => a.address).filter((a) => !!a);
529
645
  const ccAddresses = (msg.envelope?.cc ?? []).map((a) => a.address).filter((a) => !!a);
530
646
  const bodyPreview = extractBodyFromFetch(msg);
531
- emails.push({ uid, messageId, inReplyTo, toAddresses, ccAddresses, fromAddress: fromAddr, fromName, subject, date, bodyPreview });
647
+ const attachments = walkAttachmentMetadata(msg.bodyStructure);
648
+ emails.push({ uid, messageId, inReplyTo, toAddresses, ccAddresses, fromAddress: fromAddr, fromName, subject, date, bodyPreview, attachments });
532
649
  }
533
650
  diag("fetchSinceUid", "fetch done", `${emails.length} emails (maxUid=${maxUid}) in ${Date.now() - t2}ms (total ${Date.now() - t0}ms)`);
534
651
  return { uidValidity, emails, maxUid };
@@ -541,6 +658,77 @@ export async function fetchSinceUid(config, password, sinceUid, recipientAddress
541
658
  await safeLogout(client);
542
659
  }
543
660
  }
661
+ /**
662
+ * Resolve an envelope by Message-ID via IMAP. Searches INBOX first, then
663
+ * the \Sent special-use folder. Returns null when no folder yields a hit.
664
+ *
665
+ * Uses `header: { "message-id": ... }` IMAP SEARCH — sufficient on every
666
+ * server that honours RFC 3501 header search. The Message-ID is sent with
667
+ * angle brackets restored because some servers (notably Gmail) only match
668
+ * the raw header value, not the bare identifier.
669
+ */
670
+ export async function fetchEnvelopeByMessageId(config, password, messageId) {
671
+ const cleanId = messageId.replace(/^<|>$/g, "");
672
+ const needle = `<${cleanId}>`;
673
+ const client = createClient(config, password);
674
+ const t0 = Date.now();
675
+ diag("fetchEnvelopeByMessageId", "start", `messageId=${cleanId}`);
676
+ try {
677
+ await client.connect();
678
+ diag("fetchEnvelopeByMessageId", "connected", `${Date.now() - t0}ms`);
679
+ const folders = ["INBOX"];
680
+ try {
681
+ const sentPath = await resolveFolderName(client, "sent");
682
+ folders.push(sentPath);
683
+ }
684
+ catch {
685
+ // No \Sent folder advertised — only search INBOX.
686
+ }
687
+ for (const folderPath of folders) {
688
+ const lock = await client.getMailboxLock(folderPath);
689
+ try {
690
+ const uids = await client.search({ header: { "message-id": needle } }, { uid: true });
691
+ if (!uids || uids.length === 0)
692
+ continue;
693
+ const uid = uids[0];
694
+ for await (const msg of client.fetch(String(uid), { envelope: true, uid: true }, { uid: true })) {
695
+ const env = msg.envelope ?? {};
696
+ const fromAddr = env.from?.[0]?.address ?? "";
697
+ if (!fromAddr)
698
+ continue;
699
+ diag("fetchEnvelopeByMessageId", "match", `folder=${folderPath} uid=${msg.uid} in ${Date.now() - t0}ms`);
700
+ return {
701
+ uid: msg.uid,
702
+ mailbox: folderPath,
703
+ messageId: env.messageId ?? messageId,
704
+ fromAddress: fromAddr,
705
+ fromName: env.from?.[0]?.name ?? null,
706
+ toAddresses: (env.to ?? [])
707
+ .map((a) => a.address)
708
+ .filter((a) => !!a),
709
+ ccAddresses: (env.cc ?? [])
710
+ .map((a) => a.address)
711
+ .filter((a) => !!a),
712
+ subject: env.subject ?? "",
713
+ date: env.date?.toISOString() ?? "",
714
+ };
715
+ }
716
+ }
717
+ finally {
718
+ lock.release();
719
+ }
720
+ }
721
+ diag("fetchEnvelopeByMessageId", "no-match", `searched=${folders.join(",")} in ${Date.now() - t0}ms`);
722
+ return null;
723
+ }
724
+ catch (err) {
725
+ diag("fetchEnvelopeByMessageId", "FAILED", `${err instanceof Error ? err.message : String(err)} after ${Date.now() - t0}ms`);
726
+ throw err;
727
+ }
728
+ finally {
729
+ await safeLogout(client);
730
+ }
731
+ }
544
732
  /**
545
733
  * Get the inbox message count.
546
734
  */
@@ -1 +1 @@
1
- {"version":3,"file":"imap.js","sourceRoot":"","sources":["../../src/lib/imap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imap.js","sourceRoot":"","sources":["../../src/lib/imap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/email-fetch.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CrE"}
1
+ {"version":3,"file":"email-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/email-fetch.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAoDrE"}
@@ -37,7 +37,12 @@ export async function emailFetch(params) {
37
37
  `Date: ${m.date}`,
38
38
  ].join("\n");
39
39
  const body = m.bodyPreview ? `\n\n${m.bodyPreview}` : "";
40
- return `${header}${body}\n---`;
40
+ const attachLine = m.attachments.length > 0
41
+ ? `\n\nAttachments (${m.attachments.length}): ${m.attachments
42
+ .map((a) => `${a.filename} (${a.mimeType}, ${a.sizeBytes} bytes)`)
43
+ .join("; ")}`
44
+ : "";
45
+ return `${header}${body}${attachLine}\n---`;
41
46
  }).join("\n\n");
42
47
  const footer = [
43
48
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/tools/email-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOlD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAChD,CAAC;IAEF,OAAO,CAAC,KAAK,CACX,wCAAwC,MAAM,CAAC,MAAM,aAAa,QAAQ,EAAE,CAC7E,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,6BAA6B,QAAQ,GAAG,CAAC;IAClD,CAAC;IAED,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;QACzB,WAAW;QACX,MAAM;QACN,gBAAgB,EAAE,MAAM,CAAC,YAAY;QACrC,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG;YACb,QAAQ,CAAC,CAAC,GAAG,EAAE;YACf,eAAe,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAC3C,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC1E,YAAY,CAAC,CAAC,OAAO,EAAE;YACvB,SAAS,CAAC,CAAC,IAAI,EAAE;SAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,GAAG,MAAM,GAAG,IAAI,OAAO,CAAC;IACjC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG;QACb,EAAE;QACF,UAAU,MAAM,CAAC,MAAM,6BAA6B,QAAQ,0CAA0C;QACtG,4HAA4H;KAC7H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/tools/email-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOlD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAChD,CAAC;IAEF,OAAO,CAAC,KAAK,CACX,wCAAwC,MAAM,CAAC,MAAM,aAAa,QAAQ,EAAE,CAC7E,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,6BAA6B,QAAQ,GAAG,CAAC;IAClD,CAAC;IAED,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;QACzB,WAAW;QACX,MAAM;QACN,gBAAgB,EAAE,MAAM,CAAC,YAAY;QACrC,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG;YACb,QAAQ,CAAC,CAAC,GAAG,EAAE;YACf,eAAe,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAC3C,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC1E,YAAY,CAAC,CAAC,OAAO,EAAE;YACvB,SAAS,CAAC,CAAC,IAAI,EAAE;SAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,MAAM,MAAM,CAAC,CAAC,WAAW;iBACxD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC;iBACjE,IAAI,CAAC,IAAI,CAAC,EAAE;YACjB,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,OAAO,CAAC;IAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG;QACb,EAAE;QACF,UAAU,MAAM,CAAC,MAAM,6BAA6B,QAAQ,0CAA0C;QACtG,4HAA4H;KAC7H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC"}
@@ -4,28 +4,20 @@ interface GraphQueryParams {
4
4
  sender?: string;
5
5
  dateFrom?: string;
6
6
  dateTo?: string;
7
- /**
8
- * direction filter:
9
- * - "inbound" → threads whose first message was received
10
- * - "outbound" → KDs created by send/reply (sender was the operator)
11
- * Implementation note: outbound vs inbound is decided by whether the KD
12
- * has a `direction:'outbound'` property. Mixed threads (operator both
13
- * sent and received messages) appear under whichever direction matches
14
- * their first message.
15
- */
16
- direction?: "inbound" | "outbound";
17
7
  offset?: number;
18
8
  limit?: number;
19
9
  }
20
10
  /**
21
- * Query email-source :KnowledgeDocument threads stored in the graph.
11
+ * Query stored email-thread `:ConversationArchive` rows in the graph.
22
12
  *
23
13
  * Two modes:
24
- * - List (no query): Cypher MATCH with optional filters, sorted by lastReceivedAt DESC
25
- * - Search (query provided): embed via Ollama, vector similarity on KD embedding index
14
+ * - List (no query): MATCH archives with optional sender + date filters,
15
+ * sorted by lastMessageAt DESC.
16
+ * - Search (query provided): embed via Ollama, run vector similarity over
17
+ * `:Section` chunks, dedup to parent archives, rank by best section.
26
18
  *
27
- * Always scoped to accountId. The display surface is per-thread, not
28
- * per-message the KD body holds the verbatim chronological transcript.
19
+ * Always scoped to (accountId, source='email'). The display surface is
20
+ * per-archive; per-message envelopes are not stored Task 445.
29
21
  */
30
22
  export declare function emailGraphQuery(params: GraphQueryParams): Promise<string>;
31
23
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"email-graph-query.d.ts","sourceRoot":"","sources":["../../src/tools/email-graph-query.ts"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC/E"}
1
+ {"version":3,"file":"email-graph-query.d.ts","sourceRoot":"","sources":["../../src/tools/email-graph-query.ts"],"names":[],"mappings":"AAiBA,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoC/E"}