proton-mail-bridge-client 2.7.2 → 2.8.0

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 (59) hide show
  1. package/README.md +16 -9
  2. package/dist/cli.d.ts +7 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +87 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +368 -27
  9. package/dist/index.js.map +1 -1
  10. package/dist/scripts/setup-claude-desktop.d.ts +12 -0
  11. package/dist/scripts/setup-claude-desktop.d.ts.map +1 -1
  12. package/dist/scripts/setup-claude-desktop.js +43 -2
  13. package/dist/scripts/setup-claude-desktop.js.map +1 -1
  14. package/dist/services/account-manager.d.ts +2 -0
  15. package/dist/services/account-manager.d.ts.map +1 -1
  16. package/dist/services/account-manager.js +3 -0
  17. package/dist/services/account-manager.js.map +1 -1
  18. package/dist/services/delivery-queue-service.d.ts.map +1 -1
  19. package/dist/services/delivery-queue-service.js +7 -6
  20. package/dist/services/delivery-queue-service.js.map +1 -1
  21. package/dist/services/draft-store-service.d.ts.map +1 -1
  22. package/dist/services/draft-store-service.js +10 -9
  23. package/dist/services/draft-store-service.js.map +1 -1
  24. package/dist/services/local-index-service.d.ts +1 -0
  25. package/dist/services/local-index-service.d.ts.map +1 -1
  26. package/dist/services/local-index-service.js +24 -7
  27. package/dist/services/local-index-service.js.map +1 -1
  28. package/dist/services/reply-reminder-service.d.ts +43 -0
  29. package/dist/services/reply-reminder-service.d.ts.map +1 -0
  30. package/dist/services/reply-reminder-service.js +117 -0
  31. package/dist/services/reply-reminder-service.js.map +1 -0
  32. package/dist/services/simple-imap-service.d.ts +2 -0
  33. package/dist/services/simple-imap-service.d.ts.map +1 -1
  34. package/dist/services/simple-imap-service.js +33 -12
  35. package/dist/services/simple-imap-service.js.map +1 -1
  36. package/dist/services/smtp-service.d.ts.map +1 -1
  37. package/dist/services/smtp-service.js +1 -0
  38. package/dist/services/smtp-service.js.map +1 -1
  39. package/dist/services/snooze-service.d.ts.map +1 -1
  40. package/dist/services/snooze-service.js +5 -4
  41. package/dist/services/snooze-service.js.map +1 -1
  42. package/dist/services/template-service.d.ts.map +1 -1
  43. package/dist/services/template-service.js +3 -2
  44. package/dist/services/template-service.js.map +1 -1
  45. package/dist/types/index.d.ts +5 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/utils/helpers.d.ts +1 -0
  48. package/dist/utils/helpers.d.ts.map +1 -1
  49. package/dist/utils/helpers.js +59 -13
  50. package/dist/utils/helpers.js.map +1 -1
  51. package/dist/utils/ical-reply.d.ts +46 -0
  52. package/dist/utils/ical-reply.d.ts.map +1 -0
  53. package/dist/utils/ical-reply.js +236 -0
  54. package/dist/utils/ical-reply.js.map +1 -0
  55. package/dist/utils/own-record.d.ts +2 -0
  56. package/dist/utils/own-record.d.ts.map +1 -0
  57. package/dist/utils/own-record.js +6 -0
  58. package/dist/utils/own-record.js.map +1 -0
  59. package/package.json +2 -1
@@ -0,0 +1,117 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { mkdir, readFile, readdir, unlink } from "node:fs/promises";
3
+ import { dirname, join } from "node:path";
4
+ import { ensureAccountIdentityMatches } from "../utils/account-identity.js";
5
+ import { withFileLock } from "../utils/file-lock.js";
6
+ import { writeFileAtomic } from "../utils/atomic-write.js";
7
+ import { isFileNotFound, setAsideCorruptStore } from "../utils/corrupt-store.js";
8
+ import { InvalidArgumentError } from "../utils/helpers.js";
9
+ import { logger } from "../utils/logger.js";
10
+ import { ownRecord } from "../utils/own-record.js";
11
+ const MAX_REMINDERS = 500;
12
+ const MAX_NOTE_LENGTH = 500;
13
+ function createEmptyStore() {
14
+ return { version: 1, items: {} };
15
+ }
16
+ export class ReplyReminderService {
17
+ config;
18
+ log;
19
+ storePath;
20
+ _lock = Promise.resolve();
21
+ identityChecked = false;
22
+ constructor(config, log = logger) {
23
+ this.config = config;
24
+ this.log = log;
25
+ this.storePath = join(this.config.dataDir, "reply-reminders.json");
26
+ }
27
+ /** Sets a reminder for the message, or moves the existing one for the same Message-ID to the new date. */
28
+ async set(input) {
29
+ const now = input.now ?? new Date();
30
+ if (Number.isNaN(input.remindAt.getTime()) || input.remindAt.getTime() <= now.getTime()) {
31
+ throw new InvalidArgumentError("The reminder date must be in the future.");
32
+ }
33
+ const note = input.note?.trim() || undefined;
34
+ if (note !== undefined && note.length > MAX_NOTE_LENGTH) {
35
+ throw new InvalidArgumentError(`note must be at most ${MAX_NOTE_LENGTH} characters.`);
36
+ }
37
+ return this.withLock(async () => {
38
+ const store = await this.loadUnlocked();
39
+ const existing = Object.values(store.items).find((item) => item.messageId === input.messageId && !item.canceled);
40
+ if (!existing && Object.values(store.items).filter((item) => !item.canceled).length >= MAX_REMINDERS) {
41
+ throw new InvalidArgumentError(`There are already ${MAX_REMINDERS} open reminders; cancel some first.`);
42
+ }
43
+ const record = {
44
+ id: existing?.id ?? randomUUID(),
45
+ emailId: input.emailId,
46
+ messageId: input.messageId,
47
+ subject: input.subject.slice(0, 300),
48
+ to: input.to.slice(0, 50).map((address) => address.slice(0, 320)),
49
+ createdAt: existing?.createdAt ?? now.toISOString(),
50
+ remindAt: input.remindAt.toISOString(),
51
+ note,
52
+ };
53
+ store.items[record.id] = record;
54
+ await this.save(store);
55
+ return record;
56
+ });
57
+ }
58
+ async list() {
59
+ const store = await this.withLock(() => this.loadUnlocked());
60
+ return Object.values(store.items).filter((item) => !item.canceled).sort((left, right) => String(left.remindAt ?? "").localeCompare(String(right.remindAt ?? "")));
61
+ }
62
+ async cancel(id) {
63
+ return this.withLock(async () => {
64
+ const store = await this.loadUnlocked();
65
+ const record = ownRecord(store.items, id);
66
+ if (!record || record.canceled) {
67
+ return { id, canceled: false };
68
+ }
69
+ // Dropped rather than kept: a cancelled reminder has nothing left worth showing.
70
+ delete store.items[id];
71
+ await this.save(store);
72
+ return { id, canceled: true };
73
+ });
74
+ }
75
+ async withLock(fn) {
76
+ const locked = () => withFileLock(this.storePath, fn);
77
+ const run = this._lock.then(locked, locked);
78
+ this._lock = run.then(() => undefined, () => undefined);
79
+ return run;
80
+ }
81
+ async loadUnlocked() {
82
+ if (!this.identityChecked) {
83
+ await ensureAccountIdentityMatches(this.config.dataDir, this.config.smtp.username);
84
+ this.identityChecked = true;
85
+ }
86
+ await this.cleanOrphanedTempFiles();
87
+ try {
88
+ const raw = await readFile(this.storePath, "utf8");
89
+ const parsed = JSON.parse(raw);
90
+ return { ...createEmptyStore(), ...parsed, items: parsed.items && typeof parsed.items === "object" ? parsed.items : {} };
91
+ }
92
+ catch (error) {
93
+ if (isFileNotFound(error)) {
94
+ return createEmptyStore();
95
+ }
96
+ setAsideCorruptStore(this.storePath, error, this.log, "ReplyReminderService");
97
+ return createEmptyStore();
98
+ }
99
+ }
100
+ async cleanOrphanedTempFiles() {
101
+ const dir = dirname(this.storePath);
102
+ try {
103
+ const entries = await readdir(dir);
104
+ await Promise.all(entries
105
+ .filter((name) => name.startsWith("reply-reminders.json") && name.endsWith(".tmp"))
106
+ .map((name) => unlink(join(dir, name)).catch((err) => this.log.warn(`Failed to remove orphaned temp file: ${name}`, "ReplyReminderService", err))));
107
+ }
108
+ catch {
109
+ // The directory may not exist yet.
110
+ }
111
+ }
112
+ async save(store) {
113
+ await mkdir(dirname(this.storePath), { recursive: true, mode: 0o700 });
114
+ await writeFileAtomic(this.storePath, JSON.stringify(store, null, 2));
115
+ }
116
+ }
117
+ //# sourceMappingURL=reply-reminder-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply-reminder-service.js","sourceRoot":"","sources":["../../src/services/reply-reminder-service.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,7 @@ export declare class SimpleIMAPService {
99
99
  folder?: FolderInfo;
100
100
  warning?: string;
101
101
  }>;
102
+ private refuseSystemFolder;
102
103
  deleteFolder(path: string): Promise<{
103
104
  path: string;
104
105
  deleted: true;
@@ -391,6 +392,7 @@ export declare class SimpleIMAPService {
391
392
  private resolveFolders;
392
393
  private resolveLabelFolders;
393
394
  private resolveSearchFolders;
395
+ isTrashFolder(path: string): Promise<boolean | undefined>;
394
396
  private resolveSpecialFolder;
395
397
  private findUidByHeader;
396
398
  private static safeEnvelopeDateIso;
@@ -1 +1 @@
1
- {"version":3,"file":"simple-imap-service.d.ts","sourceRoot":"","sources":["../../src/services/simple-imap-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-imap-service.d.ts","sourceRoot":"","sources":["../../src/services/simple-imap-service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAgC3B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmEzD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAyC3C,eAAO,MAAM,oBAAoB,QAAS,CAAC;AA4C3C,eAAO,MAAM,2BAA2B,8NACqL,CAAC;AA2C9N,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASpE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmBnE;AAeD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAahE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAqB/D;AAQD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAQvF;AAUD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CA+B9F;AAMD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW7D;AAYD,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAK9F;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC,EAC9D,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAEpB;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,cAAc,CA4LjB;AAmDD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CA+B3F;AASD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAkB3F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgCtD;AAED,qBAAa,iBAAiB;IA6B1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA9B5B,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,aAAa,CAAC,CAAS;IAI/B,OAAO,CAAC,oBAAoB,CAAC,CAAe;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAChE,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,kBAAkB,CAAC,CAAgB;IAE3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAGzB;IAGJ,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,0BAA0B,CAAK;IACvC,OAAO,CAAC,eAAe,CAAS;IAEhC,YACmB,MAAM,EAAE,gBAAgB,EACxB,GAAG,GAAE,MAAe,EACpB,SAAS,SAAI,EAC5B;IAEE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C7B;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBhC;IAED,WAAW,IAAI,OAAO,CAErB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1B;IAED,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUvC;IAEK,qBAAqB,CAAC,KAAK,GAAE;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACxC,CAAC,CA2CD;YAEa,+BAA+B;IA+OvC,UAAU,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAsC5D;YAUa,kBAAkB;IAW1B,WAAW,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAIxE;YAuBa,8BAA8B;IAgCtC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,UAAU,CAAC;KACrB,CAAC,CAuBD;IAEK,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QACzD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAiDD;YAKa,kBAAkB;IAgB1B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,IAAI,CAAC;KACf,CAAC,CA6BD;IAEK,SAAS,CAAC,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,YAAY,EAAE,CAAC;KACxB,CAAC,CA8HD;IAEK,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGxD;IAEK,YAAY,CAAC,KAAK,GAAE,iBAAsB,GAAG,OAAO,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,YAAY,EAAE,CAAC;KACxB,CAAC,CAsLD;IAEK,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;KACzC,CAAC,CAMD;IAEK,eAAe,CAAC,KAAK,EAAE;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,uBAAuB,EAAE,CAAC;QACjC,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjE,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAkFD;IAED,OAAO,CAAC,qBAAqB;IAuBvB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5E,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC,CASD;IAEK,oBAAoB,CACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,OAAO,GAAG;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAU,GACxE,OAAO,CAAC,uBAAuB,CAAC,CA2BlC;IASK,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QACtE,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CA8BD;IAEK,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CAGlC;IAED,wFAAwF;YAC1E,WAAW;IA8BnB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACjF,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CA0CD;IAEK,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,UAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAChF,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CA4BD;IAEK,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACpF,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAiFD;IAEK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAChE,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,IAAI,CAAC;KACf,CAAC,CA4CD;IAEK,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAmG/G;IAEK,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAiDxF;IAEK,aAAa,CAAC,KAAK,GAAE,iBAAsB,GAAG,OAAO,CAAC;QAC1D,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,IAAI,CAAC;KACpB,CAAC,CAeD;YAEa,aAAa;IA6DrB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAeD;IAUK,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAIvE;IAEK,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAyC9E;IAaK,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAWpC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyEnB;IAEK,QAAQ,CAAC,KAAK,EAAE;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;QAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAGxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsF/B;IAEK,UAAU,CAAC,KAAK,EAAE;QACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAUxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiG/B;IAEK,eAAe,CAAC,KAAK,EAAE;QAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,OAAO,CAAC;QAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAGxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkF/B;IAEK,gBAAgB,CAAC,KAAK,EAAE;QAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;QAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAQxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoF/B;IAEK,UAAU,CAAC,KAAK,EAAE;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC,CAsD3E;YAEa,iBAAiB;IAiEzB,UAAU,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CA6C3H;IAEK,YAAY,CAAC,KAAK,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAsD1G;IAEK,UAAU,CAAC,KAAK,EAAE;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAmDlI;IAEK,UAAU,CAAC,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC;QACrD,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACtC,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAQD;IAEK,qBAAqB,CAAC,KAAK,GAAE,eAAoB,GAAG,OAAO,CAAC;QAChE,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,WAAW,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1C,MAAM,EAAE,YAAY,EAAE,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,aAAa,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC,CA8DD;YAEa,qBAAqB;IAyG7B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACjE,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAGD;IAEK,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/D,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAGD;IAEK,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAID;IAEK,kBAAkB,CAAC,IAAI,SAAK,EAAE,cAAc,SAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAejF;IAED,UAAU,IAAI;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CASjE;IAEK,gBAAgB,CAAC,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC;QACtD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,YAAY,EAAE,CAAC;KACxB,CAAC,CAGD;IAEK,iBAAiB,CAAC,KAAK,EAAE;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,cAAc,CAAC,CA4D1B;IAEK,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,IAAI,CAAC;KACf,CAAC,CAED;YAEa,eAAe;IAY7B,OAAO,CAAC,0BAA0B;YAKpB,WAAW;IAwBzB,OAAO,CAAC,gBAAgB;YA+DV,4BAA4B;YAW5B,cAAc;YAqCd,mBAAmB;YAenB,oBAAoB;IAY5B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAY9D;YAEa,oBAAoB;YAqBpB,eAAe;IA8B7B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAWlC,OAAO,CAAC,SAAS;IAsCjB,OAAO,CAAC,uBAAuB;YA4BjB,WAAW;YAIX,mBAAmB;YAyEnB,oBAAoB;IAgDlC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,2BAA2B;IAiDnC,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,+BAA+B;IAuBvC,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,eAAe;YAQT,mBAAmB;YA8BnB,iCAAiC;IA0B/C,OAAO,CAAC,2BAA2B;IA0C7B,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,SAAS,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAqC3C;YAEa,SAAS;IAqBjB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAsBjF;IAED,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,oBAAoB;YAKd,qBAAqB;YAsErB,qBAAqB;IAgCnC,OAAO,CAAC,yBAAyB;YAgCnB,2BAA2B;IAyCnC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAiCxG;IAMK,WAAW,CAAC,KAAK,EAAE;QACvB,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,IAAI,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAoEjH;CACF"}
@@ -1161,6 +1161,7 @@ export class SimpleIMAPService {
1161
1161
  if (fromPath === toPath) {
1162
1162
  throw new Error("Source and target paths are identical.");
1163
1163
  }
1164
+ await this.refuseSystemFolder(fromPath, "rename");
1164
1165
  const response = await this.mutateFolderWithReconnectCheck(async () => {
1165
1166
  const client = await this.ensureConnected();
1166
1167
  return client.mailboxRename(fromPath, toPath);
@@ -1191,27 +1192,30 @@ export class SimpleIMAPService {
1191
1192
  : undefined;
1192
1193
  return { path: response.path, newPath: response.newPath, folder, warning };
1193
1194
  }
1194
- async deleteFolder(path) {
1195
- const trimmed = path?.trim();
1196
- if (!trimmed) {
1197
- throw new Error("Folder path is required.");
1198
- }
1199
- // System folders, by name (any capitalisation, with or without surrounding slashes) and by the special-use
1200
- // the server itself reports. Compared on the normalised name: "inbox", "INBOX/" and "/Trash" are the same
1201
- // folders as "INBOX" and "Trash".
1195
+ // System folders, by name (any capitalisation, with or without surrounding slashes) and by the special-use
1196
+ // the server itself reports. Compared on the normalised name: "inbox", "INBOX/" and "/Trash" are the same
1197
+ // folders as "INBOX" and "Trash".
1198
+ async refuseSystemFolder(path, verb) {
1202
1199
  const reservedNames = new Set([
1203
1200
  "inbox", "drafts", "sent", "sent mail", "trash", "deleted messages", "spam", "junk", "archive",
1204
1201
  "all mail", "starred", "folders", "labels",
1205
1202
  ]);
1206
- const normalized = trimmed.replace(/^\/+|\/+$/g, "").trim().toLowerCase();
1203
+ const normalized = path.replace(/^\/+|\/+$/g, "").trim().toLowerCase();
1207
1204
  if (reservedNames.has(normalized)) {
1208
- throw new Error(`Refusing to delete reserved system folder ${trimmed}.`);
1205
+ throw new Error(`Refusing to ${verb} reserved system folder ${path}.`);
1209
1206
  }
1210
1207
  const known = await this.getFolders().catch(() => []);
1211
1208
  const target = known.find((entry) => entry.path.replace(/^\/+|\/+$/g, "").toLowerCase() === normalized);
1212
1209
  if (target?.specialUse) {
1213
- throw new Error(`Refusing to delete system folder ${trimmed} (it is the server's ${target.specialUse} folder).`);
1210
+ throw new Error(`Refusing to ${verb} system folder ${path} (it is the server's ${target.specialUse} folder).`);
1211
+ }
1212
+ }
1213
+ async deleteFolder(path) {
1214
+ const trimmed = path?.trim();
1215
+ if (!trimmed) {
1216
+ throw new Error("Folder path is required.");
1214
1217
  }
1218
+ await this.refuseSystemFolder(trimmed, "delete");
1215
1219
  const response = await this.mutateFolderWithReconnectCheck(async () => {
1216
1220
  const client = await this.ensureConnected();
1217
1221
  return client.mailboxDelete(trimmed);
@@ -2133,7 +2137,7 @@ export class SimpleIMAPService {
2133
2137
  return status?.uidValidity?.toString();
2134
2138
  }
2135
2139
  async emptyFolder(folder) {
2136
- if (folder.toUpperCase() === "INBOX") {
2140
+ if (folder.replace(/^\/+|\/+$/g, "").trim().toUpperCase() === "INBOX") {
2137
2141
  throw new Error("emptyFolder cannot be used on INBOX. Move messages to Trash first.");
2138
2142
  }
2139
2143
  let folderUidValidity;
@@ -3245,6 +3249,23 @@ export class SimpleIMAPService {
3245
3249
  const real = selectable.filter((entry) => !isVirtualMailView(entry));
3246
3250
  return (real.length > 0 ? real : selectable).map((entry) => entry.path);
3247
3251
  }
3252
+ // True when `path` is this account's Trash folder. Moving a message there is trashing it, whatever tool does
3253
+ // the move, so the move tools check this to apply the "trash" permission as well. A folder merely named
3254
+ // "Trash" under another path (Folders/Trash) is a different folder.
3255
+ async isTrashFolder(path) {
3256
+ const normalize = (value) => value.trim().replace(/^\/+|\/+$/g, "").trim().toLowerCase();
3257
+ const wanted = normalize(path);
3258
+ if (wanted === "trash" || wanted === "inbox.trash") {
3259
+ return true;
3260
+ }
3261
+ try {
3262
+ return normalize(await this.resolveSpecialFolder("\\Trash", ["Trash", "INBOX.Trash"])) === wanted;
3263
+ }
3264
+ catch {
3265
+ // The folder list could not be read, so it is not known whether this is the Trash folder.
3266
+ return undefined;
3267
+ }
3268
+ }
3248
3269
  async resolveSpecialFolder(specialUse, fallbacks) {
3249
3270
  const folders = await this.getFolderStructure();
3250
3271
  const bySpecialUse = folders.find((folder) => folder.specialUse === specialUse);