@fluxmail/provider-outlook 0.8.0 → 0.9.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.
@@ -1,4 +1,4 @@
1
- import { type AttachmentMeta, type Capabilities, type DraftInput, type EmailProvider, type EmailQuery, type Folder, type GetAttachmentOpts, type GetMessageOpts, type Label, type Message, type ModifyAction, type Page, type PageOpts, type SendResult, type Thread } from '@fluxmail/core';
1
+ import { type AttachmentMeta, type Capabilities, type DraftInput, type EmailAddress, type EmailProvider, type EmailQuery, type Folder, type GetAttachmentOpts, type GetMessageOpts, type Label, type Message, type ModifyAction, type MessageSearchPage, type PageOpts, type SendResult, type Thread } from '@fluxmail/core';
2
2
  export interface MicrosoftAccessTokenProvider {
3
3
  getAccessToken(forceRefresh?: boolean): Promise<string>;
4
4
  }
@@ -6,12 +6,14 @@ export interface OutlookProviderOptions {
6
6
  accountId: string;
7
7
  tokenProvider: MicrosoftAccessTokenProvider;
8
8
  fetch?: typeof globalThis.fetch;
9
+ resolveSender?: (email: string) => EmailAddress | undefined;
9
10
  }
10
11
  export declare const OUTLOOK_CAPABILITIES: Capabilities;
11
12
  export declare class OutlookProvider implements EmailProvider {
12
13
  private readonly accountId;
13
14
  private readonly tokenProvider;
14
15
  private readonly fetchImpl;
16
+ private readonly resolveSender;
15
17
  private folderCache;
16
18
  constructor(options: OutlookProviderOptions);
17
19
  get capabilities(): Capabilities;
@@ -24,7 +26,7 @@ export declare class OutlookProvider implements EmailProvider {
24
26
  listLabels(): Promise<Label[]>;
25
27
  private resolveCategoryNames;
26
28
  private resolveFolder;
27
- listMessages(input: EmailQuery, page?: PageOpts): Promise<Page<Message>>;
29
+ listMessages(input: EmailQuery, page?: PageOpts): Promise<MessageSearchPage>;
28
30
  private rawMessage;
29
31
  getMessage(id: string, options?: GetMessageOpts): Promise<Message>;
30
32
  getThread(threadId: string): Promise<Thread>;
@@ -1 +1 @@
1
- {"version":3,"file":"outlookProvider.d.ts","sourceRoot":"","sources":["../src/outlookProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,MAAM,EAEX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,gBAAgB,CAAC;AAgDxB,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,4BAA4B,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,eAAO,MAAM,oBAAoB,EAAE,YAkBlC,CAAC;AAmJF,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,WAAW,CAA8D;gBAErE,OAAO,EAAE,sBAAsB;IAM3C,IAAI,YAAY,IAAI,YAAY,CAmB/B;IAED,OAAO,CAAC,GAAG;YASG,OAAO;IAmDf,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;YAIvB,UAAU;YAWV,cAAc;IA4EtB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhC,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAyBtB,oBAAoB;YAkBpB,aAAa;IAWrB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAuGpE,UAAU;IAQlB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IActE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAclD,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,iBAAiB;YAQX,aAAa;YA8Cb,kBAAkB;IAmB1B,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BhD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAsB1D,IAAI;YAaJ,0BAA0B;IAelC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmF1D,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAkBtD"}
1
+ {"version":3,"file":"outlookProvider.d.ts","sourceRoot":"","sources":["../src/outlookProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,MAAM,EAEX,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,gBAAgB,CAAC;AAgDxB,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,4BAA4B,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;CAC7D;AAED,eAAO,MAAM,oBAAoB,EAAE,YAkBlC,CAAC;AAgKF,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4D;IAC1F,OAAO,CAAC,WAAW,CAA8D;gBAErE,OAAO,EAAE,sBAAsB;IAO3C,IAAI,YAAY,IAAI,YAAY,CAmB/B;IAED,OAAO,CAAC,GAAG;YASG,OAAO;IAoDf,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;YAIvB,UAAU;YAWV,cAAc;IA4EtB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhC,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAyBtB,oBAAoB;YAkBpB,aAAa;IAWrB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAkHxE,UAAU;IAQlB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IActE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAclD,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,iBAAiB;YAQX,aAAa;YA8Cb,kBAAkB;IAmB1B,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BhD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAsB1D,IAAI;YAaJ,0BAA0B;IAelC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmF1D,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAkBtD"}
@@ -59,8 +59,21 @@ export const OUTLOOK_CAPABILITIES = {
59
59
  },
60
60
  snippets: true,
61
61
  };
62
- function sleep(ms) {
63
- return new Promise((resolve) => setTimeout(resolve, ms));
62
+ function sleep(ms, signal) {
63
+ return new Promise((resolve, reject) => {
64
+ const onAbort = () => {
65
+ clearTimeout(timer);
66
+ signal?.removeEventListener('abort', onAbort);
67
+ reject(signal?.reason);
68
+ };
69
+ const timer = setTimeout(() => {
70
+ signal?.removeEventListener('abort', onAbort);
71
+ resolve();
72
+ }, ms);
73
+ signal?.addEventListener('abort', onAbort, { once: true });
74
+ if (signal?.aborted)
75
+ onAbort();
76
+ });
64
77
  }
65
78
  function assertAttachmentSize(sizeBytes, maxBytes) {
66
79
  if (maxBytes !== undefined && sizeBytes > maxBytes) {
@@ -171,11 +184,13 @@ export class OutlookProvider {
171
184
  accountId;
172
185
  tokenProvider;
173
186
  fetchImpl;
187
+ resolveSender;
174
188
  folderCache;
175
189
  constructor(options) {
176
190
  this.accountId = options.accountId;
177
191
  this.tokenProvider = options.tokenProvider;
178
192
  this.fetchImpl = options.fetch ?? globalThis.fetch;
193
+ this.resolveSender = options.resolveSender;
179
194
  }
180
195
  get capabilities() {
181
196
  const snapshot = this.folderCache?.snapshot;
@@ -220,7 +235,8 @@ export class OutlookProvider {
220
235
  }
221
236
  if (init.body !== undefined && !headers.has('content-type'))
222
237
  headers.set('content-type', 'application/json');
223
- const response = await this.fetchImpl(url, { ...init, headers });
238
+ options.signal?.throwIfAborted();
239
+ const response = await this.fetchImpl(url, { ...init, headers, signal: options.signal });
224
240
  if (response.ok) {
225
241
  if (response.status === 202 || response.status === 204)
226
242
  return undefined;
@@ -250,7 +266,7 @@ export class OutlookProvider {
250
266
  if (!retryable || attempt === MAX_RETRIES)
251
267
  break;
252
268
  const retryAfterMs = error.retryAfterMs;
253
- await sleep(retryAfterMs ?? 250 * 2 ** attempt);
269
+ await sleep(retryAfterMs ?? 250 * 2 ** attempt, options.signal);
254
270
  }
255
271
  }
256
272
  throw toEmailError(lastError);
@@ -258,24 +274,24 @@ export class OutlookProvider {
258
274
  async testConnection() {
259
275
  await this.request('/me/mailFolders/inbox?$select=id');
260
276
  }
261
- async collection(pathOrUrl) {
277
+ async collection(pathOrUrl, signal) {
262
278
  const items = [];
263
279
  let next = pathOrUrl;
264
280
  while (next) {
265
- const page = await this.request(next);
281
+ const page = await this.request(next, {}, { signal });
266
282
  items.push(...(page.value ?? []));
267
283
  next = page['@odata.nextLink'];
268
284
  }
269
285
  return items;
270
286
  }
271
- async folderSnapshot(forceRefresh = false) {
287
+ async folderSnapshot(forceRefresh = false, signal) {
272
288
  if (!forceRefresh && this.folderCache && Date.now() - this.folderCache.fetchedAt < FOLDER_CACHE_TTL_MS) {
273
289
  return this.folderCache.snapshot;
274
290
  }
275
291
  const roleById = new Map();
276
292
  await Promise.all(WELL_KNOWN_FOLDERS.map(async (known) => {
277
293
  try {
278
- const raw = await this.request(`/me/mailFolders/${known.id}?$select=id`);
294
+ const raw = await this.request(`/me/mailFolders/${known.id}?$select=id`, {}, { signal });
279
295
  if (raw.id)
280
296
  roleById.set(raw.id, known.role);
281
297
  }
@@ -292,7 +308,7 @@ export class OutlookProvider {
292
308
  const rawFolders = [];
293
309
  const visited = new Set();
294
310
  const walk = async (path, parentPath, visibleBranch = true, insideTrash = false, insideAllMailExcluded = false) => {
295
- const children = await this.collection(path);
311
+ const children = await this.collection(path, signal);
296
312
  for (const raw of children) {
297
313
  if (!raw.id || !raw.displayName || visited.has(raw.id))
298
314
  continue;
@@ -373,9 +389,9 @@ export class OutlookProvider {
373
389
  return true;
374
390
  });
375
391
  }
376
- async resolveFolder(value) {
392
+ async resolveFolder(value, signal) {
377
393
  const normalized = value.toLowerCase();
378
- const folders = await this.folderSnapshot();
394
+ const folders = await this.folderSnapshot(false, signal);
379
395
  const wellKnownRole = WELL_KNOWN_FOLDERS.find((folder) => folder.id === normalized)?.role;
380
396
  const role = folders.byRole.get(wellKnownRole ?? normalized);
381
397
  const match = role ?? folders.byId.get(value) ?? folders.folders.find((folder) => folder.name.toLowerCase() === normalized);
@@ -384,6 +400,7 @@ export class OutlookProvider {
384
400
  return match;
385
401
  }
386
402
  async listMessages(input, page = {}) {
403
+ page.signal?.throwIfAborted();
387
404
  const normalized = normalizeEmailQuery(input);
388
405
  if (!normalized.success) {
389
406
  throw new EmailError('invalid_request', normalized.diagnostics.map((item) => item.message).join(' '), {
@@ -391,12 +408,12 @@ export class OutlookProvider {
391
408
  });
392
409
  }
393
410
  const query = normalized.query;
394
- const resolvedFolder = query.folder ? await this.resolveFolder(query.folder) : undefined;
411
+ const resolvedFolder = query.folder ? await this.resolveFolder(query.folder, page.signal) : undefined;
395
412
  const starredFolder = resolvedFolder?.role === 'starred';
396
413
  const folder = resolvedFolder?.role === 'all' || starredFolder ? undefined : resolvedFolder;
397
414
  const normalizedQuery = { ...query, ...(starredFolder ? { starred: true } : {}), folder: undefined };
398
415
  const graphQuery = toGraphQuery(normalizedQuery);
399
- const folders = await this.folderSnapshot();
416
+ const folders = await this.folderSnapshot(false, page.signal);
400
417
  const allMailScope = !folder;
401
418
  const excludedRootFolderIds = allMailScope ? [...folders.allMailExcludedRootFolderIds] : [];
402
419
  const allMailFilter = excludedRootFolderIds.map((id) => `parentFolderId ne '${escapeOData(id)}'`).join(' and ');
@@ -429,14 +446,20 @@ export class OutlookProvider {
429
446
  const items = [];
430
447
  let inspectedCandidates = 0;
431
448
  let nextPageToken;
449
+ let timeLimited = false;
432
450
  do {
433
- const response = await this.request(requestUrl);
451
+ const response = await this.request(requestUrl, {}, { signal: page.signal });
434
452
  const candidates = response.value ?? [];
435
453
  if (candidateOffset > candidates.length) {
436
454
  throw new EmailError('invalid_request', 'Invalid Microsoft Graph page token');
437
455
  }
438
456
  let processedCandidates = 0;
439
457
  for (const raw of candidates.slice(candidateOffset)) {
458
+ page.signal?.throwIfAborted();
459
+ if (page.softDeadlineAt !== undefined && Date.now() >= page.softDeadlineAt) {
460
+ timeLimited = true;
461
+ break;
462
+ }
440
463
  if (inspectedCandidates >= 1_000)
441
464
  break;
442
465
  inspectedCandidates += 1;
@@ -446,23 +469,26 @@ export class OutlookProvider {
446
469
  if (localFilter?.hasAttachment !== undefined) {
447
470
  if (!raw.id)
448
471
  continue;
449
- const attachments = await this.collection(`/me/messages/${encodeURIComponent(raw.id)}/attachments?$select=${ATTACHMENT_METADATA_SELECT}`);
472
+ const attachments = await this.collection(`/me/messages/${encodeURIComponent(raw.id)}/attachments?$select=${ATTACHMENT_METADATA_SELECT}`, page.signal);
450
473
  const hasAttachment = attachments.some((attachment) => attachment.isInline !== true);
451
474
  if (hasAttachment !== localFilter.hasAttachment)
452
475
  continue;
453
476
  }
454
- items.push(parseGraphMessage(raw, {
477
+ const message = parseGraphMessage(raw, {
455
478
  accountId: this.accountId,
456
479
  ...(raw.parentFolderId && folders.byId.get(raw.parentFolderId)
457
480
  ? { folder: folders.byId.get(raw.parentFolderId) }
458
481
  : {}),
459
- }));
482
+ });
483
+ if (page.includeSnippet === false)
484
+ delete message.snippet;
485
+ items.push(message);
460
486
  if (items.length === pageSize)
461
487
  break;
462
488
  }
463
489
  const next = response['@odata.nextLink'];
464
490
  const consumedOffset = candidateOffset + processedCandidates;
465
- if (items.length === pageSize || inspectedCandidates >= 1_000) {
491
+ if (timeLimited || items.length === pageSize || inspectedCandidates >= 1_000) {
466
492
  nextPageToken =
467
493
  consumedOffset < candidates.length
468
494
  ? encodePageToken(this.url(requestUrl), localFilter, consumedOffset)
@@ -479,13 +505,16 @@ export class OutlookProvider {
479
505
  const providerLimited = Boolean(graphQuery.search) && items.length < pageSize && inspectedCandidates >= 1_000 && !nextPageToken;
480
506
  return {
481
507
  items,
508
+ exhausted: !nextPageToken && !providerLimited,
482
509
  ...(nextPageToken ? { nextPageToken } : {}),
483
510
  ...(localFilter ? { inspectedCandidates } : {}),
484
511
  ...(items.length < pageSize && inspectedCandidates >= 1_000 && nextPageToken
485
512
  ? { incomplete: true, incompleteReason: 'scan_limit' }
486
513
  : providerLimited
487
514
  ? { incomplete: true, incompleteReason: 'provider_limit' }
488
- : {}),
515
+ : timeLimited && nextPageToken
516
+ ? { incomplete: true, incompleteReason: 'time_limit' }
517
+ : {}),
489
518
  };
490
519
  }
491
520
  async rawMessage(id, includeHeaders = false) {
@@ -523,12 +552,23 @@ export class OutlookProvider {
523
552
  return { id: threadId, subject: messages[0]?.subject ?? '', messages };
524
553
  }
525
554
  draftPayload(draft, newMessage) {
555
+ const sender = draft.from ? (this.resolveSender?.(draft.from) ?? { email: draft.from }) : undefined;
526
556
  return {
527
557
  ...(newMessage || draft.subject !== undefined ? { subject: draft.subject ?? '' } : {}),
528
558
  body: bodyFor(draft),
529
559
  ...(newMessage || draft.to !== undefined ? { toRecipients: toGraphRecipients(draft.to) } : {}),
530
560
  ...(newMessage || draft.cc !== undefined ? { ccRecipients: toGraphRecipients(draft.cc) } : {}),
531
561
  ...(newMessage || draft.bcc !== undefined ? { bccRecipients: toGraphRecipients(draft.bcc) } : {}),
562
+ ...(sender
563
+ ? {
564
+ from: {
565
+ emailAddress: {
566
+ address: sender.email,
567
+ ...(sender.name ? { name: sender.name } : {}),
568
+ },
569
+ },
570
+ }
571
+ : {}),
532
572
  };
533
573
  }
534
574
  decodedAttachment(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"outlookProvider.js","sourceRoot":"","sources":["../src/outlookProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outlookProvider.js","sourceRoot":"","sources":["../src/outlookProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxmail/provider-outlook",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Microsoft Graph adapter for the Fluxmail unified email API",
5
5
  "license": "Elastic-2.0",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@fluxmail/core": "0.8.0"
28
+ "@fluxmail/core": "0.9.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.15.0"