@memberjunction/communication-ms-graph 5.49.0 → 5.51.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 { BaseCommunicationProvider, CreateDraftParams, CreateDraftResult, ForwardMessageParams, ForwardMessageResult, GetMessagesParams, GetMessagesResult, GetSingleMessageParams, GetSingleMessageResult, DeleteMessageParams, DeleteMessageResult, MoveMessageParams, MoveMessageResult, ListFoldersParams, ListFoldersResult, MarkAsReadParams, MarkAsReadResult, ArchiveMessageParams, ArchiveMessageResult, SearchMessagesParams, SearchMessagesResult, ListAttachmentsParams, ListAttachmentsResult, DownloadAttachmentParams, DownloadAttachmentResult, ProviderOperation, MessageResult, ProcessedMessage, ProviderCredentialsBase, ReplyToMessageParams, ReplyToMessageResult } from "@memberjunction/communication-types";
1
+ import { BaseCommunicationProvider, CreateDraftParams, CreateDraftResult, ForwardMessageParams, ForwardMessageResult, GetMessagesParams, GetMessagesResult, GetSingleMessageParams, GetSingleMessageResult, DeleteMessageParams, DeleteMessageResult, MoveMessageParams, MoveMessageResult, ListFoldersParams, ListFoldersResult, MarkAsReadParams, MarkAsReadResult, ArchiveMessageParams, ArchiveMessageResult, SearchMessagesParams, SearchMessagesResult, ListAttachmentsParams, ListAttachmentsResult, DownloadAttachmentParams, DownloadAttachmentResult, ProviderOperation, MessageResult, ProcessedMessage, ProviderCredentialsBase, ReplyToMessageParams, ReplyToMessageResult, CreateSubscriptionParams, RenewSubscriptionParams, DeleteSubscriptionParams, SubscriptionResult, SubscriptionCapabilities, WebhookNotificationInput, ParseNotificationResult, BaseMessageResult } from "@memberjunction/communication-types";
2
2
  import { Client } from '@microsoft/microsoft-graph-client';
3
3
  import { Message } from "@microsoft/microsoft-graph-types";
4
4
  /**
@@ -99,6 +99,11 @@ export declare class MSGraphProvider extends BaseCommunicationProvider {
99
99
  * Gets the API URI for Graph API calls.
100
100
  */
101
101
  private getApiUri;
102
+ /**
103
+ * Flattens a Graph recipient collection (toRecipients/ccRecipients/bccRecipients)
104
+ * into bare email addresses, dropping entries with no resolvable address.
105
+ */
106
+ private extractRecipientAddresses;
102
107
  /**
103
108
  * Sends a single email message via MS Graph.
104
109
  *
@@ -208,6 +213,77 @@ export declare class MSGraphProvider extends BaseCommunicationProvider {
208
213
  * MS Graph supports all mailbox operations.
209
214
  */
210
215
  getSupportedOperations(): ProviderOperation[];
216
+ /**
217
+ * Builds the base URL for Graph subscription resources. Subscriptions live at the
218
+ * Graph service root (`/v1.0/subscriptions`), NOT under the users-rooted
219
+ * {@link getApiUri}. Built from `AZURE_GRAPH_ENDPOINT` so sovereign-cloud overrides
220
+ * are honored.
221
+ */
222
+ private getSubscriptionsUri;
223
+ /**
224
+ * Resolves the Graph `resource` folder segment for a subscription. Returns the
225
+ * segment to embed in `mailFolders('<segment>')`, or `null` when a custom folder name
226
+ * could not be resolved to an ID.
227
+ *
228
+ * Hot path first: an explicit `folderId` is used verbatim, and a well-known folder
229
+ * name is passed through - both with zero extra Graph calls. Only a custom display
230
+ * name incurs a resolution lookup.
231
+ */
232
+ private resolveSubscriptionFolderSegment;
233
+ /**
234
+ * Creates a Microsoft Graph change-notification subscription for messages in a
235
+ * mailbox folder. Graph validates the notification endpoint synchronously during
236
+ * this call (it must echo the validation token), so an unreachable/incorrect endpoint
237
+ * surfaces here as a Graph error.
238
+ *
239
+ * @requires MS Graph Scope: Mail.Read (Application)
240
+ * @param params - What to watch, where to notify, and the clientState secret
241
+ * @param credentials - Optional credentials override for this request
242
+ * @returns Promise<SubscriptionResult> - Subscription ID and expiration on success
243
+ */
244
+ CreateSubscription(params: CreateSubscriptionParams, credentials?: MSGraphCredentials): Promise<SubscriptionResult>;
245
+ /**
246
+ * Renews an existing Graph subscription before it expires. The caller MUST pass
247
+ * credentials for the same app registration that created the subscription - Graph
248
+ * subscriptions are visible only to their creator, so a credential mismatch surfaces
249
+ * as a 404.
250
+ *
251
+ * @requires MS Graph Scope: Mail.Read (Application)
252
+ * @param params - The subscription ID and requested new expiration
253
+ * @param credentials - Optional credentials override for this request
254
+ * @returns Promise<SubscriptionResult> - The renewed expiration on success
255
+ */
256
+ RenewSubscription(params: RenewSubscriptionParams, credentials?: MSGraphCredentials): Promise<SubscriptionResult>;
257
+ /**
258
+ * Deletes an existing Graph subscription. Idempotent from the consumer's perspective:
259
+ * a 404 (already gone) is treated as success. The caller MUST pass credentials for
260
+ * the same app registration that created the subscription.
261
+ *
262
+ * @requires MS Graph Scope: Mail.Read (Application)
263
+ * @param params - The subscription ID to delete
264
+ * @param credentials - Optional credentials override for this request
265
+ * @returns Promise<BaseMessageResult> - Result of the delete operation
266
+ */
267
+ DeleteSubscription(params: DeleteSubscriptionParams, credentials?: MSGraphCredentials): Promise<BaseMessageResult>;
268
+ /**
269
+ * Parses and validates an inbound Graph change notification. Pure: no Graph client,
270
+ * no network. Safe on hostile/garbage input - never throws; returns `Success: false`
271
+ * with a 400 suggested status on malformed payloads.
272
+ *
273
+ * Graph has no cryptographic signature scheme, so `SignatureValid` is left undefined;
274
+ * the consumer authenticates each notification by comparing its `ClientState` against
275
+ * the secret stored alongside the subscription.
276
+ *
277
+ * @param input - Transport-neutral capture of the inbound webhook request
278
+ * @returns Promise<ParseNotificationResult> - Handshake or normalized notifications
279
+ */
280
+ ParseNotification(input: WebhookNotificationInput, _credentials?: MSGraphCredentials): Promise<ParseNotificationResult>;
281
+ /**
282
+ * Returns MS Graph's subscription capabilities. Graph mail subscriptions last at most
283
+ * 4230 minutes (~3 days), support all three change types, and require synchronous
284
+ * endpoint validation at create time.
285
+ */
286
+ GetSubscriptionCapabilities(): SubscriptionCapabilities;
211
287
  /**
212
288
  * Gets a single message by ID from MS Graph.
213
289
  *
@@ -285,5 +361,42 @@ export declare class MSGraphProvider extends BaseCommunicationProvider {
285
361
  * Maps folder display name to system folder type.
286
362
  */
287
363
  private mapSystemFolderType;
364
+ /**
365
+ * Resolves a folder name to its Microsoft Graph well-known name when it is one,
366
+ * matching case-insensitively against both friendly aliases and the canonical Graph
367
+ * names. Graph accepts a well-known name directly in a resource path (no ID-resolution
368
+ * call needed). Returns undefined for a custom display name, which then requires a
369
+ * lookup. Shared by findSystemFolder and the CreateSubscription resource builder.
370
+ */
371
+ private resolveWellKnownFolder;
372
+ /**
373
+ * Extracts an HTTP status code from a thrown Microsoft Graph client error. The
374
+ * middleware client throws a GraphError-shaped object carrying a numeric statusCode;
375
+ * this narrows an untyped catch value to that code (or undefined when absent).
376
+ */
377
+ private getGraphStatusCode;
378
+ /**
379
+ * Parses the mailbox identifier (user ID / email) out of a Graph change-notification
380
+ * resource string. Tolerant of both Users/{id}/Messages/{msgId} and
381
+ * users/{id}/mailFolders('...')/messages/{msgId} shapes, case-insensitively. Returns
382
+ * undefined when no pattern matches - the identifier is a routing convenience only.
383
+ */
384
+ private parseIdentifierFromResource;
385
+ /**
386
+ * Maps a raw Graph changeType value onto the normalized SubscriptionChangeType union,
387
+ * returning undefined for anything unrecognized.
388
+ */
389
+ private mapChangeType;
390
+ /**
391
+ * Maps a raw Graph lifecycleEvent value onto the normalized lifecycle-event union,
392
+ * returning undefined for anything unrecognized.
393
+ */
394
+ private mapLifecycleEvent;
395
+ /**
396
+ * Clamps a requested subscription expiration to Graph's maximum lifetime, returning an
397
+ * ISO-8601 UTC string. When no expiration is requested (or it exceeds the max), the
398
+ * maximum-allowed expiration from now is used.
399
+ */
400
+ private clampExpiration;
288
401
  }
289
402
  //# sourceMappingURL=MSGraphProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSGraphProvider.d.ts","sourceRoot":"","sources":["../src/MSGraphProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MSGraphProvider.d.ts","sourceRoot":"","sources":["../src/MSGraphProvider.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ import { LogError, LogStatus } from "@memberjunction/core";
16
16
  import { compile } from 'html-to-text';
17
17
  import * as Auth from "./auth.js";
18
18
  import * as Config from "./config.js";
19
+ /**
20
+ * The maximum lifetime, in minutes, that Microsoft Graph allows for a mail-resource
21
+ * change-notification subscription (~3 days). Requested expirations are clamped to this.
22
+ */
23
+ const MSGRAPH_MAX_SUBSCRIPTION_MINUTES = 4230;
19
24
  /**
20
25
  * Implementation of the MS Graph provider for sending and receiving messages.
21
26
  *
@@ -106,6 +111,13 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
106
111
  getApiUri() {
107
112
  return Auth.ApiConfig.uri;
108
113
  }
114
+ /**
115
+ * Flattens a Graph recipient collection (toRecipients/ccRecipients/bccRecipients)
116
+ * into bare email addresses, dropping entries with no resolvable address.
117
+ */
118
+ extractRecipientAddresses(recipients) {
119
+ return recipients?.map((recipient) => recipient.emailAddress?.address || '').filter((address) => address.length > 0) || [];
120
+ }
109
121
  /**
110
122
  * Sends a single email message via MS Graph.
111
123
  *
@@ -292,6 +304,8 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
292
304
  return {
293
305
  From: msgTyped.from?.emailAddress?.address || '',
294
306
  To: primaryToRecipient,
307
+ ToRecipients: this.extractRecipientAddresses(msgTyped.toRecipients),
308
+ CCRecipients: this.extractRecipientAddresses(msgTyped.ccRecipients),
295
309
  ReplyTo: replyTo,
296
310
  Subject: msgTyped.subject || '',
297
311
  Body: contextData?.ReturnAsPlainText || contextData?.ReturnAsPlainTex ? this.HTMLConverter(msgTyped.body?.content || '') : msgTyped.body?.content || '',
@@ -580,9 +594,274 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
580
594
  'ArchiveMessage',
581
595
  'SearchMessages',
582
596
  'ListAttachments',
583
- 'DownloadAttachment'
597
+ 'DownloadAttachment',
598
+ 'CreateSubscription',
599
+ 'RenewSubscription',
600
+ 'DeleteSubscription',
601
+ 'ParseNotification'
584
602
  ];
585
603
  }
604
+ // ========================================================================
605
+ // PUSH-NOTIFICATION SUBSCRIPTIONS
606
+ // Graph change-notification subscriptions. CRUD rides the existing authenticated
607
+ // client; ParseNotification is pure (no client, no network). The provider is
608
+ // stateless - the consumer persists subscription IDs/expirations/secrets.
609
+ // ========================================================================
610
+ /**
611
+ * Builds the base URL for Graph subscription resources. Subscriptions live at the
612
+ * Graph service root (`/v1.0/subscriptions`), NOT under the users-rooted
613
+ * {@link getApiUri}. Built from `AZURE_GRAPH_ENDPOINT` so sovereign-cloud overrides
614
+ * are honored.
615
+ */
616
+ getSubscriptionsUri() {
617
+ return `${Config.AZURE_GRAPH_ENDPOINT}/v1.0/subscriptions`;
618
+ }
619
+ /**
620
+ * Resolves the Graph `resource` folder segment for a subscription. Returns the
621
+ * segment to embed in `mailFolders('<segment>')`, or `null` when a custom folder name
622
+ * could not be resolved to an ID.
623
+ *
624
+ * Hot path first: an explicit `folderId` is used verbatim, and a well-known folder
625
+ * name is passed through - both with zero extra Graph calls. Only a custom display
626
+ * name incurs a resolution lookup.
627
+ */
628
+ async resolveSubscriptionFolderSegment(client, mailboxId, context) {
629
+ if (context?.folderId) {
630
+ return context.folderId;
631
+ }
632
+ const folderName = context?.folderName || 'inbox';
633
+ const wellKnown = this.resolveWellKnownFolder(folderName);
634
+ if (wellKnown) {
635
+ return wellKnown;
636
+ }
637
+ // Custom display name - resolve to an ID rather than subscribing to a guessed path.
638
+ return await this.findSystemFolder(client, mailboxId, folderName);
639
+ }
640
+ /**
641
+ * Creates a Microsoft Graph change-notification subscription for messages in a
642
+ * mailbox folder. Graph validates the notification endpoint synchronously during
643
+ * this call (it must echo the validation token), so an unreachable/incorrect endpoint
644
+ * surfaces here as a Graph error.
645
+ *
646
+ * @requires MS Graph Scope: Mail.Read (Application)
647
+ * @param params - What to watch, where to notify, and the clientState secret
648
+ * @param credentials - Optional credentials override for this request
649
+ * @returns Promise<SubscriptionResult> - Subscription ID and expiration on success
650
+ */
651
+ async CreateSubscription(params, credentials) {
652
+ // Fail-fast input validation (before any Graph call).
653
+ if (!params.ClientState) {
654
+ return { Success: false, ErrorMessage: 'CreateSubscription requires a non-empty ClientState' };
655
+ }
656
+ if (params.ClientState.length > 128) {
657
+ return { Success: false, ErrorMessage: `ClientState exceeds Microsoft Graph's 128-character limit (got ${params.ClientState.length})` };
658
+ }
659
+ if (!params.NotificationUrl || !params.NotificationUrl.toLowerCase().startsWith('https://')) {
660
+ return { Success: false, ErrorMessage: 'NotificationUrl must be an https:// URL' };
661
+ }
662
+ if (params.LifecycleNotificationUrl && !params.LifecycleNotificationUrl.toLowerCase().startsWith('https://')) {
663
+ return { Success: false, ErrorMessage: 'LifecycleNotificationUrl must be an https:// URL' };
664
+ }
665
+ if (!params.ChangeTypes || params.ChangeTypes.length === 0) {
666
+ return { Success: false, ErrorMessage: 'CreateSubscription requires at least one ChangeType' };
667
+ }
668
+ try {
669
+ const creds = this.resolveCredentials(credentials);
670
+ const client = this.getGraphClient(creds);
671
+ const mailboxId = params.Identifier || creds.accountEmail;
672
+ const context = params.ContextData;
673
+ const folderSegment = await this.resolveSubscriptionFolderSegment(client, mailboxId, context);
674
+ if (!folderSegment) {
675
+ return {
676
+ Success: false,
677
+ ErrorMessage: `Could not resolve folder '${context?.folderName}' for mailbox '${mailboxId}'`
678
+ };
679
+ }
680
+ const body = {
681
+ changeType: params.ChangeTypes.join(','),
682
+ notificationUrl: params.NotificationUrl,
683
+ resource: `/users/${mailboxId}/mailFolders('${folderSegment}')/messages`,
684
+ clientState: params.ClientState,
685
+ expirationDateTime: this.clampExpiration(params.RequestedExpiration)
686
+ };
687
+ if (params.LifecycleNotificationUrl) {
688
+ body.lifecycleNotificationUrl = params.LifecycleNotificationUrl;
689
+ }
690
+ const resp = await client.api(this.getSubscriptionsUri()).post(body);
691
+ return {
692
+ Success: true,
693
+ SubscriptionID: resp?.id,
694
+ ExpiresAt: resp?.expirationDateTime ? new Date(resp.expirationDateTime) : undefined,
695
+ Result: resp
696
+ };
697
+ }
698
+ catch (ex) {
699
+ LogError('Error creating subscription via MS Graph', undefined, ex);
700
+ return {
701
+ Success: false,
702
+ ErrorMessage: `Error creating subscription: ${ex instanceof Error ? ex.message : String(ex)}`
703
+ };
704
+ }
705
+ }
706
+ /**
707
+ * Renews an existing Graph subscription before it expires. The caller MUST pass
708
+ * credentials for the same app registration that created the subscription - Graph
709
+ * subscriptions are visible only to their creator, so a credential mismatch surfaces
710
+ * as a 404.
711
+ *
712
+ * @requires MS Graph Scope: Mail.Read (Application)
713
+ * @param params - The subscription ID and requested new expiration
714
+ * @param credentials - Optional credentials override for this request
715
+ * @returns Promise<SubscriptionResult> - The renewed expiration on success
716
+ */
717
+ async RenewSubscription(params, credentials) {
718
+ try {
719
+ const creds = this.resolveCredentials(credentials);
720
+ const client = this.getGraphClient(creds);
721
+ const resp = await client.api(`${this.getSubscriptionsUri()}/${params.SubscriptionID}`).patch({
722
+ expirationDateTime: this.clampExpiration(params.RequestedExpiration)
723
+ });
724
+ return {
725
+ Success: true,
726
+ SubscriptionID: resp?.id ?? params.SubscriptionID,
727
+ ExpiresAt: resp?.expirationDateTime ? new Date(resp.expirationDateTime) : undefined,
728
+ Result: resp
729
+ };
730
+ }
731
+ catch (ex) {
732
+ if (this.getGraphStatusCode(ex) === 404) {
733
+ LogError(`Subscription '${params.SubscriptionID}' not found during renewal - expired or created under different credentials`);
734
+ return {
735
+ Success: false,
736
+ ErrorMessage: 'subscription not found - expired or created under different credentials'
737
+ };
738
+ }
739
+ LogError('Error renewing subscription via MS Graph', undefined, ex);
740
+ return {
741
+ Success: false,
742
+ ErrorMessage: `Error renewing subscription: ${ex instanceof Error ? ex.message : String(ex)}`
743
+ };
744
+ }
745
+ }
746
+ /**
747
+ * Deletes an existing Graph subscription. Idempotent from the consumer's perspective:
748
+ * a 404 (already gone) is treated as success. The caller MUST pass credentials for
749
+ * the same app registration that created the subscription.
750
+ *
751
+ * @requires MS Graph Scope: Mail.Read (Application)
752
+ * @param params - The subscription ID to delete
753
+ * @param credentials - Optional credentials override for this request
754
+ * @returns Promise<BaseMessageResult> - Result of the delete operation
755
+ */
756
+ async DeleteSubscription(params, credentials) {
757
+ try {
758
+ const creds = this.resolveCredentials(credentials);
759
+ const client = this.getGraphClient(creds);
760
+ await client.api(`${this.getSubscriptionsUri()}/${params.SubscriptionID}`).delete();
761
+ return { Success: true };
762
+ }
763
+ catch (ex) {
764
+ if (this.getGraphStatusCode(ex) === 404) {
765
+ // Already gone - deletion is idempotent from the consumer's perspective.
766
+ return { Success: true };
767
+ }
768
+ LogError('Error deleting subscription via MS Graph', undefined, ex);
769
+ return {
770
+ Success: false,
771
+ ErrorMessage: `Error deleting subscription: ${ex instanceof Error ? ex.message : String(ex)}`
772
+ };
773
+ }
774
+ }
775
+ /**
776
+ * Parses and validates an inbound Graph change notification. Pure: no Graph client,
777
+ * no network. Safe on hostile/garbage input - never throws; returns `Success: false`
778
+ * with a 400 suggested status on malformed payloads.
779
+ *
780
+ * Graph has no cryptographic signature scheme, so `SignatureValid` is left undefined;
781
+ * the consumer authenticates each notification by comparing its `ClientState` against
782
+ * the secret stored alongside the subscription.
783
+ *
784
+ * @param input - Transport-neutral capture of the inbound webhook request
785
+ * @returns Promise<ParseNotificationResult> - Handshake or normalized notifications
786
+ */
787
+ async ParseNotification(input, _credentials) {
788
+ // 1. Endpoint-validation handshake. QueryParams are already framework-decoded per
789
+ // the WebhookNotificationInput contract - echo the token verbatim.
790
+ const validationToken = input?.QueryParams?.['validationToken'];
791
+ if (validationToken !== undefined) {
792
+ return {
793
+ Success: true,
794
+ Handshake: {
795
+ ResponseStatus: 200,
796
+ ResponseBody: validationToken,
797
+ ResponseContentType: 'text/plain'
798
+ },
799
+ Notifications: [],
800
+ SuggestedResponseStatus: 200
801
+ };
802
+ }
803
+ // 2. Parse the notification batch. Never throw on bad input.
804
+ let payload;
805
+ try {
806
+ payload = JSON.parse(input?.RawBody ?? '');
807
+ }
808
+ catch {
809
+ return {
810
+ Success: false,
811
+ ErrorMessage: 'Malformed notification body (invalid JSON)',
812
+ Notifications: [],
813
+ SuggestedResponseStatus: 400
814
+ };
815
+ }
816
+ const items = payload?.value;
817
+ if (!Array.isArray(items)) {
818
+ return {
819
+ Success: false,
820
+ ErrorMessage: 'Notification body missing value[] array',
821
+ Notifications: [],
822
+ SuggestedResponseStatus: 400
823
+ };
824
+ }
825
+ const notifications = items.map((raw) => {
826
+ const item = (raw ?? {});
827
+ const lifecycleEvent = item['lifecycleEvent'];
828
+ const resourceData = item['resourceData'];
829
+ const messageId = typeof resourceData?.id === 'string' ? resourceData.id : undefined;
830
+ return {
831
+ Kind: lifecycleEvent != null ? 'lifecycle' : 'message',
832
+ SubscriptionID: typeof item['subscriptionId'] === 'string' ? item['subscriptionId'] : undefined,
833
+ ClientState: typeof item['clientState'] === 'string' ? item['clientState'] : undefined,
834
+ Identifier: this.parseIdentifierFromResource(item['resource']),
835
+ ChangeType: this.mapChangeType(item['changeType']),
836
+ MessageIDs: messageId ? [messageId] : [],
837
+ LifecycleEvent: this.mapLifecycleEvent(lifecycleEvent),
838
+ RawData: raw
839
+ };
840
+ });
841
+ return {
842
+ Success: true,
843
+ SignatureValid: undefined,
844
+ Notifications: notifications,
845
+ SuggestedResponseStatus: 202
846
+ };
847
+ }
848
+ /**
849
+ * Returns MS Graph's subscription capabilities. Graph mail subscriptions last at most
850
+ * 4230 minutes (~3 days), support all three change types, and require synchronous
851
+ * endpoint validation at create time.
852
+ */
853
+ GetSubscriptionCapabilities() {
854
+ return {
855
+ MaxLifetimeMinutes: MSGRAPH_MAX_SUBSCRIPTION_MINUTES,
856
+ SupportedChangeTypes: ['created', 'updated', 'deleted'],
857
+ RequiresEndpointValidation: true,
858
+ // Graph is subscription-managed (CreateSubscription/RenewSubscription/DeleteSubscription)
859
+ // and HINT-mode: notifications carry resourceData IDs, the consumer re-fetches via
860
+ // GetMessages/GetSingleMessage — the payload is never delivered inline.
861
+ SupportsSubscriptionManagement: true,
862
+ DeliversPayloadInline: false
863
+ };
864
+ }
586
865
  /**
587
866
  * Gets a single message by ID from MS Graph.
588
867
  *
@@ -609,6 +888,8 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
609
888
  Message: {
610
889
  From: msgTyped.from?.emailAddress?.address || '',
611
890
  To: replyTo.length > 0 ? replyTo[0] : '',
891
+ ToRecipients: this.extractRecipientAddresses(msgTyped.toRecipients),
892
+ CCRecipients: this.extractRecipientAddresses(msgTyped.ccRecipients),
612
893
  ReplyTo: replyTo,
613
894
  Subject: msgTyped.subject || '',
614
895
  Body: msgTyped.body?.content || '',
@@ -862,6 +1143,8 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
862
1143
  const messages = response.value.map((msg) => ({
863
1144
  From: msg.from?.emailAddress?.address || '',
864
1145
  To: msg.toRecipients?.[0]?.emailAddress?.address || '',
1146
+ ToRecipients: this.extractRecipientAddresses(msg.toRecipients),
1147
+ CCRecipients: this.extractRecipientAddresses(msg.ccRecipients),
865
1148
  Subject: msg.subject || '',
866
1149
  Body: msg.bodyPreview || '',
867
1150
  ExternalSystemRecordID: msg.id || '',
@@ -974,19 +1257,8 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
974
1257
  */
975
1258
  async findSystemFolder(client, emailAddress, folderName) {
976
1259
  try {
977
- // MS Graph well-known folder names
978
- const wellKnownNames = {
979
- 'inbox': 'inbox',
980
- 'sent': 'sentitems',
981
- 'drafts': 'drafts',
982
- 'deleteditems': 'deleteditems',
983
- 'trash': 'deleteditems',
984
- 'junkemail': 'junkemail',
985
- 'spam': 'junkemail',
986
- 'archive': 'archive'
987
- };
988
- const normalizedName = folderName.toLowerCase();
989
- const graphFolderName = wellKnownNames[normalizedName] || normalizedName;
1260
+ // MS Graph well-known folder names (shared with the subscription resolver)
1261
+ const graphFolderName = this.resolveWellKnownFolder(folderName) || folderName.toLowerCase();
990
1262
  // Try well-known folder endpoint first - use email address directly
991
1263
  const folderPath = `${this.getApiUri()}/${encodeURIComponent(emailAddress)}/mailFolders/${graphFolderName}`;
992
1264
  const folder = await client.api(folderPath).get();
@@ -1054,6 +1326,82 @@ let MSGraphProvider = class MSGraphProvider extends BaseCommunicationProvider {
1054
1326
  };
1055
1327
  return mapping[displayName.toLowerCase()] || 'other';
1056
1328
  }
1329
+ /**
1330
+ * Resolves a folder name to its Microsoft Graph well-known name when it is one,
1331
+ * matching case-insensitively against both friendly aliases and the canonical Graph
1332
+ * names. Graph accepts a well-known name directly in a resource path (no ID-resolution
1333
+ * call needed). Returns undefined for a custom display name, which then requires a
1334
+ * lookup. Shared by findSystemFolder and the CreateSubscription resource builder.
1335
+ */
1336
+ resolveWellKnownFolder(folderName) {
1337
+ const wellKnownNames = {
1338
+ 'inbox': 'inbox',
1339
+ 'sent': 'sentitems',
1340
+ 'sentitems': 'sentitems',
1341
+ 'drafts': 'drafts',
1342
+ 'deleteditems': 'deleteditems',
1343
+ 'trash': 'deleteditems',
1344
+ 'junkemail': 'junkemail',
1345
+ 'spam': 'junkemail',
1346
+ 'archive': 'archive'
1347
+ };
1348
+ return wellKnownNames[folderName.toLowerCase()];
1349
+ }
1350
+ /**
1351
+ * Extracts an HTTP status code from a thrown Microsoft Graph client error. The
1352
+ * middleware client throws a GraphError-shaped object carrying a numeric statusCode;
1353
+ * this narrows an untyped catch value to that code (or undefined when absent).
1354
+ */
1355
+ getGraphStatusCode(ex) {
1356
+ if (ex && typeof ex === 'object' && 'statusCode' in ex) {
1357
+ const sc = ex.statusCode;
1358
+ return typeof sc === 'number' ? sc : undefined;
1359
+ }
1360
+ return undefined;
1361
+ }
1362
+ /**
1363
+ * Parses the mailbox identifier (user ID / email) out of a Graph change-notification
1364
+ * resource string. Tolerant of both Users/{id}/Messages/{msgId} and
1365
+ * users/{id}/mailFolders('...')/messages/{msgId} shapes, case-insensitively. Returns
1366
+ * undefined when no pattern matches - the identifier is a routing convenience only.
1367
+ */
1368
+ parseIdentifierFromResource(resource) {
1369
+ if (typeof resource !== 'string') {
1370
+ return undefined;
1371
+ }
1372
+ const match = resource.match(/users\/([^/]+)/i);
1373
+ return match ? match[1] : undefined;
1374
+ }
1375
+ /**
1376
+ * Maps a raw Graph changeType value onto the normalized SubscriptionChangeType union,
1377
+ * returning undefined for anything unrecognized.
1378
+ */
1379
+ mapChangeType(raw) {
1380
+ if (raw === 'created' || raw === 'updated' || raw === 'deleted') {
1381
+ return raw;
1382
+ }
1383
+ return undefined;
1384
+ }
1385
+ /**
1386
+ * Maps a raw Graph lifecycleEvent value onto the normalized lifecycle-event union,
1387
+ * returning undefined for anything unrecognized.
1388
+ */
1389
+ mapLifecycleEvent(raw) {
1390
+ if (raw === 'subscriptionRemoved' || raw === 'missed' || raw === 'reauthorizationRequired') {
1391
+ return raw;
1392
+ }
1393
+ return undefined;
1394
+ }
1395
+ /**
1396
+ * Clamps a requested subscription expiration to Graph's maximum lifetime, returning an
1397
+ * ISO-8601 UTC string. When no expiration is requested (or it exceeds the max), the
1398
+ * maximum-allowed expiration from now is used.
1399
+ */
1400
+ clampExpiration(requested) {
1401
+ const max = new Date(Date.now() + MSGRAPH_MAX_SUBSCRIPTION_MINUTES * 60 * 1000);
1402
+ const effective = requested && requested.getTime() < max.getTime() ? requested : max;
1403
+ return effective.toISOString();
1404
+ }
1057
1405
  };
1058
1406
  MSGraphProvider = __decorate([
1059
1407
  RegisterClass(BaseCommunicationProvider, 'Microsoft Graph'),
@@ -1 +1 @@
1
- {"version":3,"file":"MSGraphProvider.js","sourceRoot":"","sources":["../src/MSGraphProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MSGraphProvider.js","sourceRoot":"","sources":["../src/MSGraphProvider.ts"],"names":[],"mappings":"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"}
@@ -57,10 +57,13 @@ vi.mock('env-var', () => {
57
57
  };
58
58
  });
59
59
  // Mock @azure/identity
60
+ // NOTE: the implementation MUST be a regular function, not an arrow - MS Graph's auth
61
+ // path constructs `new ClientSecretCredential(...)`, and arrow functions cannot be used
62
+ // as constructors ("... is not a constructor").
60
63
  vi.mock('@azure/identity', () => ({
61
- ClientSecretCredential: vi.fn().mockImplementation(() => ({
62
- getToken: vi.fn().mockResolvedValue({ token: 'test-token' }),
63
- })),
64
+ ClientSecretCredential: vi.fn().mockImplementation(function () {
65
+ return { getToken: vi.fn().mockResolvedValue({ token: 'test-token' }) };
66
+ }),
64
67
  ConfidentialClientApplication: vi.fn(),
65
68
  }));
66
69
  // Mock @microsoft/microsoft-graph-client
@@ -68,6 +71,8 @@ const { mockGraphApi } = vi.hoisted(() => ({
68
71
  mockGraphApi: vi.fn().mockReturnValue({
69
72
  post: vi.fn().mockResolvedValue({}),
70
73
  get: vi.fn().mockResolvedValue({ value: [] }),
74
+ patch: vi.fn().mockResolvedValue({}),
75
+ delete: vi.fn().mockResolvedValue(undefined),
71
76
  }),
72
77
  }));
73
78
  vi.mock('@microsoft/microsoft-graph-client', () => ({
@@ -78,7 +83,10 @@ vi.mock('@microsoft/microsoft-graph-client', () => ({
78
83
  },
79
84
  }));
80
85
  vi.mock('@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials', () => ({
81
- TokenCredentialAuthenticationProvider: vi.fn().mockImplementation(() => ({})),
86
+ // Regular function (not arrow) so `new TokenCredentialAuthenticationProvider(...)` works.
87
+ TokenCredentialAuthenticationProvider: vi.fn().mockImplementation(function () {
88
+ return {};
89
+ }),
82
90
  }));
83
91
  // ---------------------------------------------------------------------------
84
92
  // Import after mocks
@@ -100,6 +108,56 @@ describe('MSGraphProvider', () => {
100
108
  expect(ops).toContain('GetMessages');
101
109
  });
102
110
  });
111
+ describe('GetMessages recipient extraction', () => {
112
+ /**
113
+ * Drives one Graph message resource through the public GetMessages() path.
114
+ * GetMessages chains .filter().top().get(), so the api mock must be chainable;
115
+ * mockReturnValueOnce keeps the default (non-chainable) api mock intact for other tests.
116
+ */
117
+ const getMessageFor = async (graphMessage) => {
118
+ const chain = {
119
+ filter: vi.fn().mockReturnThis(),
120
+ top: vi.fn().mockReturnThis(),
121
+ get: vi.fn().mockResolvedValue({ value: [graphMessage] }),
122
+ };
123
+ mockGraphApi.mockReturnValueOnce(chain);
124
+ const result = (await provider.GetMessages({ NumMessages: 1 }));
125
+ expect(result.Success).toBe(true);
126
+ expect(result.Messages).toHaveLength(1);
127
+ return result.Messages[0];
128
+ };
129
+ it('populates ToRecipients and CCRecipients from the Graph recipient collections', async () => {
130
+ const message = await getMessageFor({
131
+ id: 'msg-1',
132
+ conversationId: 'conv-1',
133
+ subject: 'Hello',
134
+ from: { emailAddress: { address: 'assistant@example.com' } },
135
+ replyTo: [{ emailAddress: { address: 'assistant@example.com' } }],
136
+ toRecipients: [
137
+ { emailAddress: { address: 'us@example.org' } },
138
+ { emailAddress: { address: 'other@example.com' } },
139
+ ],
140
+ ccRecipients: [{ emailAddress: { address: 'leader@example.com' } }],
141
+ body: { content: 'body' },
142
+ });
143
+ expect(message.ToRecipients).toEqual(['us@example.org', 'other@example.com']);
144
+ expect(message.CCRecipients).toEqual(['leader@example.com']);
145
+ // Legacy To keeps its historical replyTo[0] behavior — deliberately unchanged.
146
+ expect(message.To).toBe('assistant@example.com');
147
+ });
148
+ it('returns empty arrays when recipient collections are absent and drops address-less entries', async () => {
149
+ const message = await getMessageFor({
150
+ id: 'msg-2',
151
+ conversationId: 'conv-1',
152
+ subject: 'Hello',
153
+ from: { emailAddress: { address: 'assistant@example.com' } },
154
+ toRecipients: [{ emailAddress: {} }],
155
+ body: { content: 'body' },
156
+ });
157
+ expect(message.ToRecipients).toEqual([]);
158
+ expect(message.CCRecipients).toEqual([]);
159
+ });
160
+ });
103
161
  describe('credential resolution', () => {
104
162
  it('should return failure when required credentials are missing with fallback disabled', async () => {
105
163
  const message = {
@@ -121,5 +179,269 @@ describe('MSGraphProvider', () => {
121
179
  expect(typeof provider.CreateDraft).toBe('function');
122
180
  });
123
181
  });
182
+ // -------------------------------------------------------------------------
183
+ // Push-notification subscriptions
184
+ // -------------------------------------------------------------------------
185
+ // Builds a Graph client chain object and wires the hoisted api() mock to return it,
186
+ // so tests can inspect the post/patch/delete payloads and stub responses.
187
+ const wireChain = (overrides = {}) => {
188
+ const chain = {
189
+ post: vi.fn().mockResolvedValue({}),
190
+ get: vi.fn().mockResolvedValue({ value: [] }),
191
+ patch: vi.fn().mockResolvedValue({}),
192
+ delete: vi.fn().mockResolvedValue(undefined),
193
+ filter: vi.fn(),
194
+ ...overrides,
195
+ };
196
+ // filter() is chainable (returns the same object) for findSystemFolder's search path.
197
+ chain.filter.mockReturnValue(chain);
198
+ mockGraphApi.mockReturnValue(chain);
199
+ return chain;
200
+ };
201
+ describe('getSupportedOperations (subscriptions)', () => {
202
+ it('includes the four subscription operations', () => {
203
+ const ops = provider.getSupportedOperations();
204
+ expect(ops).toContain('CreateSubscription');
205
+ expect(ops).toContain('RenewSubscription');
206
+ expect(ops).toContain('DeleteSubscription');
207
+ expect(ops).toContain('ParseNotification');
208
+ });
209
+ it('capability invariant: capabilities defined IFF ops present', () => {
210
+ const caps = provider.GetSubscriptionCapabilities();
211
+ const ops = provider.getSupportedOperations();
212
+ const subOps = ['CreateSubscription', 'RenewSubscription', 'DeleteSubscription', 'ParseNotification'];
213
+ const allPresent = subOps.every((op) => ops.includes(op));
214
+ expect(caps !== undefined).toBe(allPresent);
215
+ });
216
+ });
217
+ describe('GetSubscriptionCapabilities', () => {
218
+ it('matches the Graph mail spec', () => {
219
+ const caps = provider.GetSubscriptionCapabilities();
220
+ expect(caps).toEqual({
221
+ MaxLifetimeMinutes: 4230,
222
+ SupportedChangeTypes: ['created', 'updated', 'deleted'],
223
+ RequiresEndpointValidation: true,
224
+ SupportsSubscriptionManagement: true,
225
+ DeliversPayloadInline: false,
226
+ });
227
+ });
228
+ });
229
+ describe('CreateSubscription', () => {
230
+ const baseParams = () => ({
231
+ ChangeTypes: ['created'],
232
+ NotificationUrl: 'https://api.example.com/hook',
233
+ ClientState: 'secret-123',
234
+ Identifier: 'support@customer.org',
235
+ });
236
+ it('posts to AZURE_GRAPH_ENDPOINT root /v1.0/subscriptions with default inbox and no extra calls', async () => {
237
+ const chain = wireChain({ post: vi.fn().mockResolvedValue({ id: 'sub-1', expirationDateTime: '2026-07-25T00:00:00Z' }) });
238
+ const result = await provider.CreateSubscription(baseParams());
239
+ expect(result.Success).toBe(true);
240
+ expect(result.SubscriptionID).toBe('sub-1');
241
+ expect(result.ExpiresAt).toEqual(new Date('2026-07-25T00:00:00Z'));
242
+ // URL is the Graph root, not users-rooted, not bare relative.
243
+ expect(mockGraphApi).toHaveBeenCalledWith('https://graph.microsoft.com/v1.0/subscriptions');
244
+ // No folder-resolution call for well-known 'inbox'.
245
+ expect(chain.get).not.toHaveBeenCalled();
246
+ const body = chain.post.mock.calls[0][0];
247
+ expect(body.changeType).toBe('created');
248
+ expect(body.notificationUrl).toBe('https://api.example.com/hook');
249
+ expect(body.clientState).toBe('secret-123');
250
+ expect(body.resource).toBe("/users/support@customer.org/mailFolders('inbox')/messages");
251
+ expect(typeof body.expirationDateTime).toBe('string');
252
+ });
253
+ it('falls back to creds.accountEmail when Identifier is empty', async () => {
254
+ const chain = wireChain({ post: vi.fn().mockResolvedValue({ id: 'sub-fb' }) });
255
+ await provider.CreateSubscription({ ...baseParams(), Identifier: '' });
256
+ // Empty string must NOT produce /users//... - falls back to the env account email.
257
+ expect(chain.post.mock.calls[0][0].resource).toBe("/users/test@example.com/mailFolders('inbox')/messages");
258
+ });
259
+ it('passes a well-known folder name (sent) through with no resolution call', async () => {
260
+ const chain = wireChain({ post: vi.fn().mockResolvedValue({ id: 'sub-2' }) });
261
+ await provider.CreateSubscription({ ...baseParams(), ContextData: { folderName: 'sent' } });
262
+ expect(chain.get).not.toHaveBeenCalled();
263
+ expect(chain.post.mock.calls[0][0].resource).toBe("/users/support@customer.org/mailFolders('sentitems')/messages");
264
+ });
265
+ it('uses ContextData.folderId verbatim as an escape hatch (no resolution call)', async () => {
266
+ const chain = wireChain({ post: vi.fn().mockResolvedValue({ id: 'sub-3' }) });
267
+ await provider.CreateSubscription({ ...baseParams(), ContextData: { folderId: 'AAMkCustomId' } });
268
+ expect(chain.get).not.toHaveBeenCalled();
269
+ expect(chain.post.mock.calls[0][0].resource).toBe("/users/support@customer.org/mailFolders('AAMkCustomId')/messages");
270
+ });
271
+ it('resolves a custom display-name folder to an ID via findSystemFolder', async () => {
272
+ const chain = wireChain({
273
+ get: vi.fn().mockResolvedValue({ id: 'AAMkResolved' }),
274
+ post: vi.fn().mockResolvedValue({ id: 'sub-4' }),
275
+ });
276
+ await provider.CreateSubscription({ ...baseParams(), ContextData: { folderName: 'Support Cases' } });
277
+ expect(chain.get).toHaveBeenCalled();
278
+ expect(chain.post.mock.calls[0][0].resource).toBe("/users/support@customer.org/mailFolders('AAMkResolved')/messages");
279
+ });
280
+ it('fails when a custom folder cannot be resolved', async () => {
281
+ wireChain({
282
+ get: vi.fn().mockResolvedValue({ value: [] }), // no id, no search match
283
+ post: vi.fn().mockResolvedValue({ id: 'should-not-happen' }),
284
+ });
285
+ const result = await provider.CreateSubscription({ ...baseParams(), ContextData: { folderName: 'Nonexistent' } });
286
+ expect(result.Success).toBe(false);
287
+ expect(result.ErrorMessage).toContain('Could not resolve folder');
288
+ });
289
+ it('clamps expiration to 4230 minutes when requested too far out', async () => {
290
+ const chain = wireChain({ post: vi.fn().mockResolvedValue({ id: 'sub-5' }) });
291
+ const farFuture = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000); // 30 days
292
+ await provider.CreateSubscription({ ...baseParams(), RequestedExpiration: farFuture });
293
+ const sent = new Date(chain.post.mock.calls[0][0].expirationDateTime).getTime();
294
+ const maxAllowed = Date.now() + 4230 * 60 * 1000;
295
+ expect(sent).toBeLessThanOrEqual(maxAllowed + 1000);
296
+ expect(sent).toBeLessThan(farFuture.getTime());
297
+ });
298
+ it('fail-fast: rejects empty ClientState without touching Graph', async () => {
299
+ const chain = wireChain();
300
+ const result = await provider.CreateSubscription({ ...baseParams(), ClientState: '' });
301
+ expect(result.Success).toBe(false);
302
+ expect(result.ErrorMessage).toContain('ClientState');
303
+ expect(chain.post).not.toHaveBeenCalled();
304
+ });
305
+ it('fail-fast: rejects ClientState over 128 chars without touching Graph', async () => {
306
+ const chain = wireChain();
307
+ const result = await provider.CreateSubscription({ ...baseParams(), ClientState: 'x'.repeat(129) });
308
+ expect(result.Success).toBe(false);
309
+ expect(result.ErrorMessage).toContain('128');
310
+ expect(chain.post).not.toHaveBeenCalled();
311
+ });
312
+ it('fail-fast: rejects non-https NotificationUrl without touching Graph', async () => {
313
+ const chain = wireChain();
314
+ const result = await provider.CreateSubscription({ ...baseParams(), NotificationUrl: 'http://insecure.example.com/hook' });
315
+ expect(result.Success).toBe(false);
316
+ expect(result.ErrorMessage).toContain('https');
317
+ expect(chain.post).not.toHaveBeenCalled();
318
+ });
319
+ it('surfaces a Graph error in ErrorMessage', async () => {
320
+ wireChain({ post: vi.fn().mockRejectedValue(new Error('Endpoint validation failed')) });
321
+ const result = await provider.CreateSubscription(baseParams());
322
+ expect(result.Success).toBe(false);
323
+ expect(result.ErrorMessage).toContain('Endpoint validation failed');
324
+ });
325
+ });
326
+ describe('RenewSubscription', () => {
327
+ it('PATCHes a clamped expiration and returns the new expiration', async () => {
328
+ const chain = wireChain({ patch: vi.fn().mockResolvedValue({ id: 'sub-1', expirationDateTime: '2026-07-25T00:00:00Z' }) });
329
+ const result = await provider.RenewSubscription({ SubscriptionID: 'sub-1' });
330
+ expect(result.Success).toBe(true);
331
+ expect(result.ExpiresAt).toEqual(new Date('2026-07-25T00:00:00Z'));
332
+ expect(mockGraphApi).toHaveBeenCalledWith('https://graph.microsoft.com/v1.0/subscriptions/sub-1');
333
+ expect(typeof chain.patch.mock.calls[0][0].expirationDateTime).toBe('string');
334
+ });
335
+ it('returns a debuggable failure on 404 (expired or wrong credentials)', async () => {
336
+ wireChain({ patch: vi.fn().mockRejectedValue({ statusCode: 404 }) });
337
+ const result = await provider.RenewSubscription({ SubscriptionID: 'gone' });
338
+ expect(result.Success).toBe(false);
339
+ expect(result.ErrorMessage).toContain('expired or created under different credentials');
340
+ });
341
+ });
342
+ describe('DeleteSubscription', () => {
343
+ it('DELETEs and returns success', async () => {
344
+ const chain = wireChain();
345
+ const result = await provider.DeleteSubscription({ SubscriptionID: 'sub-1' });
346
+ expect(result.Success).toBe(true);
347
+ expect(chain.delete).toHaveBeenCalled();
348
+ expect(mockGraphApi).toHaveBeenCalledWith('https://graph.microsoft.com/v1.0/subscriptions/sub-1');
349
+ });
350
+ it('treats a 404 as success (idempotent delete)', async () => {
351
+ wireChain({ delete: vi.fn().mockRejectedValue({ statusCode: 404 }) });
352
+ const result = await provider.DeleteSubscription({ SubscriptionID: 'already-gone' });
353
+ expect(result.Success).toBe(true);
354
+ });
355
+ });
356
+ describe('ParseNotification', () => {
357
+ it('returns a handshake for a validationToken (no decoding)', async () => {
358
+ const result = await provider.ParseNotification({
359
+ Headers: {},
360
+ QueryParams: { validationToken: 'abc%2B123' },
361
+ RawBody: '',
362
+ });
363
+ expect(result.Success).toBe(true);
364
+ expect(result.Handshake).toEqual({
365
+ ResponseStatus: 200,
366
+ ResponseBody: 'abc%2B123', // verbatim - not decoded
367
+ ResponseContentType: 'text/plain',
368
+ });
369
+ expect(result.Notifications).toEqual([]);
370
+ expect(result.SuggestedResponseStatus).toBe(200);
371
+ });
372
+ it('normalizes a well-formed message notification', async () => {
373
+ const body = JSON.stringify({
374
+ value: [{
375
+ subscriptionId: 'sub-1',
376
+ clientState: 'secret-123',
377
+ changeType: 'created',
378
+ resource: "Users/support@customer.org/Messages/AAMkMsgId",
379
+ resourceData: { id: 'AAMkMsgId' },
380
+ }],
381
+ });
382
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: body });
383
+ expect(result.Success).toBe(true);
384
+ expect(result.SuggestedResponseStatus).toBe(202);
385
+ expect(result.SignatureValid).toBeUndefined();
386
+ expect(result.Notifications).toHaveLength(1);
387
+ const n = result.Notifications[0];
388
+ expect(n.Kind).toBe('message');
389
+ expect(n.SubscriptionID).toBe('sub-1');
390
+ expect(n.ClientState).toBe('secret-123');
391
+ expect(n.ChangeType).toBe('created');
392
+ expect(n.MessageIDs).toEqual(['AAMkMsgId']);
393
+ expect(n.Identifier).toBe('support@customer.org');
394
+ });
395
+ it('parses the Identifier from the mailFolders-shaped resource, case-insensitively', async () => {
396
+ const body = JSON.stringify({
397
+ value: [{
398
+ subscriptionId: 'sub-2',
399
+ resource: "users/abc-123-guid/mailFolders('inbox')/messages/AAMk",
400
+ resourceData: { id: 'AAMk' },
401
+ }],
402
+ });
403
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: body });
404
+ expect(result.Notifications[0].Identifier).toBe('abc-123-guid');
405
+ });
406
+ it('maps lifecycle events to Kind=lifecycle', async () => {
407
+ const body = JSON.stringify({
408
+ value: [{ subscriptionId: 'sub-1', lifecycleEvent: 'reauthorizationRequired' }],
409
+ });
410
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: body });
411
+ expect(result.Notifications[0].Kind).toBe('lifecycle');
412
+ expect(result.Notifications[0].LifecycleEvent).toBe('reauthorizationRequired');
413
+ expect(result.Notifications[0].MessageIDs).toEqual([]);
414
+ });
415
+ it('produces one NormalizedNotification per value[] item', async () => {
416
+ const body = JSON.stringify({
417
+ value: [
418
+ { subscriptionId: 's1', changeType: 'created', resourceData: { id: 'm1' } },
419
+ { subscriptionId: 's2', changeType: 'updated', resourceData: { id: 'm2' } },
420
+ ],
421
+ });
422
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: body });
423
+ expect(result.Notifications).toHaveLength(2);
424
+ expect(result.Notifications.map((n) => n.MessageIDs[0])).toEqual(['m1', 'm2']);
425
+ });
426
+ it('returns failure (400) on malformed JSON, never throwing', async () => {
427
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: '{not json' });
428
+ expect(result.Success).toBe(false);
429
+ expect(result.SuggestedResponseStatus).toBe(400);
430
+ expect(result.Notifications).toEqual([]);
431
+ });
432
+ it('returns failure (400) when value[] is missing', async () => {
433
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: '{"foo":"bar"}' });
434
+ expect(result.Success).toBe(false);
435
+ expect(result.SuggestedResponseStatus).toBe(400);
436
+ });
437
+ it('never throws on hostile/garbage input (fuzz-ish)', async () => {
438
+ const garbage = ['', '[]', 'null', 'true', '"a string"', '{"value":null}', '{"value":42}', '', '{"value":[null,42,"x"]}'];
439
+ for (const raw of garbage) {
440
+ const result = await provider.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: raw });
441
+ expect(typeof result.Success).toBe('boolean');
442
+ expect(Array.isArray(result.Notifications)).toBe(true);
443
+ }
444
+ });
445
+ });
124
446
  });
125
447
  //# sourceMappingURL=MSGraphProvider.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSGraphProvider.test.js","sourceRoot":"","sources":["../../src/__tests__/MSGraphProvider.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MSGraphProvider.test.js","sourceRoot":"","sources":["../../src/__tests__/MSGraphProvider.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/communication-ms-graph",
3
3
  "type": "module",
4
- "version": "5.49.0",
4
+ "version": "5.51.0",
5
5
  "description": "MemberJunction: Microsoft Graph Provider for the MJ Communication Framework",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -23,14 +23,14 @@
23
23
  "dependencies": {
24
24
  "@azure/identity": "^4.13.0",
25
25
  "@azure/msal-node": "^5.0.3",
26
- "@memberjunction/ai": "5.49.0",
27
- "@memberjunction/ai-provider-bundle": "5.49.0",
28
- "@memberjunction/aiengine": "5.49.0",
29
- "@memberjunction/communication-types": "5.49.0",
30
- "@memberjunction/core": "5.49.0",
31
- "@memberjunction/core-entities": "5.49.0",
32
- "@memberjunction/global": "5.49.0",
33
- "@memberjunction/sqlserver-dataprovider": "5.49.0",
26
+ "@memberjunction/ai": "5.51.0",
27
+ "@memberjunction/ai-provider-bundle": "5.51.0",
28
+ "@memberjunction/aiengine": "5.51.0",
29
+ "@memberjunction/communication-types": "5.51.0",
30
+ "@memberjunction/core": "5.51.0",
31
+ "@memberjunction/core-entities": "5.51.0",
32
+ "@memberjunction/global": "5.51.0",
33
+ "@memberjunction/sqlserver-dataprovider": "5.51.0",
34
34
  "@microsoft/microsoft-graph-client": "^3.0.7",
35
35
  "@microsoft/microsoft-graph-types": "^2.43.1",
36
36
  "@types/html-to-text": "^9.0.4",