@rndmjoker/proton-mcp 0.4.7 → 0.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -21
- package/dist/bridge/certificate.d.ts +33 -1
- package/dist/bridge/certificate.js +82 -9
- package/dist/bridge/certificate.js.map +1 -1
- package/dist/bridge/connection.js +31 -6
- package/dist/bridge/connection.js.map +1 -1
- package/dist/bridge/errors.d.ts +8 -0
- package/dist/bridge/errors.js +28 -3
- package/dist/bridge/errors.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/credentials/availability.d.ts +5 -0
- package/dist/credentials/availability.js +7 -0
- package/dist/credentials/availability.js.map +1 -1
- package/dist/credentials/encrypted-file.js +7 -2
- package/dist/credentials/encrypted-file.js.map +1 -1
- package/dist/credentials/keyring.d.ts +12 -2
- package/dist/credentials/keyring.js +44 -6
- package/dist/credentials/keyring.js.map +1 -1
- package/dist/credentials/plain-file.js +8 -2
- package/dist/credentials/plain-file.js.map +1 -1
- package/dist/credentials/session-bus.d.ts +38 -0
- package/dist/credentials/session-bus.js +68 -0
- package/dist/credentials/session-bus.js.map +1 -0
- package/dist/credentials/store.d.ts +5 -1
- package/dist/credentials/store.js.map +1 -1
- package/dist/in-flight.d.ts +6 -3
- package/dist/in-flight.js +6 -3
- package/dist/in-flight.js.map +1 -1
- package/dist/mail/actions.d.ts +0 -2
- package/dist/mail/actions.js +8 -7
- package/dist/mail/actions.js.map +1 -1
- package/dist/mail/attachments.d.ts +12 -2
- package/dist/mail/attachments.js +19 -11
- package/dist/mail/attachments.js.map +1 -1
- package/dist/mail/compose.d.ts +70 -15
- package/dist/mail/compose.js +147 -11
- package/dist/mail/compose.js.map +1 -1
- package/dist/mail/drafts.d.ts +28 -2
- package/dist/mail/drafts.js +91 -21
- package/dist/mail/drafts.js.map +1 -1
- package/dist/mail/ids.d.ts +10 -0
- package/dist/mail/ids.js +16 -4
- package/dist/mail/ids.js.map +1 -1
- package/dist/mail/labels.js +9 -4
- package/dist/mail/labels.js.map +1 -1
- package/dist/mail/messages.d.ts +50 -10
- package/dist/mail/messages.js +94 -6
- package/dist/mail/messages.js.map +1 -1
- package/dist/mail/saved-attachments.d.ts +128 -0
- package/dist/mail/saved-attachments.js +448 -0
- package/dist/mail/saved-attachments.js.map +1 -0
- package/dist/mail/search.d.ts +73 -5
- package/dist/mail/search.js +150 -27
- package/dist/mail/search.js.map +1 -1
- package/dist/mail/send.js +24 -9
- package/dist/mail/send.js.map +1 -1
- package/dist/mail/uid-search.d.ts +17 -0
- package/dist/mail/uid-search.js +25 -0
- package/dist/mail/uid-search.js.map +1 -0
- package/dist/mime/filenames.d.ts +24 -0
- package/dist/mime/filenames.js +58 -0
- package/dist/mime/filenames.js.map +1 -0
- package/dist/mime/parts.d.ts +34 -0
- package/dist/mime/parts.js +92 -0
- package/dist/mime/parts.js.map +1 -0
- package/dist/server.js +39 -8
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +15 -3
- package/dist/session.js +35 -8
- package/dist/session.js.map +1 -1
- package/dist/tools/actions.js +2 -1
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/confirm.js +47 -11
- package/dist/tools/confirm.js.map +1 -1
- package/dist/tools/drafts.d.ts +3 -0
- package/dist/tools/drafts.js +31 -10
- package/dist/tools/drafts.js.map +1 -1
- package/dist/tools/format.d.ts +8 -0
- package/dist/tools/format.js +44 -6
- package/dist/tools/format.js.map +1 -1
- package/dist/tools/guidance.js +27 -3
- package/dist/tools/guidance.js.map +1 -1
- package/dist/tools/messages.js +41 -13
- package/dist/tools/messages.js.map +1 -1
- package/dist/tools/pending-view.d.ts +7 -0
- package/dist/tools/pending-view.js +4 -1
- package/dist/tools/pending-view.js.map +1 -1
- package/dist/tools/saved.d.ts +15 -0
- package/dist/tools/saved.js +107 -0
- package/dist/tools/saved.js.map +1 -0
- package/dist/tools/send.js +12 -4
- package/dist/tools/send.js.map +1 -1
- package/dist/web/layout.js +2 -0
- package/dist/web/layout.js.map +1 -1
- package/dist/web/pages.js +1 -0
- package/dist/web/pages.js.map +1 -1
- package/dist/web/pending.d.ts +4 -0
- package/dist/web/pending.js +32 -4
- package/dist/web/pending.js.map +1 -1
- package/dist/web/server.d.ts +16 -5
- package/dist/web/server.js +12 -8
- package/dist/web/server.js.map +1 -1
- package/package.json +21 -18
package/dist/mail/drafts.d.ts
CHANGED
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
*/
|
|
41
41
|
import type { Connection } from '../bridge/connection.js';
|
|
42
42
|
import { type ListResult } from './messages.js';
|
|
43
|
+
import type { MarkupLevel } from './markup.js';
|
|
43
44
|
import { type Draft, type Recipient } from './compose.js';
|
|
44
45
|
/** The one mailbox this module writes to. */
|
|
45
46
|
export declare const DRAFTS = "Drafts";
|
|
@@ -57,6 +58,16 @@ export interface DraftInput {
|
|
|
57
58
|
subject?: string | undefined;
|
|
58
59
|
text?: string | undefined;
|
|
59
60
|
html?: string | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* How much markup the body may carry. Absent means `standard`.
|
|
63
|
+
*
|
|
64
|
+
* This field was missing while every draft tool already declared it in its
|
|
65
|
+
* input schema, so a caller asking for `extended` was validated against
|
|
66
|
+
* `standard` and refused with a message naming the level it had just asked
|
|
67
|
+
* for. Because a variable rather than an object literal is passed in, excess
|
|
68
|
+
* property checking never flagged it.
|
|
69
|
+
*/
|
|
70
|
+
markupLevel?: MarkupLevel | undefined;
|
|
60
71
|
}
|
|
61
72
|
export interface DraftResult {
|
|
62
73
|
messageId: string;
|
|
@@ -66,8 +77,19 @@ export interface DraftResult {
|
|
|
66
77
|
bcc: Recipient[];
|
|
67
78
|
/** Its uid in "Drafts". Valid until the draft is replaced. */
|
|
68
79
|
uid: number;
|
|
69
|
-
/**
|
|
70
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Set when a whole message was carried along, as with a forward.
|
|
82
|
+
*
|
|
83
|
+
* Two things, kept apart because they were confused up to 0.4.11: the one
|
|
84
|
+
* file this server attached, and the attachments travelling inside it. The
|
|
85
|
+
* answer used to name the first as if it were the second.
|
|
86
|
+
*/
|
|
87
|
+
attachedOriginal?: {
|
|
88
|
+
filename: string;
|
|
89
|
+
carries: string[];
|
|
90
|
+
};
|
|
91
|
+
/** Files that were stored with the draft and stay with it. */
|
|
92
|
+
keptFiles?: string[];
|
|
71
93
|
}
|
|
72
94
|
/** Creates a draft from scratch. */
|
|
73
95
|
export declare function createDraft(connection: Connection, readOnly: boolean, fromAddress: string, input: DraftInput): Promise<DraftResult>;
|
|
@@ -94,12 +116,14 @@ export declare function buildReplyDraft(connection: Connection, fromAddress: str
|
|
|
94
116
|
all?: boolean;
|
|
95
117
|
mailbox?: string;
|
|
96
118
|
html?: string;
|
|
119
|
+
markupLevel?: MarkupLevel;
|
|
97
120
|
}): Promise<Draft>;
|
|
98
121
|
/** Prepares a reply and stores it as a draft. */
|
|
99
122
|
export declare function replyDraft(connection: Connection, readOnly: boolean, fromAddress: string, messageId: string, text: string, options?: {
|
|
100
123
|
all?: boolean;
|
|
101
124
|
mailbox?: string;
|
|
102
125
|
html?: string;
|
|
126
|
+
markupLevel?: MarkupLevel;
|
|
103
127
|
}): Promise<DraftResult>;
|
|
104
128
|
/**
|
|
105
129
|
* Prepares a forward as a draft.
|
|
@@ -112,11 +136,13 @@ export declare function replyDraft(connection: Connection, readOnly: boolean, fr
|
|
|
112
136
|
export declare function buildForwardDraft(connection: Connection, fromAddress: string, messageId: string, to: string[], text: string, options?: {
|
|
113
137
|
mailbox?: string;
|
|
114
138
|
html?: string;
|
|
139
|
+
markupLevel?: MarkupLevel;
|
|
115
140
|
}): Promise<Draft>;
|
|
116
141
|
/** Prepares a forward and stores it as a draft. */
|
|
117
142
|
export declare function forwardDraft(connection: Connection, readOnly: boolean, fromAddress: string, messageId: string, to: string[], text: string, options?: {
|
|
118
143
|
mailbox?: string;
|
|
119
144
|
html?: string;
|
|
145
|
+
markupLevel?: MarkupLevel;
|
|
120
146
|
}): Promise<DraftResult>;
|
|
121
147
|
/** The drafts that are there. Reading only. */
|
|
122
148
|
export declare function listDrafts(connection: Connection, options?: {
|
package/dist/mail/drafts.js
CHANGED
|
@@ -41,8 +41,10 @@
|
|
|
41
41
|
import { BridgeError } from '../bridge/errors.js';
|
|
42
42
|
import { normaliseMessageId, findByMessageId } from './ids.js';
|
|
43
43
|
import { getMessage, listMessages } from './messages.js';
|
|
44
|
-
import { htmlToText } from '../mime/parse.js';
|
|
45
|
-
import {
|
|
44
|
+
import { htmlToText, parseMessage } from '../mime/parse.js';
|
|
45
|
+
import { readParts } from '../mime/parts.js';
|
|
46
|
+
import { forwardedFileName } from '../mime/filenames.js';
|
|
47
|
+
import { allRecipients, assertDeliverable, buildMessage, FORWARD_HEADER, mintMessageId, parseRecipient, parseRecipients, escapeHtml, prefixSubject, quote, quoteAsHtml, quoteBody, } from './compose.js';
|
|
46
48
|
/** The one mailbox this module writes to. */
|
|
47
49
|
export const DRAFTS = 'Drafts';
|
|
48
50
|
/**
|
|
@@ -104,6 +106,24 @@ async function findDraft(connection, messageId) {
|
|
|
104
106
|
return { uid, flags: message && message.flags ? message.flags : new Set() };
|
|
105
107
|
});
|
|
106
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* A stored draft as it lies in Drafts.
|
|
111
|
+
*
|
|
112
|
+
* The headers are read as everywhere else. Body and files come from readParts
|
|
113
|
+
* rather than from mailparser, which writes a forwarded original into the body
|
|
114
|
+
* and rewrites every cid: picture, so that what came back was not what had
|
|
115
|
+
* been stored. See src/mime/parts.ts.
|
|
116
|
+
*/
|
|
117
|
+
async function readStored(connection, uid) {
|
|
118
|
+
const source = await connection.withMailbox(DRAFTS, async (client) => {
|
|
119
|
+
const message = await client.fetchOne(String(uid), { source: true }, { uid: true });
|
|
120
|
+
return message && message.source ? message.source : undefined;
|
|
121
|
+
});
|
|
122
|
+
if (!source) {
|
|
123
|
+
throw new BridgeError(`The draft could not be read from "${DRAFTS}". It may have been sent or moved in the meantime.`);
|
|
124
|
+
}
|
|
125
|
+
return { message: await parseMessage(source), parts: await readParts(source) };
|
|
126
|
+
}
|
|
107
127
|
/** Writes a built message into Drafts and describes what was stored. */
|
|
108
128
|
async function store(connection, draft) {
|
|
109
129
|
const raw = await buildMessage(draft, { keepBcc: true });
|
|
@@ -134,6 +154,7 @@ export async function createDraft(connection, readOnly, fromAddress, input) {
|
|
|
134
154
|
text: input.html !== undefined ? htmlToText(input.html) : (input.text ?? ''),
|
|
135
155
|
messageId: mintMessageId(from.address),
|
|
136
156
|
...(input.html !== undefined ? { html: input.html } : {}),
|
|
157
|
+
...(input.markupLevel !== undefined ? { markupLevel: input.markupLevel } : {}),
|
|
137
158
|
};
|
|
138
159
|
const raw = await buildMessage(draft, { keepBcc: true });
|
|
139
160
|
const uid = await appendDraft(connection, raw);
|
|
@@ -172,7 +193,7 @@ export async function updateDraft(connection, readOnly, fromAddress, messageId,
|
|
|
172
193
|
throw new BridgeError(`The message ${id} is in "${DRAFTS}" but does not carry the draft flag, so it is not treated ` +
|
|
173
194
|
'as a draft. Refusing to replace it, because replacing means deleting the old version.');
|
|
174
195
|
}
|
|
175
|
-
const current = await
|
|
196
|
+
const { message: current, parts } = await readStored(connection, existing.uid);
|
|
176
197
|
const from = parseRecipient(fromAddress);
|
|
177
198
|
const draft = {
|
|
178
199
|
from,
|
|
@@ -183,9 +204,15 @@ export async function updateDraft(connection, readOnly, fromAddress, messageId,
|
|
|
183
204
|
// only ever true for a draft this server wrote.
|
|
184
205
|
bcc: changes.bcc === undefined ? current.bcc : parseRecipients(changes.bcc),
|
|
185
206
|
subject: changes.subject === undefined ? current.subject : changes.subject,
|
|
186
|
-
...
|
|
207
|
+
...bodyOf(changes, parts),
|
|
187
208
|
messageId: id,
|
|
209
|
+
// Kept whatever happens to the body. No tool removes a file from a draft,
|
|
210
|
+
// so none may disappear as a side effect of changing the text.
|
|
211
|
+
...(parts.files.length ? { carriedFiles: parts.files } : {}),
|
|
188
212
|
};
|
|
213
|
+
// The recipients carried over were read back from the stored draft rather
|
|
214
|
+
// than typed, and have not been through parseRecipient.
|
|
215
|
+
allRecipients(draft).forEach(assertDeliverable);
|
|
189
216
|
const raw = await buildMessage(draft, { keepBcc: true });
|
|
190
217
|
const uid = await appendDraft(connection, raw);
|
|
191
218
|
await connection.withMailbox(DRAFTS, async (client, status) => {
|
|
@@ -201,6 +228,7 @@ export async function updateDraft(connection, readOnly, fromAddress, messageId,
|
|
|
201
228
|
cc: draft.cc,
|
|
202
229
|
bcc: draft.bcc,
|
|
203
230
|
uid,
|
|
231
|
+
...(parts.files.length ? { keptFiles: parts.files.map((file) => file.filename) } : {}),
|
|
204
232
|
};
|
|
205
233
|
}
|
|
206
234
|
/**
|
|
@@ -211,14 +239,27 @@ export async function updateDraft(connection, readOnly, fromAddress, messageId,
|
|
|
211
239
|
* what was there, markup included, which is what makes changing only the
|
|
212
240
|
* subject of a formatted draft leave the formatting alone.
|
|
213
241
|
*/
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
242
|
+
/**
|
|
243
|
+
* The body of an updated draft, and the level it is held to.
|
|
244
|
+
*
|
|
245
|
+
* The level travels with the body rather than beside it: a caller replacing the
|
|
246
|
+
* markup states which level the new markup is meant for, and one that only
|
|
247
|
+
* changes the subject keeps the stored body without a level, which means
|
|
248
|
+
* `standard`. A level carried over onto markup nobody re-stated would be a
|
|
249
|
+
* permission granted by an earlier call.
|
|
250
|
+
*/
|
|
251
|
+
function bodyOf(changes, stored) {
|
|
252
|
+
if (changes.html !== undefined) {
|
|
253
|
+
const level = changes.markupLevel !== undefined ? { markupLevel: changes.markupLevel } : {};
|
|
254
|
+
return { text: htmlToText(changes.html), html: changes.html, ...level };
|
|
255
|
+
}
|
|
217
256
|
if (changes.text !== undefined)
|
|
218
257
|
return { text: changes.text };
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
258
|
+
// Nothing restated: the stored body stays as it was, quote and all, and is
|
|
259
|
+
// not checked again. See Draft.storedHtml for why it cannot be.
|
|
260
|
+
return stored.html !== undefined
|
|
261
|
+
? { text: htmlToText(stored.html), storedHtml: stored.html }
|
|
262
|
+
: { text: (stored.text ?? '').trim() };
|
|
222
263
|
}
|
|
223
264
|
/**
|
|
224
265
|
* The body of a reply, with the original quoted below it.
|
|
@@ -298,6 +339,7 @@ export async function buildReplyDraft(connection, fromAddress, messageId, text,
|
|
|
298
339
|
subject: prefixSubject(original.subject, 'Re'),
|
|
299
340
|
...body,
|
|
300
341
|
messageId: mintMessageId(from.address),
|
|
342
|
+
...(options.markupLevel !== undefined ? { markupLevel: options.markupLevel } : {}),
|
|
301
343
|
...(thread.messageId ? { inReplyTo: thread.messageId } : {}),
|
|
302
344
|
references: [...thread.references, ...(thread.messageId ? [thread.messageId] : [])],
|
|
303
345
|
};
|
|
@@ -309,13 +351,19 @@ export async function replyDraft(connection, readOnly, fromAddress, messageId, t
|
|
|
309
351
|
const draft = await buildReplyDraft(connection, fromAddress, messageId, text, options);
|
|
310
352
|
return store(connection, draft);
|
|
311
353
|
}
|
|
312
|
-
/**
|
|
354
|
+
/**
|
|
355
|
+
* The uid of a message inside one mailbox.
|
|
356
|
+
*
|
|
357
|
+
* findByMessageId rather than a search written out here, because it makes the
|
|
358
|
+
* second attempt without the angle brackets and verifies every hit of it. Real
|
|
359
|
+
* mail carries unbracketed identifiers, and without the fallback this threw
|
|
360
|
+
* "the message is no longer in Drafts" for a message that had not moved.
|
|
361
|
+
*/
|
|
313
362
|
async function uidOf(connection, path, messageId) {
|
|
314
363
|
const uid = await connection.withMailbox(path, async (client, status) => {
|
|
315
364
|
if (status.messages === 0)
|
|
316
365
|
return undefined;
|
|
317
|
-
|
|
318
|
-
return Array.isArray(hits) && hits.length ? Math.max(...hits) : undefined;
|
|
366
|
+
return findByMessageId(client, messageId);
|
|
319
367
|
});
|
|
320
368
|
if (uid === undefined) {
|
|
321
369
|
throw new BridgeError(`The message ${messageId} is no longer in "${path}".`);
|
|
@@ -341,11 +389,14 @@ export async function buildForwardDraft(connection, fromAddress, messageId, to,
|
|
|
341
389
|
}
|
|
342
390
|
const header = [
|
|
343
391
|
'',
|
|
344
|
-
|
|
392
|
+
FORWARD_HEADER,
|
|
345
393
|
`From: ${original.from.map((f) => (f.name ? `${f.name} <${f.address}>` : f.address)).join(', ')}`,
|
|
346
394
|
`Date: ${original.date ? original.date.toISOString().slice(0, 16).replace('T', ' ') : 'unknown'}`,
|
|
347
395
|
`Subject: ${original.subject || '(no subject)'}`,
|
|
348
396
|
`To: ${original.to.map((t) => t.address).join(', ') || '(none)'}`,
|
|
397
|
+
// Two, so that a blank line parts the head from the original's first line.
|
|
398
|
+
// With one the two ran together, seen on 2026-11-02.
|
|
399
|
+
'',
|
|
349
400
|
'',
|
|
350
401
|
].join('\n');
|
|
351
402
|
const draft = {
|
|
@@ -357,7 +408,7 @@ export async function buildForwardDraft(connection, fromAddress, messageId, to,
|
|
|
357
408
|
...(options.html === undefined
|
|
358
409
|
? { text: `${text}\n${header}${original.text}` }
|
|
359
410
|
: (() => {
|
|
360
|
-
const head = `<p
|
|
411
|
+
const head = `<p>${FORWARD_HEADER}<br>` +
|
|
361
412
|
`From: ${escapeHtml(original.from.map((f) => (f.name ? `${f.name} <${f.address}>` : f.address)).join(', '))}<br>` +
|
|
362
413
|
`Date: ${escapeHtml(original.date ? original.date.toISOString().slice(0, 16).replace('T', ' ') : 'unknown')}<br>` +
|
|
363
414
|
`Subject: ${escapeHtml(original.subject || '(no subject)')}<br>` +
|
|
@@ -372,6 +423,7 @@ export async function buildForwardDraft(connection, fromAddress, messageId, to,
|
|
|
372
423
|
};
|
|
373
424
|
})()),
|
|
374
425
|
messageId: mintMessageId(from.address),
|
|
426
|
+
...(options.markupLevel !== undefined ? { markupLevel: options.markupLevel } : {}),
|
|
375
427
|
};
|
|
376
428
|
// Only when there is something a quoted body would lose.
|
|
377
429
|
if (original.attachments.length > 0) {
|
|
@@ -382,8 +434,9 @@ export async function buildForwardDraft(connection, fromAddress, messageId, to,
|
|
|
382
434
|
});
|
|
383
435
|
if (source) {
|
|
384
436
|
draft.attachedMessage = {
|
|
385
|
-
filename:
|
|
437
|
+
filename: forwardedFileName(original.subject),
|
|
386
438
|
raw: source,
|
|
439
|
+
carries: original.attachments.map((attachment) => attachment.filename),
|
|
387
440
|
};
|
|
388
441
|
}
|
|
389
442
|
}
|
|
@@ -395,7 +448,13 @@ export async function forwardDraft(connection, readOnly, fromAddress, messageId,
|
|
|
395
448
|
const draft = await buildForwardDraft(connection, fromAddress, messageId, to, text, options);
|
|
396
449
|
const stored = await store(connection, draft);
|
|
397
450
|
return draft.attachedMessage
|
|
398
|
-
? {
|
|
451
|
+
? {
|
|
452
|
+
...stored,
|
|
453
|
+
attachedOriginal: {
|
|
454
|
+
filename: draft.attachedMessage.filename,
|
|
455
|
+
carries: draft.attachedMessage.carries ?? [],
|
|
456
|
+
},
|
|
457
|
+
}
|
|
399
458
|
: stored;
|
|
400
459
|
}
|
|
401
460
|
/** The drafts that are there. Reading only. */
|
|
@@ -428,22 +487,33 @@ export async function readDraftForSending(connection, fromAddress, messageId) {
|
|
|
428
487
|
throw new BridgeError(`The message ${id} is in "${DRAFTS}" but does not carry the draft flag, so it is not a ` +
|
|
429
488
|
'draft. Refusing to send it.');
|
|
430
489
|
}
|
|
431
|
-
const stored = await
|
|
490
|
+
const { message: stored, parts } = await readStored(connection, existing.uid);
|
|
432
491
|
if (stored.to.length === 0 && stored.cc.length === 0 && stored.bcc.length === 0) {
|
|
433
492
|
throw new BridgeError(`The draft ${id} has no recipient, so there is nobody to send it to. Add one with ` +
|
|
434
493
|
'update_draft first.');
|
|
435
494
|
}
|
|
495
|
+
// A stored draft may have been written anywhere, in Proton itself included,
|
|
496
|
+
// so its recipients are held to the same rule as typed ones before the
|
|
497
|
+
// confirmation shows them.
|
|
498
|
+
for (const recipient of [...stored.to, ...stored.cc, ...stored.bcc])
|
|
499
|
+
assertDeliverable(recipient);
|
|
436
500
|
return {
|
|
437
501
|
from: parseRecipient(fromAddress),
|
|
438
502
|
to: stored.to,
|
|
439
503
|
cc: stored.cc,
|
|
440
504
|
bcc: stored.bcc,
|
|
441
505
|
subject: stored.subject,
|
|
442
|
-
text:
|
|
506
|
+
text: parts.html !== undefined ? htmlToText(parts.html) : (parts.text ?? '').trim(),
|
|
443
507
|
messageId: id,
|
|
444
508
|
// A draft written as markup is sent as the markup it was. Converting it to
|
|
445
|
-
// text and back would deliver something its author never wrote.
|
|
446
|
-
|
|
509
|
+
// text and back would deliver something its author never wrote. It goes
|
|
510
|
+
// out as it was stored, without the check composed markup goes through,
|
|
511
|
+
// which is what Draft.storedHtml explains.
|
|
512
|
+
...(parts.html !== undefined ? { storedHtml: parts.html } : {}),
|
|
513
|
+
// Its files too, the forwarded original among them. Up to 0.4.11 they were
|
|
514
|
+
// dropped here, and a forward sent from a draft went out without the
|
|
515
|
+
// message it forwarded.
|
|
516
|
+
...(parts.files.length ? { carriedFiles: parts.files } : {}),
|
|
447
517
|
};
|
|
448
518
|
}
|
|
449
519
|
//# sourceMappingURL=drafts.js.map
|
package/dist/mail/drafts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drafts.js","sourceRoot":"","sources":["../../src/mail/drafts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drafts.js","sourceRoot":"","sources":["../../src/mail/drafts.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/ids.d.ts
CHANGED
|
@@ -13,6 +13,16 @@ import type { ImapFlow } from 'imapflow';
|
|
|
13
13
|
import type { Connection } from '../bridge/connection.js';
|
|
14
14
|
/** Mailbox that holds every message, including trash. The fallback for lookups. */
|
|
15
15
|
export declare const ALL_MAIL = "All Mail";
|
|
16
|
+
/**
|
|
17
|
+
* The trash, which is what deleting means here.
|
|
18
|
+
*
|
|
19
|
+
* Lives beside ALL_MAIL rather than in actions.ts, where it used to, because
|
|
20
|
+
* both the reading and the writing side need it now: a listing of "All Mail"
|
|
21
|
+
* says which of its entries are in the trash, and reaching from messages.ts
|
|
22
|
+
* into actions.ts would be a new edge from reading into writing for the sake of
|
|
23
|
+
* one string.
|
|
24
|
+
*/
|
|
25
|
+
export declare const TRASH = "Trash";
|
|
16
26
|
/**
|
|
17
27
|
* Brings a Message-ID into the shape the IMAP header uses.
|
|
18
28
|
*
|
package/dist/mail/ids.js
CHANGED
|
@@ -10,8 +10,19 @@
|
|
|
10
10
|
* being moved between two calls of a conversation.
|
|
11
11
|
*/
|
|
12
12
|
import { BridgeError } from '../bridge/errors.js';
|
|
13
|
+
import { searchUids } from './uid-search.js';
|
|
13
14
|
/** Mailbox that holds every message, including trash. The fallback for lookups. */
|
|
14
15
|
export const ALL_MAIL = 'All Mail';
|
|
16
|
+
/**
|
|
17
|
+
* The trash, which is what deleting means here.
|
|
18
|
+
*
|
|
19
|
+
* Lives beside ALL_MAIL rather than in actions.ts, where it used to, because
|
|
20
|
+
* both the reading and the writing side need it now: a listing of "All Mail"
|
|
21
|
+
* says which of its entries are in the trash, and reaching from messages.ts
|
|
22
|
+
* into actions.ts would be a new edge from reading into writing for the sake of
|
|
23
|
+
* one string.
|
|
24
|
+
*/
|
|
25
|
+
export const TRASH = 'Trash';
|
|
15
26
|
/**
|
|
16
27
|
* Brings a Message-ID into the shape the IMAP header uses.
|
|
17
28
|
*
|
|
@@ -90,15 +101,16 @@ async function carriesId(client, uid, bare) {
|
|
|
90
101
|
* empty, so nothing normal pays for it.
|
|
91
102
|
*/
|
|
92
103
|
export async function findByMessageId(client, messageId) {
|
|
93
|
-
const
|
|
94
|
-
|
|
104
|
+
const what = `the message ${messageId}`;
|
|
105
|
+
const exact = await searchUids(client, { header: { 'message-id': messageId } }, what);
|
|
106
|
+
if (exact.length > 0) {
|
|
95
107
|
// Several hits mean duplicates of the same message inside one mailbox.
|
|
96
108
|
// The highest UID is the most recent copy.
|
|
97
109
|
return Math.max(...exact);
|
|
98
110
|
}
|
|
99
111
|
const bare = bareForm(messageId);
|
|
100
|
-
const loose = await client
|
|
101
|
-
if (
|
|
112
|
+
const loose = await searchUids(client, { header: { 'message-id': bare } }, what);
|
|
113
|
+
if (loose.length === 0)
|
|
102
114
|
return undefined;
|
|
103
115
|
// Newest first, so a duplicate resolves to the more recent copy like above.
|
|
104
116
|
for (const uid of [...loose].sort((a, b) => b - a)) {
|
package/dist/mail/ids.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/mail/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/mail/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAA;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;IACzB,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,WAAW,CAAC,yCAAyC,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC1C,OAAO,IAAI,IAAI,GAAG,CAAA;AACpB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACnD,CAAC;AAgBD,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,SAAiB;IACjC,OAAO,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,SAAS,CAAC,MAAgB,EAAE,GAAW,EAAE,IAAY;IAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACrF,MAAM,MAAM,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACpF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AACzC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAgB,EAChB,SAAiB;IAEjB,MAAM,IAAI,GAAG,eAAe,SAAS,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACrF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,uEAAuE;QACvE,2CAA2C;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAExC,4EAA4E;IAC5E,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnD,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;YAAE,OAAO,GAAG,CAAA;IACpD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAsB,EACtB,KAAa,EACb,IAAa;IAEb,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,UAAU,GAAG,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE5E,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAA;YAC3C,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAA;QACjF,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAA;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,IAAI,WAAW,CACnB,0BAA0B,SAAS,aAAa,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,IAAI;QAClH,kEAAkE;QAClE,4FAA4F,CAC/F,CAAA;AACH,CAAC"}
|
package/dist/mail/labels.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* folder deletes mail. That guard is the most important line in this file.
|
|
23
23
|
*/
|
|
24
24
|
import { BridgeError } from '../bridge/errors.js';
|
|
25
|
-
import { normaliseMessageId, resolveMessageId } from './ids.js';
|
|
25
|
+
import { normaliseMessageId, findByMessageId, resolveMessageId } from './ids.js';
|
|
26
26
|
/** The prefix Proton exposes labels under. Anything else is not a label. */
|
|
27
27
|
export const LABEL_PREFIX = 'Labels/';
|
|
28
28
|
/**
|
|
@@ -124,14 +124,19 @@ export async function removeLabel(connection, readOnly, messageId, label) {
|
|
|
124
124
|
// is pointless anyway.
|
|
125
125
|
if (status.messages === 0)
|
|
126
126
|
return false;
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
// findByMessageId rather than a search written out here: it makes the
|
|
128
|
+
// second attempt without the angle brackets and verifies every hit of it.
|
|
129
|
+
// Real mail carries unbracketed identifiers, and without the fallback this
|
|
130
|
+
// reported wasApplied: false for a label that was applied - which reads as
|
|
131
|
+
// "it was not set" rather than "it was not found".
|
|
132
|
+
const uid = await findByMessageId(client, id);
|
|
133
|
+
if (uid === undefined)
|
|
129
134
|
return false;
|
|
130
135
|
// Guarded again, immediately before the expunge. The path cannot have
|
|
131
136
|
// changed between the check above and here, but this is the line that
|
|
132
137
|
// deletes, and it should not depend on a check twenty lines away.
|
|
133
138
|
assertLabelMailbox(status.path);
|
|
134
|
-
await client.messageDelete(String(
|
|
139
|
+
await client.messageDelete(String(uid), { uid: true });
|
|
135
140
|
return true;
|
|
136
141
|
});
|
|
137
142
|
return { messageId: id, label: path, path, wasApplied };
|
package/dist/mail/labels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/mail/labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/mail/labels.ts"],"names":[],"mappings":"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"}
|
package/dist/mail/messages.d.ts
CHANGED
|
@@ -27,6 +27,20 @@ export interface MessageHeader {
|
|
|
27
27
|
draft: boolean;
|
|
28
28
|
/** Whether the message carries attachments other than Proton's own key. */
|
|
29
29
|
hasAttachments: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Set only when listing "All Mail", and only for the messages that are in the
|
|
32
|
+
* trash.
|
|
33
|
+
*
|
|
34
|
+
* "All Mail" holds every message including the discarded ones, so a listing of
|
|
35
|
+
* it looked the same whether a message was filed or thrown away. An assistant
|
|
36
|
+
* reported three drafts waiting in Drafts; they were in the trash and Drafts
|
|
37
|
+
* was empty. The `draft` mark is a flag rather than a place, and it stays on a
|
|
38
|
+
* draft wherever it goes - which makes "draft" read as "in Drafts".
|
|
39
|
+
*
|
|
40
|
+
* Absent elsewhere on purpose: every other listing names its mailbox in the
|
|
41
|
+
* first line, so there is nothing to disambiguate.
|
|
42
|
+
*/
|
|
43
|
+
inTrash?: boolean;
|
|
30
44
|
}
|
|
31
45
|
/**
|
|
32
46
|
* What the ordering step cost.
|
|
@@ -54,8 +68,8 @@ export interface ListResult {
|
|
|
54
68
|
ordering: OrderingCost;
|
|
55
69
|
}
|
|
56
70
|
export declare function toAddresses(list: Array<{
|
|
57
|
-
name?: string;
|
|
58
|
-
address?: string;
|
|
71
|
+
name?: string | undefined;
|
|
72
|
+
address?: string | undefined;
|
|
59
73
|
}> | undefined): Address[];
|
|
60
74
|
/**
|
|
61
75
|
* Guesses from the body structure whether real attachments are present.
|
|
@@ -70,6 +84,14 @@ export interface OrderEntry {
|
|
|
70
84
|
uid: number;
|
|
71
85
|
date: Date | undefined;
|
|
72
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The date of an envelope, or nothing when there is none that can be used.
|
|
89
|
+
*
|
|
90
|
+
* imapflow hands out the header text itself, not a Date, when it cannot read
|
|
91
|
+
* the date, and calling getTime() on that text throws. Such a message is
|
|
92
|
+
* treated as one without a date, which puts it at the end of a listing.
|
|
93
|
+
*/
|
|
94
|
+
export declare function envelopeDate(value: Date | string | false | undefined): Date | undefined;
|
|
73
95
|
/**
|
|
74
96
|
* Reads nothing but the date of each message.
|
|
75
97
|
*
|
|
@@ -87,6 +109,21 @@ export interface OrderEntry {
|
|
|
87
109
|
* the very thing this ordering exists to survive.
|
|
88
110
|
*/
|
|
89
111
|
export declare function fetchDates(client: ImapFlow, uids: number[]): Promise<OrderEntry[]>;
|
|
112
|
+
/** What a search compares itself, read from the same envelope as the date. */
|
|
113
|
+
export interface EnvelopeEntry extends OrderEntry {
|
|
114
|
+
/** Decoded by imapflow, unlike the raw header the Bridge searches. */
|
|
115
|
+
subject: string;
|
|
116
|
+
from: Address[];
|
|
117
|
+
to: Address[];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The date of each message, and the decoded subject, sender and recipients.
|
|
121
|
+
*
|
|
122
|
+
* Costs the same as fetchDates: both read the envelope, this one keeps more of
|
|
123
|
+
* it. A search needs those fields because the Bridge compares its text against
|
|
124
|
+
* the header as stored, encoded, see searchMessages.
|
|
125
|
+
*/
|
|
126
|
+
export declare function fetchEnvelopes(client: ImapFlow, uids: number[]): Promise<EnvelopeEntry[]>;
|
|
90
127
|
/**
|
|
91
128
|
* Puts messages newest first and returns their UIDs in that order.
|
|
92
129
|
*
|
|
@@ -100,14 +137,6 @@ export declare function fetchDates(client: ImapFlow, uids: number[]): Promise<Or
|
|
|
100
137
|
* land somewhere definite rather than wherever undefined comparisons put them.
|
|
101
138
|
*/
|
|
102
139
|
export declare function orderNewestFirst(entries: OrderEntry[]): number[];
|
|
103
|
-
/**
|
|
104
|
-
* Reads the headers for a set of UIDs, keeping the order they were given in.
|
|
105
|
-
*
|
|
106
|
-
* Shared by listing and searching, so both produce identical entries. The
|
|
107
|
-
* caller has already selected the mailbox and narrowed the UIDs down to one
|
|
108
|
-
* page: fetching headers for a whole result set would defeat the purpose, since
|
|
109
|
-
* a common word matched 6803 messages in the measured mailbox.
|
|
110
|
-
*/
|
|
111
140
|
export declare function fetchHeaders(client: ImapFlow, uids: number[]): Promise<MessageHeader[]>;
|
|
112
141
|
export interface ListOptions {
|
|
113
142
|
/** How many messages to return. Capped at MAX_LIST_LIMIT. */
|
|
@@ -134,6 +163,17 @@ export interface ListOptions {
|
|
|
134
163
|
* `ordering` rather than hidden.
|
|
135
164
|
*/
|
|
136
165
|
export declare function listMessages(connection: Connection, path: string, options?: ListOptions): Promise<ListResult>;
|
|
166
|
+
/**
|
|
167
|
+
* Marks the entries of an "All Mail" page that are in the trash.
|
|
168
|
+
*
|
|
169
|
+
* Outside the withMailbox above rather than inside it, and not by choice: a
|
|
170
|
+
* mailbox is held under a lock for the duration of the operation, so a second
|
|
171
|
+
* withMailbox nested in the first would wait for a lock its own frame holds.
|
|
172
|
+
*/
|
|
173
|
+
export declare function withTrashMarks<T extends {
|
|
174
|
+
path: string;
|
|
175
|
+
headers: MessageHeader[];
|
|
176
|
+
}>(connection: Connection, result: T): Promise<T>;
|
|
137
177
|
export interface FullMessage extends ParsedMessage {
|
|
138
178
|
/** The mailbox the message was read from. */
|
|
139
179
|
path: string;
|