@nocobase/app-plugin-mail 1.0.0-beta.20 → 1.0.0-beta.21

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 (114) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/client/components/mail-conversation-view.d.ts +1 -0
  3. package/dist/client/components/mail-conversation-view.d.ts.map +1 -1
  4. package/dist/client/components/mail-conversation-view.js +10 -3
  5. package/dist/client/components/mail-conversation-view.js.map +1 -1
  6. package/dist/client/locales/de-DE.d.ts.map +1 -1
  7. package/dist/client/locales/de-DE.js +4 -0
  8. package/dist/client/locales/de-DE.js.map +1 -1
  9. package/dist/client/locales/en-US.d.ts +4 -0
  10. package/dist/client/locales/en-US.d.ts.map +1 -1
  11. package/dist/client/locales/en-US.js +4 -0
  12. package/dist/client/locales/en-US.js.map +1 -1
  13. package/dist/client/locales/es-ES.d.ts.map +1 -1
  14. package/dist/client/locales/es-ES.js +4 -0
  15. package/dist/client/locales/es-ES.js.map +1 -1
  16. package/dist/client/locales/fr-FR.d.ts.map +1 -1
  17. package/dist/client/locales/fr-FR.js +4 -0
  18. package/dist/client/locales/fr-FR.js.map +1 -1
  19. package/dist/client/locales/id-ID.d.ts.map +1 -1
  20. package/dist/client/locales/id-ID.js +4 -0
  21. package/dist/client/locales/id-ID.js.map +1 -1
  22. package/dist/client/locales/ja-JP.d.ts.map +1 -1
  23. package/dist/client/locales/ja-JP.js +4 -0
  24. package/dist/client/locales/ja-JP.js.map +1 -1
  25. package/dist/client/locales/pt-BR.d.ts.map +1 -1
  26. package/dist/client/locales/pt-BR.js +4 -0
  27. package/dist/client/locales/pt-BR.js.map +1 -1
  28. package/dist/client/locales/vi-VN.d.ts.map +1 -1
  29. package/dist/client/locales/vi-VN.js +4 -0
  30. package/dist/client/locales/vi-VN.js.map +1 -1
  31. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  32. package/dist/client/locales/zh-CN.js +4 -0
  33. package/dist/client/locales/zh-CN.js.map +1 -1
  34. package/dist/client/locales/zh-TW.d.ts.map +1 -1
  35. package/dist/client/locales/zh-TW.js +4 -0
  36. package/dist/client/locales/zh-TW.js.map +1 -1
  37. package/dist/client/mail-client.d.ts +3 -1
  38. package/dist/client/mail-client.d.ts.map +1 -1
  39. package/dist/client/mail-client.js +2 -2
  40. package/dist/client/mail-client.js.map +1 -1
  41. package/dist/client/pages/mail-workspace-page.d.ts.map +1 -1
  42. package/dist/client/pages/mail-workspace-page.js +52 -7
  43. package/dist/client/pages/mail-workspace-page.js.map +1 -1
  44. package/dist/server/adapters/imap-smtp/adapter.d.ts +13 -3
  45. package/dist/server/adapters/imap-smtp/adapter.d.ts.map +1 -1
  46. package/dist/server/adapters/imap-smtp/adapter.js +234 -2
  47. package/dist/server/adapters/imap-smtp/adapter.js.map +1 -1
  48. package/dist/server/adapters/imap-smtp/constants.js +1 -1
  49. package/dist/server/adapters/imap-smtp/constants.js.map +1 -1
  50. package/dist/server/adapters/imap-smtp/types.d.ts +21 -2
  51. package/dist/server/adapters/imap-smtp/types.d.ts.map +1 -1
  52. package/dist/server/locales/de-DE.d.ts.map +1 -1
  53. package/dist/server/locales/de-DE.js +6 -0
  54. package/dist/server/locales/de-DE.js.map +1 -1
  55. package/dist/server/locales/en-US.d.ts +6 -0
  56. package/dist/server/locales/en-US.d.ts.map +1 -1
  57. package/dist/server/locales/en-US.js +6 -0
  58. package/dist/server/locales/en-US.js.map +1 -1
  59. package/dist/server/locales/es-ES.d.ts.map +1 -1
  60. package/dist/server/locales/es-ES.js +6 -0
  61. package/dist/server/locales/es-ES.js.map +1 -1
  62. package/dist/server/locales/fr-FR.d.ts.map +1 -1
  63. package/dist/server/locales/fr-FR.js +6 -0
  64. package/dist/server/locales/fr-FR.js.map +1 -1
  65. package/dist/server/locales/id-ID.d.ts.map +1 -1
  66. package/dist/server/locales/id-ID.js +6 -0
  67. package/dist/server/locales/id-ID.js.map +1 -1
  68. package/dist/server/locales/ja-JP.d.ts.map +1 -1
  69. package/dist/server/locales/ja-JP.js +6 -0
  70. package/dist/server/locales/ja-JP.js.map +1 -1
  71. package/dist/server/locales/pt-BR.d.ts.map +1 -1
  72. package/dist/server/locales/pt-BR.js +6 -0
  73. package/dist/server/locales/pt-BR.js.map +1 -1
  74. package/dist/server/locales/vi-VN.d.ts.map +1 -1
  75. package/dist/server/locales/vi-VN.js +6 -0
  76. package/dist/server/locales/vi-VN.js.map +1 -1
  77. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  78. package/dist/server/locales/zh-CN.js +6 -0
  79. package/dist/server/locales/zh-CN.js.map +1 -1
  80. package/dist/server/locales/zh-TW.d.ts.map +1 -1
  81. package/dist/server/locales/zh-TW.js +6 -0
  82. package/dist/server/locales/zh-TW.js.map +1 -1
  83. package/dist/server/operations/message-mutations.d.ts +2 -1
  84. package/dist/server/operations/message-mutations.d.ts.map +1 -1
  85. package/dist/server/operations/message-mutations.js +28 -0
  86. package/dist/server/operations/message-mutations.js.map +1 -1
  87. package/dist/server/routes/api.d.ts.map +1 -1
  88. package/dist/server/routes/api.js +20 -6
  89. package/dist/server/routes/api.js.map +1 -1
  90. package/dist/server/routes/schemas.d.ts +2 -0
  91. package/dist/server/routes/schemas.d.ts.map +1 -1
  92. package/dist/server/routes/schemas.js +5 -1
  93. package/dist/server/routes/schemas.js.map +1 -1
  94. package/dist/server/services/management.d.ts +1 -1
  95. package/dist/server/services/management.d.ts.map +1 -1
  96. package/dist/server/services/management.js.map +1 -1
  97. package/dist/server/store/message-writes.d.ts.map +1 -1
  98. package/dist/server/store/message-writes.js +26 -3
  99. package/dist/server/store/message-writes.js.map +1 -1
  100. package/dist/server/store/messages.d.ts.map +1 -1
  101. package/dist/server/store/messages.js +32 -0
  102. package/dist/server/store/messages.js.map +1 -1
  103. package/dist/server/store/scheduled-drafts.d.ts.map +1 -1
  104. package/dist/server/store/scheduled-drafts.js +27 -2
  105. package/dist/server/store/scheduled-drafts.js.map +1 -1
  106. package/dist/server/store/sync.d.ts.map +1 -1
  107. package/dist/server/store/sync.js +319 -2
  108. package/dist/server/store/sync.js.map +1 -1
  109. package/dist/shared/mail.d.ts +2 -0
  110. package/dist/shared/mail.d.ts.map +1 -1
  111. package/dist/shared/mail.js.map +1 -1
  112. package/package.json +7 -7
  113. package/skills/nocobase-app-plugin-mail/references/http-api.md +10 -0
  114. package/skills/nocobase-app-plugin-mail/references/synchronization-and-diagnostics.md +6 -0
@@ -134,13 +134,50 @@ export default function MailWorkspacePage({ title, description, accountsHref, he
134
134
  ? syncableAccounts.length > 0
135
135
  : Boolean(currentAccount?.status === 'active' &&
136
136
  currentProviderCapabilities?.incrementalSync);
137
+ const imapSourceFolder = (message) => foldersByAccountId
138
+ .get(message.accountId)
139
+ ?.find((folder) => folder.providerFolderId === folderId &&
140
+ (!folderAccountId || folderAccountId === message.accountId) &&
141
+ message.folderIds.includes(folder.providerFolderId));
142
+ const isImapMessage = (message) => accounts.find((account) => account.id === message.accountId)?.provider
143
+ .type === 'imap-smtp';
144
+ const inTrash = (message) => isImapMessage(message)
145
+ ? imapSourceFolder(message)?.type === 'trash'
146
+ : isMessageInTrash(message, foldersByAccountId);
147
+ const deleteDisabledReason = (message) => {
148
+ if (message.scheduledSend)
149
+ return t('workspace.imapScheduled', {
150
+ defaultValue: 'Cancel the scheduled delivery before deleting this draft.',
151
+ });
152
+ if (message.providerMessageId?.startsWith('local-draft:'))
153
+ return undefined;
154
+ if (isImapMessage(message)) {
155
+ if (!imapSourceFolder(message))
156
+ return t('workspace.imapSourceRequired', {
157
+ defaultValue: 'Open the source folder before moving or deleting this message.',
158
+ });
159
+ if (!inTrash(message) &&
160
+ !foldersByAccountId
161
+ .get(message.accountId)
162
+ ?.some((folder) => folder.type === 'trash'))
163
+ return t('workspace.imapTrashMissing', {
164
+ defaultValue: 'This account has no Trash folder. Use your mail client.',
165
+ });
166
+ }
167
+ if (!selectedMessageProviderCapabilities?.moveMessage && !inTrash(message))
168
+ return t('workspace.deleteUnsupported', {
169
+ defaultValue: 'This account does not support deletion. Use your mail client.',
170
+ });
171
+ return undefined;
172
+ };
137
173
  const selectedMessageCanMove = Boolean(selectedMessageAccount?.status === 'active' &&
138
174
  selectedMessageProviderCapabilities?.moveMessage &&
175
+ (!selected || !isImapMessage(selected) || imapSourceFolder(selected)) &&
139
176
  [...(foldersByAccountId.get(selected?.accountId ?? '') ?? [])].some((folder) => folder.type === 'archive'));
140
177
  const selectedMessageCanDraft = Boolean(selectedMessageAccount?.status === 'active' &&
141
178
  selectedMessageProviderCapabilities?.send);
142
179
  const selectedMessageCanUseLabels = selectedMessageAccount?.status === 'active';
143
- const selectedMessageInTrash = Boolean(selected && isMessageInTrash(selected, foldersByAccountId));
180
+ const selectedMessageInTrash = Boolean(selected && inTrash(selected));
144
181
  const loadAccounts = useCallback((clearError = true) => {
145
182
  setLoadingAccounts(true);
146
183
  if (clearError)
@@ -483,14 +520,18 @@ export default function MailWorkspacePage({ title, description, accountsHref, he
483
520
  });
484
521
  };
485
522
  const deleteWorkspaceMessage = (message) => {
486
- const permanently = isMessageInTrash(message, foldersByAccountId);
523
+ const permanently = inTrash(message);
487
524
  if (permanently &&
488
525
  !window.confirm(t('workspace.permanentlyDeleteConfirm', {
489
526
  defaultValue: 'Permanently delete this message? This action cannot be undone.',
490
527
  }))) {
491
528
  return;
492
529
  }
493
- mutateMessage(mail.deleteMessage(message.accountId, message.id, permanently), true);
530
+ mutateMessage(isImapMessage(message)
531
+ ? mail.deleteMessage(message.accountId, message.id, permanently, {
532
+ sourceProviderFolderId: imapSourceFolder(message)?.providerFolderId,
533
+ })
534
+ : mail.deleteMessage(message.accountId, message.id, permanently), true);
494
535
  };
495
536
  const syncing = Object.values(syncRuns).some(isActiveSyncRun);
496
537
  const accountNames = useMemo(() => new Map(accounts.map((account) => [account.id, account.address])), [accounts]);
@@ -677,14 +718,18 @@ export default function MailWorkspacePage({ title, description, accountsHref, he
677
718
  accountId: message.accountId,
678
719
  messageId: message.id,
679
720
  providerFolderId: archive.providerFolderId,
721
+ ...(isImapMessage(message)
722
+ ? {
723
+ sourceProviderFolderId: imapSourceFolder(message)
724
+ ?.providerFolderId,
725
+ }
726
+ : {}),
680
727
  }), true);
681
728
  }
682
729
  : undefined,
683
730
  delete: (message) => deleteWorkspaceMessage(message),
684
- canDelete: (message) => Boolean(!message.scheduledSend &&
685
- (selectedMessageProviderCapabilities?.moveMessage ||
686
- isMessageInTrash(message, foldersByAccountId) ||
687
- message.providerMessageId.startsWith('local-draft:'))),
731
+ canDelete: (message) => !deleteDisabledReason(message),
732
+ deleteDisabledReason,
688
733
  downloadAttachment: (message, attachment) => {
689
734
  void downloadAttachment(mail, message, attachment).catch((cause) => setError(mailErrorMessage(cause, t('workspace.downloadFailed', {
690
735
  defaultValue: 'Unable to download attachment.',
@@ -1 +1 @@
1
- {"version":3,"file":"mail-workspace-page.js","sourceRoot":"","sources":["../../../client/pages/mail-workspace-page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail-workspace-page.js","sourceRoot":"","sources":["../../../client/pages/mail-workspace-page.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ImapFlow } from 'imapflow';
2
2
  import type { MailAttachmentContent, MailProviderResult, MailSyncCursor } from '../../../shared/mail.js';
3
- import type { MailProviderAdapter, MailProviderAccount, MailProviderContext, MailProviderFolderPage, MailProviderListChangesInput, MailProviderListFoldersInput, MailProviderListMessagesInput, MailProviderMessagePage, MailProviderSendInput, MailProviderSendResult, NormalizedMailMessage } from '../../contracts/provider.js';
4
- import type { ImapOperationSnapshot, ImapLocationPersistence, ImapSmtpCredential } from './types.js';
3
+ import type { MailProviderAdapter, MailProviderMoveResult, MailProviderAccount, MailProviderContext, MailProviderFolderPage, MailProviderListChangesInput, MailProviderListFoldersInput, MailProviderListMessagesInput, MailProviderMessagePage, MailProviderSendInput, MailProviderSendResult, NormalizedMailMessage } from '../../contracts/provider.js';
4
+ import type { ImapOperationSnapshot, ImapLocationPersistence, ImapLocationTuple, ImapSmtpCredential } from './types.js';
5
5
  import type { MailSyncStepCommit } from '../../contracts/persistence.js';
6
6
  import type { MailSyncRun } from '../../../shared/mail.js';
7
7
  import type { ImapSmtpMailProviderConfig } from './config.js';
@@ -31,9 +31,13 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
31
31
  readonly imap: typeof createImapClient;
32
32
  readonly smtp: typeof createSmtpTransport;
33
33
  readonly expungeUid: typeof expungeUid;
34
+ readonly transferUid?: typeof transferUid;
34
35
  }, operation?: ImapOperationSnapshot | undefined);
35
36
  forSync(run: MailSyncRun): ImapSmtpAdapter;
36
- forMessage(messageId: string, providerMessageId: string, operation: 'flags' | 'delete'): Promise<ImapSmtpAdapter>;
37
+ forMessage(messageId: string, providerMessageId: string, operation: 'flags' | 'delete' | 'move', move?: {
38
+ readonly sourceProviderFolderId?: string;
39
+ readonly destinationProviderFolderId: string;
40
+ }): Promise<ImapSmtpAdapter>;
37
41
  /** True when this instance records message copies in the account's location table. */
38
42
  get persistsLocations(): boolean;
39
43
  /** Commit a sync step together with the location evidence this instance gathered for it. */
@@ -52,6 +56,10 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
52
56
  sendMessage(input: MailProviderSendInput): Promise<MailProviderSendResult>;
53
57
  setRead(providerMessageId: string, read: boolean, signal?: AbortSignal): Promise<MailProviderResult<void>>;
54
58
  setStarred(providerMessageId: string, starred: boolean, signal?: AbortSignal): Promise<MailProviderResult<void>>;
59
+ /** Move only the bound copy; fixed UID primitives never choose a global EXPUNGE. */
60
+ moveMessage(providerMessageId: string, providerFolderId: string, signal?: AbortSignal): Promise<MailProviderResult<MailProviderMoveResult>>;
61
+ private fetchMoveDestination;
62
+ private moveAttachments;
55
63
  deleteMessage(providerMessageId: string, permanently: boolean, signal?: AbortSignal): Promise<MailProviderResult<void>>;
56
64
  close(): Promise<void>;
57
65
  private updateFlags;
@@ -93,5 +101,7 @@ export declare class ImapSmtpAdapter implements MailProviderAdapter {
93
101
  }
94
102
  /** ImapFlow 2.2.10's command primitive keeps the verb explicitly scoped to a UID. */
95
103
  declare function expungeUid(client: ImapFlow, uid: number): Promise<void>;
104
+ /** Parse only the exact one-UID mapping requested by this operation. Never infer a destination UID. */
105
+ declare function transferUid(client: ImapFlow, uid: number, folder: string, native: boolean): Promise<ImapLocationTuple | undefined>;
96
106
  export {};
97
107
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { encodePath } from 'imapflow/lib/tools.js';
2
+ import { MailError, mailFailedPrecondition } from '../../services/errors.js';
1
3
  import MailComposer from 'nodemailer/lib/mail-composer/index.js';
2
4
  import { randomUUID } from 'node:crypto';
3
5
  import { simpleParser } from 'mailparser';
@@ -40,6 +42,7 @@ export class ImapSmtpAdapter {
40
42
  imap: createImapClient,
41
43
  smtp: createSmtpTransport,
42
44
  expungeUid,
45
+ transferUid,
43
46
  }), operation) {
44
47
  this.context = context;
45
48
  this.config = config;
@@ -79,10 +82,10 @@ export class ImapSmtpAdapter {
79
82
  throw new Error('The IMAP sync account changed.');
80
83
  return new ImapSmtpAdapter(this.context, this.config, this.account, this.credential, this.locations, run, this.protocol);
81
84
  }
82
- async forMessage(messageId, providerMessageId, operation) {
85
+ async forMessage(messageId, providerMessageId, operation, move) {
83
86
  if (!this.locations)
84
87
  throw new Error('IMAP location persistence is not configured.');
85
- const bound = await this.locations.bindMessage(messageId, providerMessageId, operation);
88
+ const bound = await this.locations.bindMessage(messageId, providerMessageId, operation, move);
86
89
  return new ImapSmtpAdapter(this.context, this.config, this.account, this.credential, bound.persistence, undefined, this.protocol, bound.snapshot);
87
90
  }
88
91
  /** True when this instance records message copies in the account's location table. */
@@ -645,6 +648,180 @@ export class ImapSmtpAdapter {
645
648
  ? this.updateCopyFlags(providerMessageId, '\\Flagged', starred, signal)
646
649
  : this.updateFlags(providerMessageId, '\\Flagged', starred, signal);
647
650
  }
651
+ /** Move only the bound copy; fixed UID primitives never choose a global EXPUNGE. */
652
+ async moveMessage(providerMessageId, providerFolderId, signal) {
653
+ if (!this.locations ||
654
+ this.operation?.operation !== 'move' ||
655
+ this.operation.providerMessageId !== providerMessageId ||
656
+ this.operation.destinationProviderFolderId !== providerFolderId)
657
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_SOURCE_REQUIRED', 'A move requires a bound source folder.');
658
+ let state;
659
+ let remoteStarted = false;
660
+ try {
661
+ throwIfAborted(signal);
662
+ const client = await this.imap();
663
+ if (!client.capabilities.has('MOVE') &&
664
+ !client.capabilities.has('UIDPLUS'))
665
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_UNSUPPORTED', 'This server cannot safely move messages. Use your mail client.');
666
+ const folders = await this.listMailboxes();
667
+ if (!folders.some((folder) => folder.path === providerFolderId && !folder.flags.has('\\Noselect')))
668
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_LOCATION_CHANGED', 'The selected destination is no longer a selectable folder. Synchronize the mailbox.');
669
+ const destinationMailbox = await client.mailboxOpen(providerFolderId, {
670
+ readOnly: false,
671
+ });
672
+ if (destinationMailbox.readOnly)
673
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_NOT_WRITABLE', 'The selected destination is read-only.');
674
+ state = await this.locations.beginMove();
675
+ const source = await this.openCopy(state.source, { flags: true, size: true, bodyStructure: true }, false);
676
+ if (client.mailbox && client.mailbox.readOnly)
677
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_NOT_WRITABLE', 'The selected source is read-only.');
678
+ if (source && !(source.flags instanceof Set))
679
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_LOCATION_CHANGED', 'The server did not report source flags.');
680
+ if (!source && !state.destination)
681
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_LOCATION_CHANGED', 'The selected source changed. Synchronize and open its source folder again.');
682
+ if (client.mailbox &&
683
+ !client.mailbox.readOnly &&
684
+ client.mailbox.permanentFlags &&
685
+ !client.mailbox.permanentFlags.has('\\Deleted') &&
686
+ !client.mailbox.permanentFlags.has('\\*') &&
687
+ !state.destination)
688
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_NOT_WRITABLE', 'The selected source does not allow deletion flags.');
689
+ if (source?.flags?.has('\\Deleted') && !state.destination)
690
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_LOCATION_CHANGED', 'The selected source already has an external deletion flag.');
691
+ if (state.source.folder === providerFolderId && source) {
692
+ await this.locations.releaseMove(state);
693
+ state = undefined;
694
+ return { ok: true, value: { providerMessageId } };
695
+ }
696
+ const resumed = Boolean(state.destination);
697
+ // A persisted mapping is resumed without ever issuing another COPY or MOVE.
698
+ if (!state.destination) {
699
+ throwIfAborted(signal);
700
+ if (!client.capabilities.has('MOVE') &&
701
+ !client.capabilities.has('UIDPLUS'))
702
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_UNSUPPORTED', 'This server no longer has a safe move path.');
703
+ remoteStarted = true;
704
+ const native = client.capabilities.has('MOVE');
705
+ const tuple = await (this.protocol.transferUid ?? transferUid)(client, state.source.uid, providerFolderId, native);
706
+ if (!tuple ||
707
+ tuple.uidValidity !== String(destinationMailbox.uidValidity))
708
+ throw new Error('The server did not supply a valid destination mapping.');
709
+ const destination = await this.fetchMoveDestination(tuple, providerMessageId);
710
+ if (!destination ||
711
+ !source ||
712
+ destination.size !== source.size ||
713
+ JSON.stringify(destination.bodyStructure) !==
714
+ JSON.stringify(source.bodyStructure) ||
715
+ destination.envelope?.messageId !== source.envelope?.messageId ||
716
+ (source.emailId && destination.emailId !== source.emailId))
717
+ throw new Error('The mapped destination does not match the selected source.');
718
+ state = await this.locations.rememberMoveDestination(state, {
719
+ ...tuple,
720
+ locationId: randomUUID(),
721
+ providerMessageId,
722
+ source: this.operation.source,
723
+ read: destination.flags?.has('\\Seen') ?? false,
724
+ starred: destination.flags?.has('\\Flagged') ?? false,
725
+ receivedAt: destination.internalDate
726
+ ? toIsoDate(destination.internalDate)
727
+ : undefined,
728
+ });
729
+ // Native MOVE has already removed the source. Do not run COPY after any native failure.
730
+ if (native) {
731
+ await client.mailboxOpen(state.source.folder, { readOnly: false });
732
+ if (!client.mailbox ||
733
+ String(client.mailbox.uidValidity) !== state.source.uidValidity)
734
+ throw new Error('The source generation changed after MOVE.');
735
+ const remaining = await client.search({ uid: String(state.source.uid) }, { uid: true });
736
+ if (!Array.isArray(remaining) || remaining.includes(state.source.uid))
737
+ throw new Error('The source is still present after MOVE.');
738
+ const id = await this.locations.commitMoved(state, this.moveAttachments(state.destination, destination), {
739
+ read: destination.flags.has('\\Seen'),
740
+ starred: destination.flags.has('\\Flagged'),
741
+ });
742
+ return { ok: true, value: { providerMessageId: id } };
743
+ }
744
+ }
745
+ const destination = await this.fetchMoveDestination(state.destination, providerMessageId);
746
+ if (!destination)
747
+ throw new Error('The confirmed destination changed.');
748
+ throwIfAborted(signal);
749
+ const current = await this.openCopy(state.source, { flags: true, size: true, bodyStructure: true }, false);
750
+ if (current) {
751
+ if (client.mailbox && client.mailbox.readOnly)
752
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_NOT_WRITABLE', 'The selected source is read-only.');
753
+ if (!client.capabilities.has('UIDPLUS'))
754
+ throw new Error('UIDPLUS became unavailable before source cleanup.');
755
+ remoteStarted = true;
756
+ if (!current.flags?.has('\\Deleted')) {
757
+ if (!(await client.messageFlagsAdd(String(state.source.uid), ['\\Deleted'], { uid: true })))
758
+ throw new Error('The server did not confirm the source deletion flag.');
759
+ }
760
+ else if (!resumed)
761
+ throw new Error('The source acquired an external deletion flag.');
762
+ if (!client.capabilities.has('UIDPLUS'))
763
+ throw new Error('UIDPLUS became unavailable after STORE.');
764
+ await this.protocol.expungeUid(client, state.source.uid);
765
+ }
766
+ // An absent UID is safe only in the same generation, including explicit partial-copy recovery.
767
+ if (!client.mailbox ||
768
+ String(client.mailbox.uidValidity) !== state.source.uidValidity)
769
+ throw new Error('The source generation changed before cleanup was confirmed.');
770
+ const remaining = await client.search({ uid: String(state.source.uid) }, { uid: true });
771
+ if (!Array.isArray(remaining) || remaining.includes(state.source.uid))
772
+ throw new Error('The source removal was not confirmed.');
773
+ const id = await this.locations.commitMoved(state, this.moveAttachments(state.destination, destination), {
774
+ read: destination.flags.has('\\Seen'),
775
+ starred: destination.flags.has('\\Flagged'),
776
+ });
777
+ return { ok: true, value: { providerMessageId: id } };
778
+ }
779
+ catch (error) {
780
+ if (error.imapCopyRejected &&
781
+ !state?.destination)
782
+ remoteStarted = false;
783
+ if (state && !state.destination && !remoteStarted)
784
+ await this.locations.releaseMove(state);
785
+ if (state && (remoteStarted || state.destination))
786
+ throw mailFailedPrecondition('MAIL_IMAP_MOVE_OUTCOME_UNKNOWN', 'The move is incomplete or its result is unknown. Verify the mailbox before retrying.');
787
+ if (error instanceof MailError)
788
+ throw error;
789
+ return { ok: false, error: classifyError(error, 'IMAP_MOVE_MESSAGE') };
790
+ }
791
+ }
792
+ async fetchMoveDestination(tuple, providerMessageId) {
793
+ const client = await this.imap();
794
+ const selected = await client.mailboxOpen(tuple.folder, { readOnly: true });
795
+ if (String(selected.uidValidity) !== tuple.uidValidity)
796
+ return undefined;
797
+ const result = await client.fetchOne(tuple.uid, {
798
+ uid: true,
799
+ flags: true,
800
+ envelope: true,
801
+ bodyStructure: true,
802
+ size: true,
803
+ internalDate: true,
804
+ }, { uid: true });
805
+ if (!result ||
806
+ result.uid !== tuple.uid ||
807
+ !(result.flags instanceof Set) ||
808
+ result.flags.has('\\Deleted'))
809
+ return undefined;
810
+ const source = this.operation.source;
811
+ if ((source === 'objectid' || source === 'x-gm-msgid') &&
812
+ result.emailId !== providerMessageId)
813
+ return undefined;
814
+ if (source === 'rfc-message-id' &&
815
+ result.envelope?.messageId !== providerMessageId)
816
+ return undefined;
817
+ return result;
818
+ }
819
+ moveAttachments(tuple, message) {
820
+ const parts = attachmentParts(message.bodyStructure);
821
+ if (!parts)
822
+ throw new Error('The destination attachment structure is missing.');
823
+ return parts.map((part, index) => attachmentMetadata(tuple.folder, tuple.uidValidity, tuple.uid, part, index));
824
+ }
648
825
  async deleteMessage(providerMessageId, permanently, signal) {
649
826
  if ((this.locations && !this.operation) ||
650
827
  (this.operation &&
@@ -1409,4 +1586,59 @@ async function expungeUid(client, uid) {
1409
1586
  ]);
1410
1587
  response.next();
1411
1588
  }
1589
+ /** Parse only the exact one-UID mapping requested by this operation. Never infer a destination UID. */
1590
+ async function transferUid(client, uid, folder, native) {
1591
+ const connection = client;
1592
+ let mapping;
1593
+ let invalid = false;
1594
+ const parse = (response) => {
1595
+ const section = response.attributes?.[0]?.section;
1596
+ if (section?.[0]?.value !== 'COPYUID')
1597
+ return;
1598
+ const single = (value) => {
1599
+ if (typeof value !== 'string' ||
1600
+ !/^[1-9]\d{0,9}(?::[1-9]\d{0,9})?$/.test(value))
1601
+ return undefined;
1602
+ const [first, last = first] = value.split(':').map(Number);
1603
+ return first === last && first <= 0xffffffff ? first : undefined;
1604
+ };
1605
+ const validityValue = section[1]?.value;
1606
+ const validity = typeof validityValue === 'string' && /^[1-9]\d{0,9}$/.test(validityValue)
1607
+ ? single(validityValue)
1608
+ : undefined;
1609
+ const source = single(section[2]?.value);
1610
+ const destination = single(section[3]?.value);
1611
+ if (!validity || source !== uid || !destination) {
1612
+ invalid = true;
1613
+ return;
1614
+ }
1615
+ const tuple = { folder, uidValidity: String(validity), uid: destination };
1616
+ if (mapping && tupleKey(mapping) !== tupleKey(tuple))
1617
+ invalid = true;
1618
+ mapping = tuple;
1619
+ };
1620
+ // No library-level MOVE/COPY emulation can run through this fixed command primitive.
1621
+ let result;
1622
+ try {
1623
+ result = await connection.exec(native ? 'UID MOVE' : 'UID COPY', [
1624
+ { type: 'SEQUENCE', value: String(uid) },
1625
+ { type: 'ATOM', value: encodePath(client, folder) },
1626
+ ], {
1627
+ untagged: {
1628
+ OK: async (response) => {
1629
+ parse(response);
1630
+ },
1631
+ },
1632
+ });
1633
+ }
1634
+ catch (error) {
1635
+ const failure = error;
1636
+ if (!native && ['NO', 'BAD'].includes(failure.responseStatus ?? ''))
1637
+ failure.imapCopyRejected = true;
1638
+ throw error;
1639
+ }
1640
+ result.next();
1641
+ parse(result.response);
1642
+ return invalid ? undefined : mapping;
1643
+ }
1412
1644
  //# sourceMappingURL=adapter.js.map