@memberjunction/communication-types 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.
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Email address-list parsing utilities for MemberJunction Communication providers.
3
+ *
4
+ * Inbound providers surface recipient lists in different shapes: MS Graph returns
5
+ * structured recipient objects, while Gmail (and raw RFC 5322 sources generally)
6
+ * return the raw `To:` / `Cc:` header value — a comma-separated list in which display
7
+ * names may themselves contain commas inside double quotes
8
+ * (e.g. `"Doe, Jane" <jane@example.com>, bob@example.com`).
9
+ *
10
+ * @module AddressUtils
11
+ */
12
+ /**
13
+ * Parses an RFC 5322 style address-list header value (`To:` / `Cc:` / `Bcc:`) into
14
+ * bare email addresses.
15
+ *
16
+ * Handles:
17
+ * - Quoted display names containing commas: `"Doe, Jane" <jane@x.com>` → `jane@x.com`
18
+ * - Angle-bracket forms with unquoted names: `Jane Doe <jane@x.com>` → `jane@x.com`
19
+ * - Bare addresses: `jane@x.com` → `jane@x.com`
20
+ * - Empty / null / undefined input → `[]`
21
+ * - Entries with no plausible address (nothing containing `@`) are dropped
22
+ *
23
+ * @param headerValue - the raw header value, or null/undefined when the header is absent
24
+ * @returns bare email addresses, in original order
25
+ */
26
+ export declare function ParseEmailAddressList(headerValue: string | null | undefined): string[];
27
+ //# sourceMappingURL=AddressUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../src/AddressUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAOtF"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Email address-list parsing utilities for MemberJunction Communication providers.
3
+ *
4
+ * Inbound providers surface recipient lists in different shapes: MS Graph returns
5
+ * structured recipient objects, while Gmail (and raw RFC 5322 sources generally)
6
+ * return the raw `To:` / `Cc:` header value — a comma-separated list in which display
7
+ * names may themselves contain commas inside double quotes
8
+ * (e.g. `"Doe, Jane" <jane@example.com>, bob@example.com`).
9
+ *
10
+ * @module AddressUtils
11
+ */
12
+ /**
13
+ * Parses an RFC 5322 style address-list header value (`To:` / `Cc:` / `Bcc:`) into
14
+ * bare email addresses.
15
+ *
16
+ * Handles:
17
+ * - Quoted display names containing commas: `"Doe, Jane" <jane@x.com>` → `jane@x.com`
18
+ * - Angle-bracket forms with unquoted names: `Jane Doe <jane@x.com>` → `jane@x.com`
19
+ * - Bare addresses: `jane@x.com` → `jane@x.com`
20
+ * - Empty / null / undefined input → `[]`
21
+ * - Entries with no plausible address (nothing containing `@`) are dropped
22
+ *
23
+ * @param headerValue - the raw header value, or null/undefined when the header is absent
24
+ * @returns bare email addresses, in original order
25
+ */
26
+ export function ParseEmailAddressList(headerValue) {
27
+ if (!headerValue || !headerValue.trim()) {
28
+ return [];
29
+ }
30
+ return splitOutsideQuotes(headerValue)
31
+ .map(extractEmailAddress)
32
+ .filter((address) => address !== null);
33
+ }
34
+ /**
35
+ * Splits an address-list string on commas that fall outside double-quoted sections,
36
+ * so quoted display names containing commas stay intact.
37
+ */
38
+ function splitOutsideQuotes(value) {
39
+ const parts = [];
40
+ let current = '';
41
+ let inQuotes = false;
42
+ for (const ch of value) {
43
+ if (ch === '"') {
44
+ inQuotes = !inQuotes;
45
+ current += ch;
46
+ }
47
+ else if (ch === ',' && !inQuotes) {
48
+ parts.push(current);
49
+ current = '';
50
+ }
51
+ else {
52
+ current += ch;
53
+ }
54
+ }
55
+ parts.push(current);
56
+ return parts;
57
+ }
58
+ /**
59
+ * Extracts the bare email address from a single address-list entry.
60
+ * Prefers the angle-bracket form (`Display Name <addr@host>`); falls back to
61
+ * treating the whole entry as a bare address. Returns null when no plausible
62
+ * address is present.
63
+ */
64
+ function extractEmailAddress(entry) {
65
+ const trimmed = entry.trim();
66
+ if (!trimmed) {
67
+ return null;
68
+ }
69
+ const angleMatch = trimmed.match(/<([^<>]*)>\s*$/);
70
+ const candidate = (angleMatch ? angleMatch[1] : trimmed).trim();
71
+ return candidate.includes('@') ? candidate : null;
72
+ }
73
+ //# sourceMappingURL=AddressUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../src/AddressUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAsC;IACxE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,kBAAkB,CAAC,WAAW,CAAC;SACjC,GAAG,CAAC,mBAAmB,CAAC;SACxB,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACrB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC"}
@@ -176,6 +176,19 @@ export type GetMessagesParams<T = Record<string, any>> = {
176
176
  export type GetMessageMessage = {
177
177
  From: string;
178
178
  To: string;
179
+ /**
180
+ * All To recipients of the message, normalized to bare email addresses.
181
+ * Unlike `To` — whose meaning is provider-specific for historical reasons
182
+ * (MS Graph populates it from the first reply-to address; Gmail from the raw
183
+ * `To:` header) — this is the actual recipient list as received. Optional:
184
+ * providers that cannot supply it leave it undefined.
185
+ */
186
+ ToRecipients?: string[];
187
+ /**
188
+ * All CC recipients of the message, normalized to bare email addresses.
189
+ * Optional: providers that cannot supply it leave it undefined.
190
+ */
191
+ CCRecipients?: string[];
179
192
  Body: string;
180
193
  /**
181
194
  * In some providers, such as MS Graph, replies can be sent to multiple other recipients
@@ -609,11 +622,297 @@ export type DownloadAttachmentResult<T = Record<string, any>> = BaseMessageResul
609
622
  */
610
623
  Result?: T;
611
624
  };
625
+ /**
626
+ * The kinds of change a subscription can watch. Providers support a subset (discover
627
+ * via {@link SubscriptionCapabilities.SupportedChangeTypes}).
628
+ */
629
+ export type SubscriptionChangeType = 'created' | 'updated' | 'deleted';
630
+ /**
631
+ * Parameters for creating a push-notification subscription with a remote messaging
632
+ * service (e.g. Microsoft Graph change notifications).
633
+ */
634
+ export type CreateSubscriptionParams<T = Record<string, any>> = {
635
+ /**
636
+ * What to watch - same semantics as {@link GetMessagesParams.Identifier}: an email
637
+ * address/mailbox for email providers, a phone number for SMS, etc. Optional when
638
+ * the credential itself is scoped to one mailbox/number.
639
+ */
640
+ Identifier?: string;
641
+ /**
642
+ * Which changes to watch, e.g. ['created']. The provider validates these against
643
+ * what the remote service supports.
644
+ */
645
+ ChangeTypes: SubscriptionChangeType[];
646
+ /**
647
+ * Public HTTPS endpoint the remote service will call when a matching change occurs.
648
+ */
649
+ NotificationUrl: string;
650
+ /**
651
+ * Consumer-generated opaque secret the remote service echoes back in every
652
+ * notification (Graph `clientState`). The consumer uses it to authenticate inbound
653
+ * notifications. Providers pass it through; they do not store it.
654
+ */
655
+ ClientState: string;
656
+ /**
657
+ * Requested expiration. Providers clamp to the service maximum (Graph mail:
658
+ * 4230 minutes). Ignored by services whose registrations don't expire.
659
+ */
660
+ RequestedExpiration?: Date;
661
+ /**
662
+ * Optional secondary endpoint for lifecycle events (Graph
663
+ * `lifecycleNotificationUrl` - reauthorization required, subscription removed, etc.).
664
+ */
665
+ LifecycleNotificationUrl?: string;
666
+ /**
667
+ * Provider-specific extras (e.g. Graph: `{ folderName }` or `{ folderId }`;
668
+ * Gmail: Pub/Sub topic).
669
+ */
670
+ ContextData?: T;
671
+ };
672
+ /**
673
+ * Result of creating or renewing a subscription.
674
+ */
675
+ export type SubscriptionResult<T = Record<string, any>> = BaseMessageResult & {
676
+ /**
677
+ * The remote service's subscription ID. The consumer must persist this to renew or
678
+ * delete the subscription later.
679
+ */
680
+ SubscriptionID?: string;
681
+ /**
682
+ * When the subscription expires and must be renewed. `undefined` = never expires.
683
+ */
684
+ ExpiresAt?: Date;
685
+ /**
686
+ * If populated, holds provider-specific result data (matches the existing
687
+ * `XResult<T>` convention across this file).
688
+ */
689
+ Result?: T;
690
+ };
691
+ /**
692
+ * Parameters for renewing an existing subscription before it expires.
693
+ */
694
+ export type RenewSubscriptionParams<T = Record<string, any>> = {
695
+ /**
696
+ * The remote service's subscription ID returned from {@link CreateSubscriptionParams}.
697
+ */
698
+ SubscriptionID: string;
699
+ /**
700
+ * Requested new expiration. Providers clamp to the service maximum.
701
+ */
702
+ RequestedExpiration?: Date;
703
+ /**
704
+ * Optional, provider-specific context data.
705
+ */
706
+ ContextData?: T;
707
+ };
708
+ /**
709
+ * Parameters for deleting an existing subscription.
710
+ */
711
+ export type DeleteSubscriptionParams<T = Record<string, any>> = {
712
+ /**
713
+ * The remote service's subscription ID to delete.
714
+ */
715
+ SubscriptionID: string;
716
+ /**
717
+ * Optional, provider-specific context data.
718
+ */
719
+ ContextData?: T;
720
+ };
721
+ /**
722
+ * Provider metadata describing its subscription capabilities, so consumers can schedule
723
+ * renewals and validate change types generically. Returned by
724
+ * {@link BaseCommunicationProvider.GetSubscriptionCapabilities}; `undefined` there means
725
+ * subscriptions are not supported.
726
+ */
727
+ export type SubscriptionCapabilities = {
728
+ /**
729
+ * The maximum lifetime the remote service allows, in minutes. `undefined` = the
730
+ * service's subscriptions do not expire.
731
+ */
732
+ MaxLifetimeMinutes?: number;
733
+ /**
734
+ * The change types this provider/service supports watching.
735
+ */
736
+ SupportedChangeTypes: SubscriptionChangeType[];
737
+ /**
738
+ * True when the remote service validates the notification endpoint at create time
739
+ * (Graph performs a synchronous handshake requiring the endpoint to echo a token).
740
+ */
741
+ RequiresEndpointValidation: boolean;
742
+ /**
743
+ * True when the provider can programmatically create/delete the inbound registration
744
+ * with the remote service ({@link BaseCommunicationProvider.CreateSubscription} /
745
+ * {@link BaseCommunicationProvider.DeleteSubscription} are implemented). When false, the
746
+ * provider only PARSES inbound notifications ({@link BaseCommunicationProvider.ParseNotification})
747
+ * and the registration is managed out-of-band (DNS/console).
748
+ *
749
+ * Note {@link BaseCommunicationProvider.RenewSubscription} is independent: a provider may
750
+ * support management but have no renewal concept (its registrations don't expire -
751
+ * {@link SubscriptionCapabilities.MaxLifetimeMinutes} `undefined`), e.g. Twilio/SendGrid.
752
+ * Only providers with a finite `MaxLifetimeMinutes` implement `RenewSubscription`.
753
+ */
754
+ SupportsSubscriptionManagement: boolean;
755
+ /**
756
+ * True when {@link BaseCommunicationProvider.ParseNotification} returns the full message
757
+ * inline in {@link NormalizedNotification.Message} (SendGrid Inbound Parse, Twilio SMS),
758
+ * so consumers need not re-fetch. False for HINT-mode providers (Graph, Gmail) where the
759
+ * notification only carries {@link NormalizedNotification.MessageIDs} to pull with.
760
+ */
761
+ DeliversPayloadInline: boolean;
762
+ };
763
+ /**
764
+ * Transport-neutral capture of an inbound webhook call. The consumer owns the HTTP
765
+ * server and builds this from the raw request; base-types stays web-framework-free.
766
+ *
767
+ * DECODING CONTRACT: `Headers` and `QueryParams` contain framework-DECODED values
768
+ * (what Express/Fastify hand you). Providers use them verbatim and never URL-decode
769
+ * again. `RawBody` is the exact raw body string, byte-for-byte - required for
770
+ * signature-verification schemes.
771
+ */
772
+ export type WebhookNotificationInput = {
773
+ /**
774
+ * HTTP headers with header names lower-cased; values already framework-decoded.
775
+ */
776
+ Headers: Record<string, string>;
777
+ /**
778
+ * Query-string parameters; values already framework-decoded - providers must not
779
+ * decode again.
780
+ */
781
+ QueryParams: Record<string, string>;
782
+ /**
783
+ * The exact raw body string, byte-for-byte.
784
+ */
785
+ RawBody: string;
786
+ /**
787
+ * The full public URL the notification was received on (used by signature schemes
788
+ * such as Twilio's, which sign the URL plus params).
789
+ */
790
+ RequestUrl?: string;
791
+ /**
792
+ * The HTTP method of the inbound request.
793
+ */
794
+ Method?: string;
795
+ };
796
+ /**
797
+ * A single normalized notification parsed from an inbound webhook payload.
798
+ *
799
+ * ## Two delivery modes: HINT vs. INLINE PAYLOAD
800
+ *
801
+ * A notification is a HINT by default: it signals that something changed and the consumer
802
+ * re-fetches content through the authenticated pull methods
803
+ * ({@link BaseCommunicationProvider.GetMessages} / {@link BaseCommunicationProvider.GetSingleMessage}),
804
+ * addressed by {@link NormalizedNotification.MessageIDs}. This is the safest mode - a forged
805
+ * notification is harmless (worst case: one extra empty sweep) because the real content only
806
+ * ever comes from an authenticated pull.
807
+ *
808
+ * Some transports, however, deliver the FULL message inline in the webhook body itself
809
+ * (SendGrid Inbound Parse posts the entire parsed email; Twilio posts the SMS body). For
810
+ * those, re-fetching is wasteful or impossible (SendGrid has no inbound-retrieval API at
811
+ * all). Such providers populate {@link NormalizedNotification.Message} with the parsed
812
+ * content, and the consumer uses it directly instead of pulling. A provider signals which
813
+ * mode it uses via {@link SubscriptionCapabilities.DeliversPayloadInline}.
814
+ *
815
+ * This inline-OR-pointer shape mirrors the established MJ duality (`FileOutputRef`'s
816
+ * `fileData?` vs `fileId?`, `ArtifactVersion.ContentMode` 'Text' vs 'File', `MediaOutput`'s
817
+ * `data?` vs `url?`): exactly one of the two carries the content for a given provider.
818
+ *
819
+ * SECURITY NOTE for inline mode: because the payload IS the data path, a provider that sets
820
+ * {@link NormalizedNotification.Message} MUST also authenticate the notification
821
+ * ({@link ParseNotificationResult.SignatureValid}) - or the consumer must - since a forged
822
+ * inline notification is no longer harmless. Providers whose inbound transport is unsigned
823
+ * (SendGrid Inbound Parse) rely on the consumer's URL secret / network controls; this is
824
+ * documented per-provider.
825
+ */
826
+ export type NormalizedNotification = {
827
+ /**
828
+ * `'message'` for a content-change notification, `'lifecycle'` for a subscription
829
+ * lifecycle event (see {@link NormalizedNotification.LifecycleEvent}).
830
+ */
831
+ Kind: 'message' | 'lifecycle';
832
+ /**
833
+ * The remote subscription ID this notification concerns, when the service includes
834
+ * it (Graph does).
835
+ */
836
+ SubscriptionID?: string;
837
+ /**
838
+ * Echo of {@link CreateSubscriptionParams.ClientState}. The consumer MUST verify it
839
+ * (constant-time) against the secret stored alongside the subscription.
840
+ */
841
+ ClientState?: string;
842
+ /**
843
+ * Which mailbox / phone number this concerns, when derivable from the payload.
844
+ */
845
+ Identifier?: string;
846
+ /**
847
+ * The kind of change, when the service reports it.
848
+ */
849
+ ChangeType?: SubscriptionChangeType;
850
+ /**
851
+ * Provider message IDs when the notification carries them (Graph `resourceData.id`,
852
+ * Twilio `MessageSid`). An empty array means "something changed; do a targeted
853
+ * {@link BaseCommunicationProvider.GetMessages}". This is the HINT/pointer path; for
854
+ * inline-payload providers it may still be populated (e.g. Twilio's `MessageSid`) so a
855
+ * consumer CAN re-fetch, but {@link NormalizedNotification.Message} is present and
856
+ * authoritative.
857
+ */
858
+ MessageIDs: string[];
859
+ /**
860
+ * The fully parsed inbound message, present ONLY when the provider's transport delivers
861
+ * the content inline (see {@link SubscriptionCapabilities.DeliversPayloadInline}).
862
+ * When set, the consumer uses this directly and does NOT need to re-fetch via
863
+ * {@link BaseCommunicationProvider.GetMessages}. `undefined` for HINT-mode providers
864
+ * (Graph, Gmail), where the content must be pulled using {@link NormalizedNotification.MessageIDs}.
865
+ */
866
+ Message?: GetMessageMessage;
867
+ /**
868
+ * For `Kind: 'lifecycle'`: which lifecycle event occurred.
869
+ */
870
+ LifecycleEvent?: 'subscriptionRemoved' | 'missed' | 'reauthorizationRequired';
871
+ /**
872
+ * The raw provider payload for this item, for consumer needs beyond the normalized
873
+ * fields above.
874
+ */
875
+ RawData?: unknown;
876
+ };
877
+ /**
878
+ * Result of parsing an inbound push notification via
879
+ * {@link BaseCommunicationProvider.ParseNotification}.
880
+ */
881
+ export type ParseNotificationResult = BaseMessageResult & {
882
+ /**
883
+ * Endpoint-validation handshake (Graph `validationToken`). When set, the consumer
884
+ * MUST send exactly this response and process nothing else.
885
+ */
886
+ Handshake?: {
887
+ /** The HTTP status to respond with (Graph handshake: 200). */
888
+ ResponseStatus: number;
889
+ /** The exact body to respond with (the validation token). */
890
+ ResponseBody: string;
891
+ /** The Content-Type to respond with (Graph handshake: 'text/plain'). */
892
+ ResponseContentType: string;
893
+ };
894
+ /**
895
+ * Cryptographic signature-verification outcome, where the provider has a scheme
896
+ * (Twilio HMAC, SendGrid ECDSA). `undefined` = no signature scheme exists (Graph) -
897
+ * the consumer authenticates via {@link NormalizedNotification.ClientState} instead.
898
+ */
899
+ SignatureValid?: boolean;
900
+ /**
901
+ * The normalized notifications extracted from the payload (one per item in the
902
+ * service's batch). Empty for handshake and malformed-input results.
903
+ */
904
+ Notifications: NormalizedNotification[];
905
+ /**
906
+ * The HTTP status the consumer should respond with after accepting (Graph expects a
907
+ * fast 202).
908
+ */
909
+ SuggestedResponseStatus: number;
910
+ };
612
911
  /**
613
912
  * Enumeration of all supported provider operations.
614
913
  * Use with getSupportedOperations() to discover provider capabilities.
615
914
  */
616
- export type ProviderOperation = 'SendSingleMessage' | 'GetMessages' | 'GetSingleMessage' | 'ForwardMessage' | 'ReplyToMessage' | 'CreateDraft' | 'DeleteMessage' | 'MoveMessage' | 'ListFolders' | 'MarkAsRead' | 'ArchiveMessage' | 'SearchMessages' | 'ListAttachments' | 'DownloadAttachment';
915
+ export type ProviderOperation = 'SendSingleMessage' | 'GetMessages' | 'GetSingleMessage' | 'ForwardMessage' | 'ReplyToMessage' | 'CreateDraft' | 'DeleteMessage' | 'MoveMessage' | 'ListFolders' | 'MarkAsRead' | 'ArchiveMessage' | 'SearchMessages' | 'ListAttachments' | 'DownloadAttachment' | 'CreateSubscription' | 'RenewSubscription' | 'DeleteSubscription' | 'ParseNotification';
617
916
  /**
618
917
  * Base class for all communication providers. Each provider sub-classes this base class and implements functionality specific to the provider.
619
918
  *
@@ -769,6 +1068,70 @@ export declare abstract class BaseCommunicationProvider {
769
1068
  * @returns Promise<DownloadAttachmentResult> - The attachment content
770
1069
  */
771
1070
  DownloadAttachment(params: DownloadAttachmentParams, credentials?: ProviderCredentialsBase): Promise<DownloadAttachmentResult>;
1071
+ /**
1072
+ * Convenience gate: `true` when this provider supports inbound push in ANY form
1073
+ * (subscription-managed or inbound-parse), `false` otherwise. Lets callers cleanly
1074
+ * short-circuit — `if (provider.SupportsPush) { ... }` — instead of probing individual
1075
+ * operations.
1076
+ *
1077
+ * Derived from {@link GetSubscriptionCapabilities} so it stays in lockstep with actual
1078
+ * capability: providers that support push return capabilities and thereby report
1079
+ * `SupportsPush === true` for free; providers that don't return `undefined` and report
1080
+ * `false`. Subclasses normally do NOT override this — override
1081
+ * {@link GetSubscriptionCapabilities} instead.
1082
+ */
1083
+ get SupportsPush(): boolean;
1084
+ /**
1085
+ * Creates a push-notification subscription with the remote messaging service.
1086
+ * Override in subclasses that support this operation.
1087
+ * @param params - Parameters describing what to watch and where to notify
1088
+ * @param credentials - Optional credentials override for this request
1089
+ * @returns Promise<SubscriptionResult> - The created subscription's ID and expiration
1090
+ */
1091
+ CreateSubscription(params: CreateSubscriptionParams, credentials?: ProviderCredentialsBase): Promise<SubscriptionResult>;
1092
+ /**
1093
+ * Renews an existing subscription before it expires. The caller MUST pass credentials
1094
+ * for the same account/app registration used to create the subscription.
1095
+ * Override in subclasses that support this operation.
1096
+ * @param params - Parameters identifying the subscription and the new expiration
1097
+ * @param credentials - Optional credentials override for this request
1098
+ * @returns Promise<SubscriptionResult> - The renewed subscription's expiration
1099
+ */
1100
+ RenewSubscription(params: RenewSubscriptionParams, credentials?: ProviderCredentialsBase): Promise<SubscriptionResult>;
1101
+ /**
1102
+ * Deletes an existing subscription. The caller MUST pass credentials for the same
1103
+ * account/app registration used to create the subscription. Implementations should
1104
+ * treat "already gone" (e.g. 404) as success - deletion is idempotent from the
1105
+ * consumer's perspective.
1106
+ * Override in subclasses that support this operation.
1107
+ * @param params - Parameters identifying the subscription to delete
1108
+ * @param credentials - Optional credentials override for this request
1109
+ * @returns Promise<BaseMessageResult> - Result of the delete operation
1110
+ */
1111
+ DeleteSubscription(params: DeleteSubscriptionParams, credentials?: ProviderCredentialsBase): Promise<BaseMessageResult>;
1112
+ /**
1113
+ * Parses and validates an inbound push notification. This is a pure operation: no
1114
+ * network calls. It MUST be safe on hostile/garbage input - never throw on malformed
1115
+ * payloads; return `Success: false` with `SuggestedResponseStatus: 400` instead.
1116
+ *
1117
+ * When the result carries a {@link ParseNotificationResult.Handshake}, the consumer
1118
+ * must send exactly that response and process nothing else (endpoint validation).
1119
+ * Override in subclasses that support this operation.
1120
+ * @param input - Transport-neutral capture of the inbound webhook request
1121
+ * @param credentials - Optional credentials override (for schemes that verify signatures)
1122
+ * @returns Promise<ParseNotificationResult> - Normalized notifications and/or handshake
1123
+ */
1124
+ ParseNotification(input: WebhookNotificationInput, credentials?: ProviderCredentialsBase): Promise<ParseNotificationResult>;
1125
+ /**
1126
+ * Returns this provider's subscription capabilities, or `undefined` when subscriptions
1127
+ * are not supported. Consumers use this to schedule renewals and validate change types
1128
+ * generically. Override in subclasses that support subscriptions.
1129
+ *
1130
+ * INVARIANT: returning a defined value here REQUIRES the four subscription operations
1131
+ * to appear in {@link getSupportedOperations}.
1132
+ * @returns SubscriptionCapabilities when supported, otherwise undefined
1133
+ */
1134
+ GetSubscriptionCapabilities(): SubscriptionCapabilities | undefined;
772
1135
  }
773
1136
  export declare class MJCommunicationProviderEntityExtended extends MJCommunicationProviderEntity {
774
1137
  private _ProviderMessageTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../src/BaseProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseProvider.d.ts","sourceRoot":"","sources":["../src/BaseProvider.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,118 @@ export class BaseCommunicationProvider {
205
205
  ErrorMessage: `${this.ProviderName} does not support DownloadAttachment (MessageID: ${params.MessageID}, AttachmentID: ${params.AttachmentID}, credentials provided: ${!!credentials})`
206
206
  };
207
207
  }
208
+ // ========================================================================
209
+ // PUSH-NOTIFICATION SUBSCRIPTIONS - Override in subclasses to provide push support
210
+ // Default implementations return "not supported". Providers stay stateless: they
211
+ // create/renew/delete subscriptions with the remote service and parse inbound
212
+ // notifications, but never persist subscription state. See the type docs above.
213
+ //
214
+ // TWO PUSH SHAPES (a provider is one or the other, never neither-when-SupportsPush):
215
+ // • Subscription-managed (Graph, Gmail): the provider programmatically creates the
216
+ // registration (CreateSubscription), the service delivers HINT notifications, the
217
+ // consumer re-fetches via GetMessages. May expire (RenewSubscription).
218
+ // • Inbound-parse (SendGrid, Twilio): the notification carries the payload inline;
219
+ // ParseNotification populates NormalizedNotification.Message. Management may exist
220
+ // (Twilio SmsUrl, SendGrid Parse Settings) but there is no expiry/renewal.
221
+ //
222
+ // CAPABILITY GATE: SupportsPush === (GetSubscriptionCapabilities() !== undefined). The
223
+ // default SupportsPush getter derives from capabilities, so a provider "opts in" simply
224
+ // by returning capabilities - no separate flag to keep in sync (avoids the drift a hand-
225
+ // maintained boolean invites). Any push provider MUST implement ParseNotification and
226
+ // list it in getSupportedOperations(). Whether it ALSO implements Create/Renew/Delete is
227
+ // expressed by SubscriptionCapabilities.SupportsSubscriptionManagement + MaxLifetimeMinutes,
228
+ // and those ops must appear in getSupportedOperations() when implemented.
229
+ // ========================================================================
230
+ /**
231
+ * Convenience gate: `true` when this provider supports inbound push in ANY form
232
+ * (subscription-managed or inbound-parse), `false` otherwise. Lets callers cleanly
233
+ * short-circuit — `if (provider.SupportsPush) { ... }` — instead of probing individual
234
+ * operations.
235
+ *
236
+ * Derived from {@link GetSubscriptionCapabilities} so it stays in lockstep with actual
237
+ * capability: providers that support push return capabilities and thereby report
238
+ * `SupportsPush === true` for free; providers that don't return `undefined` and report
239
+ * `false`. Subclasses normally do NOT override this — override
240
+ * {@link GetSubscriptionCapabilities} instead.
241
+ */
242
+ get SupportsPush() {
243
+ return this.GetSubscriptionCapabilities() !== undefined;
244
+ }
245
+ /**
246
+ * Creates a push-notification subscription with the remote messaging service.
247
+ * Override in subclasses that support this operation.
248
+ * @param params - Parameters describing what to watch and where to notify
249
+ * @param credentials - Optional credentials override for this request
250
+ * @returns Promise<SubscriptionResult> - The created subscription's ID and expiration
251
+ */
252
+ async CreateSubscription(params, credentials) {
253
+ return {
254
+ Success: false,
255
+ ErrorMessage: `${this.ProviderName} does not support CreateSubscription (Identifier: ${params.Identifier}, credentials provided: ${!!credentials})`
256
+ };
257
+ }
258
+ /**
259
+ * Renews an existing subscription before it expires. The caller MUST pass credentials
260
+ * for the same account/app registration used to create the subscription.
261
+ * Override in subclasses that support this operation.
262
+ * @param params - Parameters identifying the subscription and the new expiration
263
+ * @param credentials - Optional credentials override for this request
264
+ * @returns Promise<SubscriptionResult> - The renewed subscription's expiration
265
+ */
266
+ async RenewSubscription(params, credentials) {
267
+ return {
268
+ Success: false,
269
+ ErrorMessage: `${this.ProviderName} does not support RenewSubscription (SubscriptionID: ${params.SubscriptionID}, credentials provided: ${!!credentials})`
270
+ };
271
+ }
272
+ /**
273
+ * Deletes an existing subscription. The caller MUST pass credentials for the same
274
+ * account/app registration used to create the subscription. Implementations should
275
+ * treat "already gone" (e.g. 404) as success - deletion is idempotent from the
276
+ * consumer's perspective.
277
+ * Override in subclasses that support this operation.
278
+ * @param params - Parameters identifying the subscription to delete
279
+ * @param credentials - Optional credentials override for this request
280
+ * @returns Promise<BaseMessageResult> - Result of the delete operation
281
+ */
282
+ async DeleteSubscription(params, credentials) {
283
+ return {
284
+ Success: false,
285
+ ErrorMessage: `${this.ProviderName} does not support DeleteSubscription (SubscriptionID: ${params.SubscriptionID}, credentials provided: ${!!credentials})`
286
+ };
287
+ }
288
+ /**
289
+ * Parses and validates an inbound push notification. This is a pure operation: no
290
+ * network calls. It MUST be safe on hostile/garbage input - never throw on malformed
291
+ * payloads; return `Success: false` with `SuggestedResponseStatus: 400` instead.
292
+ *
293
+ * When the result carries a {@link ParseNotificationResult.Handshake}, the consumer
294
+ * must send exactly that response and process nothing else (endpoint validation).
295
+ * Override in subclasses that support this operation.
296
+ * @param input - Transport-neutral capture of the inbound webhook request
297
+ * @param credentials - Optional credentials override (for schemes that verify signatures)
298
+ * @returns Promise<ParseNotificationResult> - Normalized notifications and/or handshake
299
+ */
300
+ async ParseNotification(input, credentials) {
301
+ return {
302
+ Success: false,
303
+ ErrorMessage: `${this.ProviderName} does not support ParseNotification (body length: ${input.RawBody?.length ?? 0}, credentials provided: ${!!credentials})`,
304
+ Notifications: [],
305
+ SuggestedResponseStatus: 400
306
+ };
307
+ }
308
+ /**
309
+ * Returns this provider's subscription capabilities, or `undefined` when subscriptions
310
+ * are not supported. Consumers use this to schedule renewals and validate change types
311
+ * generically. Override in subclasses that support subscriptions.
312
+ *
313
+ * INVARIANT: returning a defined value here REQUIRES the four subscription operations
314
+ * to appear in {@link getSupportedOperations}.
315
+ * @returns SubscriptionCapabilities when supported, otherwise undefined
316
+ */
317
+ GetSubscriptionCapabilities() {
318
+ return undefined;
319
+ }
208
320
  }
209
321
  let MJCommunicationProviderEntityExtended = class MJCommunicationProviderEntityExtended extends MJCommunicationProviderEntity {
210
322
  get MessageTypes() {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProvider.js","sourceRoot":"","sources":["../src/BaseProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseProvider.js","sourceRoot":"","sources":["../src/BaseProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AddressUtils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressUtils.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/AddressUtils.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Unit tests for AddressUtils — RFC 5322 address-list header parsing.
3
+ */
4
+ import { describe, it, expect } from 'vitest';
5
+ import { ParseEmailAddressList } from '../AddressUtils.js';
6
+ describe('ParseEmailAddressList', () => {
7
+ describe('empty and absent input', () => {
8
+ it('returns [] for undefined', () => {
9
+ expect(ParseEmailAddressList(undefined)).toEqual([]);
10
+ });
11
+ it('returns [] for null', () => {
12
+ expect(ParseEmailAddressList(null)).toEqual([]);
13
+ });
14
+ it('returns [] for an empty string', () => {
15
+ expect(ParseEmailAddressList('')).toEqual([]);
16
+ });
17
+ it('returns [] for whitespace-only input', () => {
18
+ expect(ParseEmailAddressList(' ')).toEqual([]);
19
+ });
20
+ });
21
+ describe('bare addresses', () => {
22
+ it('parses a single bare address', () => {
23
+ expect(ParseEmailAddressList('jane@example.com')).toEqual(['jane@example.com']);
24
+ });
25
+ it('parses multiple comma-separated bare addresses', () => {
26
+ expect(ParseEmailAddressList('a@x.com, b@y.com,c@z.com')).toEqual(['a@x.com', 'b@y.com', 'c@z.com']);
27
+ });
28
+ it('trims surrounding whitespace', () => {
29
+ expect(ParseEmailAddressList(' a@x.com , b@y.com ')).toEqual(['a@x.com', 'b@y.com']);
30
+ });
31
+ });
32
+ describe('display-name forms', () => {
33
+ it('extracts the address from an unquoted display name with angle brackets', () => {
34
+ expect(ParseEmailAddressList('Jane Doe <jane@example.com>')).toEqual(['jane@example.com']);
35
+ });
36
+ it('extracts the address from a quoted display name', () => {
37
+ expect(ParseEmailAddressList('"Jane Doe" <jane@example.com>')).toEqual(['jane@example.com']);
38
+ });
39
+ it('keeps quoted display names containing commas intact', () => {
40
+ expect(ParseEmailAddressList('"Doe, Jane" <jane@example.com>, bob@example.com')).toEqual([
41
+ 'jane@example.com',
42
+ 'bob@example.com'
43
+ ]);
44
+ });
45
+ it('handles multiple quoted-comma names in one list', () => {
46
+ expect(ParseEmailAddressList('"Doe, Jane" <jane@x.com>, "Smith, Bob" <bob@y.com>, plain@z.com')).toEqual(['jane@x.com', 'bob@y.com', 'plain@z.com']);
47
+ });
48
+ it('handles a display name containing an @ by preferring the angle-bracket address', () => {
49
+ expect(ParseEmailAddressList('"jane@old.example" <jane@new.example>')).toEqual(['jane@new.example']);
50
+ });
51
+ });
52
+ describe('mixed and malformed entries', () => {
53
+ it('parses a mix of bare, named, and quoted forms preserving order', () => {
54
+ expect(ParseEmailAddressList('first@x.com, Second Person <second@y.com>, "Third, Person" <third@z.com>')).toEqual(['first@x.com', 'second@y.com', 'third@z.com']);
55
+ });
56
+ it('drops entries with no plausible address', () => {
57
+ expect(ParseEmailAddressList('undisclosed-recipients:;, real@example.com')).toEqual(['real@example.com']);
58
+ });
59
+ it('drops empty segments from trailing or doubled commas', () => {
60
+ expect(ParseEmailAddressList('a@x.com,, b@y.com,')).toEqual(['a@x.com', 'b@y.com']);
61
+ });
62
+ it('drops an angle-bracket entry whose address part has no @', () => {
63
+ expect(ParseEmailAddressList('Broken <not-an-address>, ok@example.com')).toEqual(['ok@example.com']);
64
+ });
65
+ });
66
+ });
67
+ //# sourceMappingURL=AddressUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressUtils.test.js","sourceRoot":"","sources":["../../src/__tests__/AddressUtils.test.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,67 @@ class TestProvider extends BaseCommunicationProvider {
38
38
  return { Success: true };
39
39
  }
40
40
  }
41
+ // A subscription-managed, HINT-mode push provider (Graph/Gmail shape): full CRUD, the
42
+ // notification only carries MessageIDs to re-fetch with — never an inline Message.
43
+ class SubscriptionManagedPushProvider extends TestProvider {
44
+ getSupportedOperations() {
45
+ return [
46
+ ...super.getSupportedOperations(),
47
+ 'CreateSubscription',
48
+ 'RenewSubscription',
49
+ 'DeleteSubscription',
50
+ 'ParseNotification',
51
+ ];
52
+ }
53
+ GetSubscriptionCapabilities() {
54
+ return {
55
+ MaxLifetimeMinutes: 4230,
56
+ SupportedChangeTypes: ['created'],
57
+ RequiresEndpointValidation: true,
58
+ SupportsSubscriptionManagement: true,
59
+ DeliversPayloadInline: false,
60
+ };
61
+ }
62
+ async ParseNotification(_input) {
63
+ return {
64
+ Success: true,
65
+ Notifications: [{ Kind: 'message', MessageIDs: ['ext-1'] }],
66
+ SuggestedResponseStatus: 202,
67
+ };
68
+ }
69
+ }
70
+ // A parse-only, INLINE-mode push provider (SendGrid shape): no renewal, the notification
71
+ // carries the full message inline in NormalizedNotification.Message (no re-fetch path).
72
+ class InlineParsePushProvider extends TestProvider {
73
+ getSupportedOperations() {
74
+ return [
75
+ ...super.getSupportedOperations(),
76
+ 'CreateSubscription',
77
+ 'DeleteSubscription',
78
+ 'ParseNotification',
79
+ ];
80
+ }
81
+ GetSubscriptionCapabilities() {
82
+ return {
83
+ MaxLifetimeMinutes: undefined,
84
+ SupportedChangeTypes: ['created'],
85
+ RequiresEndpointValidation: false,
86
+ SupportsSubscriptionManagement: true,
87
+ DeliversPayloadInline: true,
88
+ };
89
+ }
90
+ async ParseNotification(_input) {
91
+ return {
92
+ Success: true,
93
+ Notifications: [{
94
+ Kind: 'message',
95
+ MessageIDs: [],
96
+ Message: { From: 'a@x.com', To: 'b@y.com', Body: 'hello', Subject: 'hi' },
97
+ }],
98
+ SuggestedResponseStatus: 200,
99
+ };
100
+ }
101
+ }
41
102
  describe('Message', () => {
42
103
  it('should create a new Message with default properties', () => {
43
104
  const msg = new Message();
@@ -183,6 +244,114 @@ describe('BaseCommunicationProvider', () => {
183
244
  expect(result.ErrorMessage).toContain('credentials provided: false');
184
245
  });
185
246
  });
247
+ describe('subscription default implementations', () => {
248
+ it('CreateSubscription should return not supported', async () => {
249
+ const result = await provider.CreateSubscription({
250
+ ChangeTypes: ['created'],
251
+ NotificationUrl: 'https://example.com/hook',
252
+ ClientState: 'secret',
253
+ Identifier: 'mailbox@test.com',
254
+ });
255
+ expect(result.Success).toBe(false);
256
+ expect(result.ErrorMessage).toContain('does not support CreateSubscription');
257
+ expect(result.ErrorMessage).toContain('mailbox@test.com');
258
+ });
259
+ it('RenewSubscription should return not supported', async () => {
260
+ const result = await provider.RenewSubscription({ SubscriptionID: 'sub-1' });
261
+ expect(result.Success).toBe(false);
262
+ expect(result.ErrorMessage).toContain('does not support RenewSubscription');
263
+ expect(result.ErrorMessage).toContain('sub-1');
264
+ });
265
+ it('DeleteSubscription should return not supported', async () => {
266
+ const result = await provider.DeleteSubscription({ SubscriptionID: 'sub-1' });
267
+ expect(result.Success).toBe(false);
268
+ expect(result.ErrorMessage).toContain('does not support DeleteSubscription');
269
+ expect(result.ErrorMessage).toContain('sub-1');
270
+ });
271
+ it('ParseNotification should return not supported with empty notifications and a 400', async () => {
272
+ const result = await provider.ParseNotification({
273
+ Headers: {},
274
+ QueryParams: {},
275
+ RawBody: '{}',
276
+ });
277
+ expect(result.Success).toBe(false);
278
+ expect(result.ErrorMessage).toContain('does not support ParseNotification');
279
+ expect(result.Notifications).toEqual([]);
280
+ expect(result.SuggestedResponseStatus).toBe(400);
281
+ });
282
+ it('GetSubscriptionCapabilities should return undefined by default', () => {
283
+ expect(provider.GetSubscriptionCapabilities()).toBeUndefined();
284
+ });
285
+ it('subscription operations are absent from getSupportedOperations by default', () => {
286
+ expect(provider.supportsOperation('CreateSubscription')).toBe(false);
287
+ expect(provider.supportsOperation('RenewSubscription')).toBe(false);
288
+ expect(provider.supportsOperation('DeleteSubscription')).toBe(false);
289
+ expect(provider.supportsOperation('ParseNotification')).toBe(false);
290
+ });
291
+ it('SupportsPush is false by default (no capabilities)', () => {
292
+ expect(provider.SupportsPush).toBe(false);
293
+ });
294
+ it('capability gate holds for the default provider: no capabilities, no push, no ops', () => {
295
+ expect(provider.GetSubscriptionCapabilities()).toBeUndefined();
296
+ expect(provider.SupportsPush).toBe(false);
297
+ const ops = provider.getSupportedOperations();
298
+ expect(ops.includes('ParseNotification')).toBe(false);
299
+ });
300
+ });
301
+ describe('push capability gate (SupportsPush + generalized invariant)', () => {
302
+ it('SupportsPush derives from GetSubscriptionCapabilities (subscription-managed provider)', () => {
303
+ const p = new SubscriptionManagedPushProvider();
304
+ expect(p.GetSubscriptionCapabilities()).toBeDefined();
305
+ expect(p.SupportsPush).toBe(true);
306
+ });
307
+ it('SupportsPush derives from GetSubscriptionCapabilities (inline-parse provider)', () => {
308
+ const p = new InlineParsePushProvider();
309
+ expect(p.GetSubscriptionCapabilities()).toBeDefined();
310
+ expect(p.SupportsPush).toBe(true);
311
+ });
312
+ it('GENERALIZED INVARIANT: SupportsPush IFF capabilities defined, for every shape', () => {
313
+ for (const p of [new TestProvider(), new SubscriptionManagedPushProvider(), new InlineParsePushProvider()]) {
314
+ expect(p.SupportsPush).toBe(p.GetSubscriptionCapabilities() !== undefined);
315
+ }
316
+ });
317
+ it('a push provider MUST support ParseNotification (the common denominator)', () => {
318
+ for (const p of [new SubscriptionManagedPushProvider(), new InlineParsePushProvider()]) {
319
+ expect(p.SupportsPush).toBe(true);
320
+ expect(p.supportsOperation('ParseNotification')).toBe(true);
321
+ }
322
+ });
323
+ it('SupportsSubscriptionManagement agrees with Create/Delete ops being present', () => {
324
+ for (const p of [new SubscriptionManagedPushProvider(), new InlineParsePushProvider()]) {
325
+ const caps = p.GetSubscriptionCapabilities();
326
+ const hasCreate = p.supportsOperation('CreateSubscription');
327
+ const hasDelete = p.supportsOperation('DeleteSubscription');
328
+ expect(caps.SupportsSubscriptionManagement).toBe(hasCreate && hasDelete);
329
+ }
330
+ });
331
+ it('RenewSubscription op present IFF the service has a finite MaxLifetimeMinutes', () => {
332
+ const managed = new SubscriptionManagedPushProvider();
333
+ expect(managed.GetSubscriptionCapabilities().MaxLifetimeMinutes).toBeTypeOf('number');
334
+ expect(managed.supportsOperation('RenewSubscription')).toBe(true);
335
+ const inline = new InlineParsePushProvider();
336
+ expect(inline.GetSubscriptionCapabilities().MaxLifetimeMinutes).toBeUndefined();
337
+ expect(inline.supportsOperation('RenewSubscription')).toBe(false);
338
+ });
339
+ it('HINT-mode notifications carry MessageIDs and no inline Message', async () => {
340
+ const p = new SubscriptionManagedPushProvider();
341
+ expect(p.GetSubscriptionCapabilities().DeliversPayloadInline).toBe(false);
342
+ const result = await p.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: '{}' });
343
+ expect(result.Notifications[0].MessageIDs.length).toBeGreaterThan(0);
344
+ expect(result.Notifications[0].Message).toBeUndefined();
345
+ });
346
+ it('INLINE-mode notifications carry the Message payload directly (no re-fetch)', async () => {
347
+ const p = new InlineParsePushProvider();
348
+ expect(p.GetSubscriptionCapabilities().DeliversPayloadInline).toBe(true);
349
+ const result = await p.ParseNotification({ Headers: {}, QueryParams: {}, RawBody: '' });
350
+ expect(result.Notifications[0].Message).toBeDefined();
351
+ expect(result.Notifications[0].Message?.Body).toBe('hello');
352
+ expect(result.Notifications[0].MessageIDs).toEqual([]);
353
+ });
354
+ });
186
355
  });
187
356
  describe('MJCommunicationProviderEntityExtended', () => {
188
357
  it('should get and set MessageTypes', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseProvider.test.js","sourceRoot":"","sources":["../../src/__tests__/BaseProvider.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseProvider.test.js","sourceRoot":"","sources":["../../src/__tests__/BaseProvider.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './BaseEngine.js';
2
2
  export * from './BaseProvider.js';
3
3
  export * from './CredentialUtils.js';
4
+ export * from './AddressUtils.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@
2
2
  export * from './BaseEngine.js';
3
3
  export * from './BaseProvider.js';
4
4
  export * from './CredentialUtils.js';
5
+ export * from './AddressUtils.js';
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/communication-types",
3
3
  "type": "module",
4
- "version": "5.49.0",
4
+ "version": "5.51.0",
5
5
  "description": "MemberJunction: Communication Framework Library Generic Types",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -20,10 +20,10 @@
20
20
  "typescript": "^5.9.3"
21
21
  },
22
22
  "dependencies": {
23
- "@memberjunction/global": "5.49.0",
24
- "@memberjunction/core": "5.49.0",
25
- "@memberjunction/templates-base-types": "5.49.0",
26
- "@memberjunction/core-entities": "5.49.0",
23
+ "@memberjunction/global": "5.51.0",
24
+ "@memberjunction/core": "5.51.0",
25
+ "@memberjunction/templates-base-types": "5.51.0",
26
+ "@memberjunction/core-entities": "5.51.0",
27
27
  "rxjs": "^7.8.2"
28
28
  },
29
29
  "repository": {