@memberjunction/communication-gmail 6.2.0-edge.5 → 6.2.0-edge.6

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, MessageRetrievalCapabilities, CreateDraftParams, CreateDraftResult, ForwardMessageParams, ForwardMessageResult, GetMessagesParams, GetMessagesResult, MessageResult, ProcessedMessage, ProviderCredentialsBase, ReplyToMessageParams, ReplyToMessageResult, ProviderOperation, GetSingleMessageParams, GetSingleMessageResult, DeleteMessageParams, DeleteMessageResult, MoveMessageParams, MoveMessageResult, ListFoldersParams, ListFoldersResult, MarkAsReadParams, MarkAsReadResult, ArchiveMessageParams, ArchiveMessageResult, SearchMessagesParams, SearchMessagesResult, ListAttachmentsParams, ListAttachmentsResult, DownloadAttachmentParams, DownloadAttachmentResult, CreateSubscriptionParams, RenewSubscriptionParams, DeleteSubscriptionParams, SubscriptionResult, SubscriptionCapabilities, WebhookNotificationInput, ParseNotificationResult, BaseMessageResult, GetEventsParams, GetEventsResult, GetFreeBusyParams, GetFreeBusyResult, CreateCalendarEventParams, CreateCalendarEventResult, UpdateCalendarEventParams, UpdateCalendarEventResult, RespondToCalendarEventParams, RespondToCalendarEventResult, CancelCalendarEventParams, CancelCalendarEventResult, VerifyMailboxAccessParams, VerifyMailboxAccessResult } from "@memberjunction/communication-types";
1
+ import { BaseCommunicationProvider, MessageRetrievalCapabilities, CreateDraftParams, CreateDraftResult, ForwardMessageParams, ForwardMessageResult, GetMessagesParams, GetMessagesResult, MessageResult, ProcessedMessage, ProviderCredentialsBase, ReplyToMessageParams, ReplyToMessageResult, ProviderOperation, GetSingleMessageParams, GetSingleMessageResult, DeleteMessageParams, DeleteMessageResult, MoveMessageParams, MoveMessageResult, ListFoldersParams, ListFoldersResult, MarkAsReadParams, MarkAsReadResult, ArchiveMessageParams, ArchiveMessageResult, SearchMessagesParams, SearchMessagesResult, ListAttachmentsParams, ListAttachmentsResult, DownloadAttachmentParams, DownloadAttachmentResult, CreateSubscriptionParams, RenewSubscriptionParams, DeleteSubscriptionParams, SubscriptionResult, SubscriptionCapabilities, WebhookNotificationInput, ParseNotificationResult, BaseMessageResult, CalendarEventResult, CancelEventParams, CreateEventParams, GetEventParams, SyncEventsParams, SyncEventsResult, UpdateEventParams, GetEventsParams, GetEventsResult, GetFreeBusyParams, GetFreeBusyResult, CreateCalendarEventParams, CreateCalendarEventResult, UpdateCalendarEventParams, UpdateCalendarEventResult, RespondToCalendarEventParams, RespondToCalendarEventResult, CancelCalendarEventParams, CancelCalendarEventResult, VerifyMailboxAccessParams, VerifyMailboxAccessResult } from "@memberjunction/communication-types";
2
2
  /**
3
3
  * Credentials for Gmail provider using OAuth2.
4
4
  * Extend ProviderCredentialsBase to support per-request credential override.
@@ -38,7 +38,7 @@ export declare class GmailProvider extends BaseCommunicationProvider {
38
38
  */
39
39
  private resolveCredentials;
40
40
  /**
41
- * Creates a Gmail client with the given credentials
41
+ * Creates a Gmail client with the given credentials, keeping its OAuth2 client for the calendar
42
42
  */
43
43
  private createGmailClient;
44
44
  /**
@@ -146,6 +146,35 @@ export declare class GmailProvider extends BaseCommunicationProvider {
146
146
  * the specified mailbox and/or calendar.
147
147
  */
148
148
  VerifyMailboxAccess(params: VerifyMailboxAccessParams, credentials?: GmailCredentials): Promise<VerifyMailboxAccessResult>;
149
+ /** Inserts an event and sends invitations to its attendees (`sendUpdates: 'all'`). */
150
+ CreateEvent(params: CreateEventParams, credentials?: GmailCredentials): Promise<CalendarEventResult>;
151
+ /** Patches the given fields and sends the update to attendees. */
152
+ UpdateEvent(params: UpdateEventParams, credentials?: GmailCredentials): Promise<CalendarEventResult>;
153
+ /**
154
+ * Deletes the event with `sendUpdates: 'all'`: from the organizer's calendar that cancels it for
155
+ * everyone; from an attendee's it removes that copy only. Google has no cancellation comment, so
156
+ * `Comment` is not sent. An event already gone (404 or 410) counts as cancelled.
157
+ */
158
+ CancelEvent(params: CancelEventParams, credentials?: GmailCredentials): Promise<BaseMessageResult>;
159
+ /** Reads one event with each attendee's response. */
160
+ GetEvent(params: GetEventParams, credentials?: GmailCredentials): Promise<CalendarEventResult>;
161
+ /**
162
+ * Incremental sync through `events.list`. With no token, a full read of the window (open-ended when
163
+ * the window is not given); with one, only what changed. Recurring events are expanded
164
+ * (`singleEvents`), on every request, since Google wants the same parameters on the incremental
165
+ * reads as on the full one. Pages are followed until the `nextSyncToken`. An expired token is a
166
+ * 410 Gone: that comes back as `ResyncRequired`.
167
+ */
168
+ SyncEvents(params: SyncEventsParams, credentials?: GmailCredentials): Promise<SyncEventsResult>;
169
+ /** The `events.list` parameters for one page. A sync token excludes the window, as Google requires. */
170
+ private syncListParams;
171
+ /**
172
+ * The shared shape of every calendar call: refuse a missing target before any I/O, build the
173
+ * calendar client from the account's OAuth2 client, and turn a thrown error into a result.
174
+ */
175
+ private calendarCall;
176
+ /** The HTTP status on a googleapis (Gaxios) error: `.code`, `.status` or `.response.status`. */
177
+ private httpStatus;
149
178
  /**
150
179
  * Creates a Gmail mailbox watch so change notifications are published to a Google Cloud
151
180
  * Pub/Sub topic. Gmail delivers via Pub/Sub (not an HTTP endpoint), so
@@ -1 +1 @@
1
- {"version":3,"file":"GmailProvider.d.ts","sourceRoot":"","sources":["../src/GmailProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GmailProvider.d.ts","sourceRoot":"","sources":["../src/GmailProvider.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { UUIDsEqual } from '@memberjunction/global';
8
- import { BaseCommunicationProvider, CombineFilterClauses, ParseEmailAddressList, resolveCredentialValue, validateRequiredCredentials } from "@memberjunction/communication-types";
8
+ import { BaseCommunicationProvider, CombineFilterClauses, ParseEmailAddressList, resolveCredentialValue, validateRequiredCredentials, CalendarTargetError, CalendarUpdateError } from "@memberjunction/communication-types";
9
9
  import { RegisterClass, MJLruCache } from "@memberjunction/global";
10
10
  import { LogError, LogStatus } from "@memberjunction/core";
11
11
  import * as Config from "./config.js";
12
12
  import googleApis from 'googleapis';
13
+ import { BuildGoogleEventBody, ToCalendarChange, ToCalendarEvent } from "./calendar.js";
13
14
  /**
14
15
  * Gmail's mailbox watch (a `users.watch` registration) expires after roughly 7 days,
15
16
  * so the consumer MUST re-watch before then. Expressed in minutes (7 × 24 × 60) to match
16
17
  * {@link SubscriptionCapabilities.MaxLifetimeMinutes}.
17
18
  */
18
19
  const GMAIL_MAX_SUBSCRIPTION_MINUTES = 10080;
20
+ /** A guard against a misbehaving sync stream, not a real limit. */
21
+ const GOOGLE_MAX_SYNC_PAGES = 1000;
19
22
  /**
20
23
  * Implementation of the Gmail provider for sending and receiving messages
21
24
  */
@@ -76,7 +79,7 @@ let GmailProvider = class GmailProvider extends BaseCommunicationProvider {
76
79
  };
77
80
  }
78
81
  /**
79
- * Creates a Gmail client with the given credentials
82
+ * Creates a Gmail client with the given credentials, keeping its OAuth2 client for the calendar
80
83
  */
81
84
  createGmailClient(creds) {
82
85
  // Create OAuth2 client
@@ -86,10 +89,11 @@ let GmailProvider = class GmailProvider extends BaseCommunicationProvider {
86
89
  refresh_token: creds.refreshToken
87
90
  });
88
91
  // Create Gmail API client
89
- return googleApis.google.gmail({
92
+ const client = googleApis.google.gmail({
90
93
  version: 'v1',
91
94
  auth: oauth2Client
92
95
  });
96
+ return { client, userEmail: null, auth: oauth2Client };
93
97
  }
94
98
  /**
95
99
  * Gets a Gmail client for the given credentials, using caching for efficiency
@@ -101,10 +105,7 @@ let GmailProvider = class GmailProvider extends BaseCommunicationProvider {
101
105
  creds.refreshToken === Config.GMAIL_REFRESH_TOKEN;
102
106
  if (isEnvCredentials) {
103
107
  if (!this.envGmailClient) {
104
- this.envGmailClient = {
105
- client: this.createGmailClient(creds),
106
- userEmail: null
107
- };
108
+ this.envGmailClient = this.createGmailClient(creds);
108
109
  }
109
110
  return this.envGmailClient;
110
111
  }
@@ -112,10 +113,7 @@ let GmailProvider = class GmailProvider extends BaseCommunicationProvider {
112
113
  const cacheKey = `${creds.clientId}:${creds.refreshToken.substring(0, 10)}`;
113
114
  let cached = this.clientCache.Get(cacheKey);
114
115
  if (!cached) {
115
- cached = {
116
- client: this.createGmailClient(creds),
117
- userEmail: null
118
- };
116
+ cached = this.createGmailClient(creds);
119
117
  this.clientCache.Set(cacheKey, cached);
120
118
  }
121
119
  return cached;
@@ -661,6 +659,11 @@ let GmailProvider = class GmailProvider extends BaseCommunicationProvider {
661
659
  'RenewSubscription',
662
660
  'DeleteSubscription',
663
661
  'ParseNotification',
662
+ 'CreateEvent',
663
+ 'UpdateEvent',
664
+ 'CancelEvent',
665
+ 'GetEvent',
666
+ 'SyncEvents',
664
667
  'GetEvents',
665
668
  'GetFreeBusy',
666
669
  'CreateCalendarEvent',
@@ -1101,6 +1104,141 @@ let GmailProvider = class GmailProvider extends BaseCommunicationProvider {
1101
1104
  }
1102
1105
  }
1103
1106
  // ========================================================================
1107
+ // GOOGLE CALENDAR
1108
+ // On this provider rather than a separate one because it is the same Google account and the same
1109
+ // OAuth2 client: the `MJ: Communication Providers` row named 'Gmail' already stands for the
1110
+ // account, and a calendar link points at that row. The calendar client is built from the same
1111
+ // OAuth2 client on first use.
1112
+ //
1113
+ // SCOPES: the refresh token must carry https://www.googleapis.com/auth/calendar.events (or the
1114
+ // broader .../auth/calendar). A token consented for Gmail scopes only gets 403 here, and the account
1115
+ // has to consent again with the calendar scope added.
1116
+ //
1117
+ // WHOSE CALENDAR: the refresh token decides the account, and Target.Identifier names the calendar.
1118
+ // Target.CalendarID defaults to Target.Identifier, not 'primary': a Google account's primary
1119
+ // calendar ID is its address, so for the token's own account the two are the same calendar, and for
1120
+ // anyone else Google answers 404 instead of writing into the token owner's calendar (the deployment
1121
+ // default these operations must never fall back to).
1122
+ // ========================================================================
1123
+ /** Inserts an event and sends invitations to its attendees (`sendUpdates: 'all'`). */
1124
+ async CreateEvent(params, credentials) {
1125
+ return this.calendarCall('CreateEvent', params.Target, credentials, (message) => ({ Success: false, ErrorMessage: message }), async (calendar, calendarId) => {
1126
+ const response = await calendar.events.insert({
1127
+ calendarId,
1128
+ sendUpdates: 'all',
1129
+ ...(params.Event.IsOnlineMeeting ? { conferenceDataVersion: 1 } : {}),
1130
+ requestBody: BuildGoogleEventBody(params.Event)
1131
+ });
1132
+ return { Success: true, Event: ToCalendarEvent(response.data) };
1133
+ });
1134
+ }
1135
+ /** Patches the given fields and sends the update to attendees. */
1136
+ async UpdateEvent(params, credentials) {
1137
+ const changeError = CalendarUpdateError(params.Changes);
1138
+ if (changeError)
1139
+ return { Success: false, ErrorMessage: changeError };
1140
+ return this.calendarCall('UpdateEvent', params.Target, credentials, (message) => ({ Success: false, ErrorMessage: message }), async (calendar, calendarId) => {
1141
+ const response = await calendar.events.patch({
1142
+ calendarId,
1143
+ eventId: params.ExternalEventID,
1144
+ sendUpdates: 'all',
1145
+ ...(params.Changes.IsOnlineMeeting ? { conferenceDataVersion: 1 } : {}),
1146
+ requestBody: BuildGoogleEventBody(params.Changes, true)
1147
+ });
1148
+ return { Success: true, Event: ToCalendarEvent(response.data) };
1149
+ });
1150
+ }
1151
+ /**
1152
+ * Deletes the event with `sendUpdates: 'all'`: from the organizer's calendar that cancels it for
1153
+ * everyone; from an attendee's it removes that copy only. Google has no cancellation comment, so
1154
+ * `Comment` is not sent. An event already gone (404 or 410) counts as cancelled.
1155
+ */
1156
+ async CancelEvent(params, credentials) {
1157
+ const failure = (message, err) => {
1158
+ const status = this.httpStatus(err);
1159
+ return status === 404 || status === 410 ? { Success: true } : { Success: false, ErrorMessage: message };
1160
+ };
1161
+ return this.calendarCall('CancelEvent', params.Target, credentials, failure, async (calendar, calendarId) => {
1162
+ await calendar.events.delete({ calendarId, eventId: params.ExternalEventID, sendUpdates: 'all' });
1163
+ return { Success: true };
1164
+ });
1165
+ }
1166
+ /** Reads one event with each attendee's response. */
1167
+ async GetEvent(params, credentials) {
1168
+ return this.calendarCall('GetEvent', params.Target, credentials, (message) => ({ Success: false, ErrorMessage: message }), async (calendar, calendarId) => {
1169
+ const response = await calendar.events.get({ calendarId, eventId: params.ExternalEventID });
1170
+ return { Success: true, Event: ToCalendarEvent(response.data) };
1171
+ });
1172
+ }
1173
+ /**
1174
+ * Incremental sync through `events.list`. With no token, a full read of the window (open-ended when
1175
+ * the window is not given); with one, only what changed. Recurring events are expanded
1176
+ * (`singleEvents`), on every request, since Google wants the same parameters on the incremental
1177
+ * reads as on the full one. Pages are followed until the `nextSyncToken`. An expired token is a
1178
+ * 410 Gone: that comes back as `ResyncRequired`.
1179
+ */
1180
+ async SyncEvents(params, credentials) {
1181
+ const failure = (message, err) => ({
1182
+ Success: false,
1183
+ Changes: [],
1184
+ ErrorMessage: message,
1185
+ ResyncRequired: !!params.SyncToken && this.httpStatus(err) === 410
1186
+ });
1187
+ return this.calendarCall('SyncEvents', params.Target, credentials, failure, async (calendar, calendarId) => {
1188
+ const result = { Success: true, Changes: [] };
1189
+ let pageToken;
1190
+ for (let page = 0; page < GOOGLE_MAX_SYNC_PAGES; page++) {
1191
+ const response = await calendar.events.list(this.syncListParams(calendarId, params, pageToken));
1192
+ result.Changes.push(...(response.data.items ?? []).map(ToCalendarChange));
1193
+ pageToken = response.data.nextPageToken ?? undefined;
1194
+ if (!pageToken) {
1195
+ result.NextSyncToken = response.data.nextSyncToken ?? undefined;
1196
+ break;
1197
+ }
1198
+ }
1199
+ return result.NextSyncToken ? result : failure('Google Calendar sync ended without a nextSyncToken; nothing was applied.');
1200
+ });
1201
+ }
1202
+ /** The `events.list` parameters for one page. A sync token excludes the window, as Google requires. */
1203
+ syncListParams(calendarId, params, pageToken) {
1204
+ return {
1205
+ calendarId,
1206
+ singleEvents: true,
1207
+ ...(params.SyncToken
1208
+ ? { syncToken: params.SyncToken }
1209
+ : {
1210
+ ...(params.WindowStart ? { timeMin: params.WindowStart.toISOString() } : {}),
1211
+ ...(params.WindowEnd ? { timeMax: params.WindowEnd.toISOString() } : {})
1212
+ }),
1213
+ ...(pageToken ? { pageToken } : {})
1214
+ };
1215
+ }
1216
+ /**
1217
+ * The shared shape of every calendar call: refuse a missing target before any I/O, build the
1218
+ * calendar client from the account's OAuth2 client, and turn a thrown error into a result.
1219
+ */
1220
+ async calendarCall(operation, target, credentials, failure, work) {
1221
+ const refusal = CalendarTargetError(operation, target);
1222
+ if (refusal || !target)
1223
+ return failure(refusal ?? `${operation} needs a Target.`);
1224
+ try {
1225
+ const cached = this.getGmailClient(this.resolveCredentials(credentials));
1226
+ cached.calendar ??= googleApis.google.calendar({ version: 'v3', auth: cached.auth });
1227
+ return await work(cached.calendar, target.CalendarID?.trim() || target.Identifier.trim());
1228
+ }
1229
+ catch (err) {
1230
+ return failure(`Google Calendar ${operation} failed for ${target.Identifier}: ${err instanceof Error ? err.message : String(err)}`, err);
1231
+ }
1232
+ }
1233
+ /** The HTTP status on a googleapis (Gaxios) error: `.code`, `.status` or `.response.status`. */
1234
+ httpStatus(error) {
1235
+ if (typeof error !== 'object' || error === null)
1236
+ return undefined;
1237
+ const err = error;
1238
+ const status = Number(err.response?.status ?? err.status ?? err.code);
1239
+ return Number.isFinite(status) ? status : undefined;
1240
+ }
1241
+ // ========================================================================
1104
1242
  // PUSH-NOTIFICATION SUBSCRIPTIONS
1105
1243
  // Gmail is SUBSCRIPTION-MANAGED and HINT-mode. A mailbox `users.watch` registration
1106
1244
  // tells Gmail to publish change notifications to a Google Cloud Pub/Sub topic; the
@@ -1 +1 @@
1
- {"version":3,"file":"GmailProvider.js","sourceRoot":"","sources":["../src/GmailProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GmailProvider.js","sourceRoot":"","sources":["../src/GmailProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GmailCalendar.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GmailCalendar.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/GmailCalendar.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,292 @@
1
+ /**
2
+ * Google Calendar on the Gmail provider, against recorded Calendar API payloads
3
+ * (`fixtures/*.json`, the shapes `events.insert` and `events.list` return).
4
+ *
5
+ * googleapis is replaced: the calendar client's `events` methods are spies that answer from the
6
+ * fixtures, so each test checks both the request sent and the result returned.
7
+ */
8
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
9
+ import { readFileSync } from 'fs';
10
+ const { events, calendarFactory } = vi.hoisted(() => {
11
+ const events = {
12
+ insert: vi.fn(),
13
+ patch: vi.fn(),
14
+ delete: vi.fn(),
15
+ get: vi.fn(),
16
+ list: vi.fn(),
17
+ };
18
+ return { events, calendarFactory: vi.fn().mockReturnValue({ events }) };
19
+ });
20
+ vi.mock('@memberjunction/communication-types', async () => ({
21
+ BaseCommunicationProvider: class {
22
+ getSupportedOperations() {
23
+ return [];
24
+ }
25
+ },
26
+ resolveCredentialValue: (requestVal, envVal, disableFallback) => {
27
+ if (requestVal)
28
+ return requestVal;
29
+ if (!disableFallback && envVal)
30
+ return envVal;
31
+ return undefined;
32
+ },
33
+ validateRequiredCredentials: (creds, required, provider) => {
34
+ for (const key of required) {
35
+ if (!creds[key])
36
+ throw new Error(`${provider}: Missing required credential: ${key}`);
37
+ }
38
+ },
39
+ // The real calendar helpers, from source (typed structurally so that file stays out of this
40
+ // package's TS program): the Target check and the wall-clock conversion are under test here.
41
+ ...(await vi.importActual('../../../../base-types/src/Calendar')),
42
+ }));
43
+ vi.mock('@memberjunction/global', async (importOriginal) => {
44
+ const actual = await importOriginal();
45
+ return { ...actual, RegisterClass: () => (target) => target };
46
+ });
47
+ vi.mock('@memberjunction/core', () => ({ LogError: vi.fn(), LogStatus: vi.fn() }));
48
+ vi.mock('dotenv', () => ({ default: { config: vi.fn() } }));
49
+ vi.mock('env-var', () => {
50
+ const envMap = {
51
+ GMAIL_CLIENT_ID: 'env-client-id',
52
+ GMAIL_CLIENT_SECRET: 'env-client-secret',
53
+ GMAIL_REDIRECT_URI: 'http://localhost:3000/callback',
54
+ GMAIL_REFRESH_TOKEN: 'env-refresh-token',
55
+ };
56
+ return { default: { get: (key) => ({ default: (def) => ({ asString: () => envMap[key] ?? def }) }) } };
57
+ });
58
+ vi.mock('googleapis', () => {
59
+ class FakeOAuth2 {
60
+ constructor() {
61
+ this.setCredentials = vi.fn();
62
+ }
63
+ }
64
+ return { default: { google: { auth: { OAuth2: FakeOAuth2 }, gmail: vi.fn().mockReturnValue({ users: {} }), calendar: calendarFactory } } };
65
+ });
66
+ import { GmailProvider } from '../GmailProvider.js';
67
+ function fixture(name) {
68
+ return JSON.parse(readFileSync(new URL(`./fixtures/${name}`, import.meta.url), 'utf8'));
69
+ }
70
+ /** What an untyped caller (plain JS, a JSON payload) can send: the type system cannot stop it, so the provider must. */
71
+ const NO_TARGET = undefined;
72
+ const ACCOUNT = { Identifier: 'organizer@example.org' };
73
+ const INSERTED = fixture('google-event-inserted.json');
74
+ const MEETING = {
75
+ Subject: 'Board planning',
76
+ Body: '<p>Agenda attached.</p>',
77
+ Start: new Date('2026-10-20T14:00:00Z'),
78
+ End: new Date('2026-10-20T15:00:00Z'),
79
+ TimeZone: 'America/New_York',
80
+ Location: 'Room 4',
81
+ IsOnlineMeeting: true,
82
+ Attendees: [
83
+ { Email: 'ada@example.org', Name: 'Ada Lovelace', Type: 'Required' },
84
+ { Email: 'grace@example.com', Type: 'Optional' },
85
+ ],
86
+ };
87
+ function gaxiosError(status) {
88
+ return Object.assign(new Error(`Request failed with status code ${status}`), { code: status, response: { status } });
89
+ }
90
+ let provider;
91
+ beforeEach(() => {
92
+ vi.clearAllMocks();
93
+ calendarFactory.mockReturnValue({ events });
94
+ provider = new GmailProvider();
95
+ });
96
+ describe('capability', () => {
97
+ it('reports the five calendar operations beside the mail ones', () => {
98
+ expect(provider.getSupportedOperations()).toEqual(expect.arrayContaining(['SendSingleMessage', 'CreateEvent', 'UpdateEvent', 'CancelEvent', 'GetEvent', 'SyncEvents']));
99
+ });
100
+ it('builds the calendar client only when a calendar call is made, on the same OAuth2 client', async () => {
101
+ expect(calendarFactory).not.toHaveBeenCalled();
102
+ events.get.mockResolvedValue({ data: INSERTED });
103
+ await provider.GetEvent({ Target: ACCOUNT, ExternalEventID: 'x' });
104
+ await provider.GetEvent({ Target: ACCOUNT, ExternalEventID: 'x' });
105
+ expect(calendarFactory).toHaveBeenCalledTimes(1);
106
+ expect(calendarFactory.mock.calls[0][0]).toMatchObject({ version: 'v3' });
107
+ });
108
+ });
109
+ describe('the target is required on every calendar call', () => {
110
+ it.each([
111
+ ['CreateEvent', () => provider.CreateEvent({ Target: NO_TARGET, Event: MEETING })],
112
+ ['UpdateEvent', () => provider.UpdateEvent({ Target: { Identifier: '' }, ExternalEventID: 'e', Changes: {} })],
113
+ ['CancelEvent', () => provider.CancelEvent({ Target: NO_TARGET, ExternalEventID: 'e' })],
114
+ ['GetEvent', () => provider.GetEvent({ Target: { Identifier: ' ' }, ExternalEventID: 'e' })],
115
+ ['SyncEvents', () => provider.SyncEvents({ Target: NO_TARGET })],
116
+ ])('%s is refused with no request sent', async (operation, call) => {
117
+ const result = await call();
118
+ expect(result.Success).toBe(false);
119
+ expect(result.ErrorMessage).toContain(`${operation} needs a Target`);
120
+ expect(Object.values(events).every((spy) => spy.mock.calls.length === 0)).toBe(true);
121
+ });
122
+ });
123
+ describe('CreateEvent', () => {
124
+ it('inserts into the calendar the target names (its primary, for the account itself), sends invitations to the attendees, and asks for a Meet link', async () => {
125
+ events.insert.mockResolvedValue({ data: INSERTED });
126
+ await provider.CreateEvent({ Target: ACCOUNT, Event: MEETING });
127
+ const request = events.insert.mock.calls[0][0];
128
+ expect(request).toMatchObject({ calendarId: 'organizer@example.org', sendUpdates: 'all', conferenceDataVersion: 1 });
129
+ expect(request.requestBody).toMatchObject({
130
+ summary: 'Board planning',
131
+ description: '<p>Agenda attached.</p>',
132
+ location: 'Room 4',
133
+ start: { dateTime: '2026-10-20T14:00:00.000Z', timeZone: 'America/New_York' },
134
+ end: { dateTime: '2026-10-20T15:00:00.000Z', timeZone: 'America/New_York' },
135
+ attendees: [
136
+ { email: 'ada@example.org', displayName: 'Ada Lovelace' },
137
+ { email: 'grace@example.com', optional: true },
138
+ ],
139
+ conferenceData: { createRequest: { conferenceSolutionKey: { type: 'hangoutsMeet' } } },
140
+ });
141
+ expect(request.requestBody.conferenceData.createRequest.requestId).toMatch(/^[0-9a-f-]{36}$/);
142
+ });
143
+ it('returns the event with its iCalendar UID, attendee responses and the Meet link', async () => {
144
+ events.insert.mockResolvedValue({ data: INSERTED });
145
+ const result = await provider.CreateEvent({ Target: ACCOUNT, Event: MEETING });
146
+ expect(result.Success).toBe(true);
147
+ expect(result.Event).toMatchObject({
148
+ ExternalEventID: '7cbh8rpc10lrc0ckih9tafss99',
149
+ ICalUID: '7cbh8rpc10lrc0ckih9tafss99@google.com',
150
+ Start: new Date('2026-10-20T14:00:00Z'),
151
+ End: new Date('2026-10-20T15:00:00Z'),
152
+ Organizer: { Email: 'organizer@example.org', Name: 'Org Anizer' },
153
+ OnlineMeetingUrl: 'https://meet.google.com/abc-defg-hij',
154
+ IsAllDay: false,
155
+ });
156
+ expect(result.Event?.Attendees.map((a) => [a.Email, a.Type, a.Response])).toEqual([
157
+ ['organizer@example.org', 'Required', 'Accepted'],
158
+ ['ada@example.org', 'Required', 'None'],
159
+ ['grace@example.com', 'Optional', 'None'],
160
+ ]);
161
+ });
162
+ it('uses the named calendar and sends no conference request when none is asked for', async () => {
163
+ events.insert.mockResolvedValue({ data: INSERTED });
164
+ await provider.CreateEvent({ Target: { ...ACCOUNT, CalendarID: 'team@group.calendar.google.com' }, Event: { ...MEETING, IsOnlineMeeting: false } });
165
+ const request = events.insert.mock.calls[0][0];
166
+ expect(request.calendarId).toBe('team@group.calendar.google.com');
167
+ expect(request.conferenceDataVersion).toBeUndefined();
168
+ expect(request.requestBody.conferenceData).toBeUndefined();
169
+ });
170
+ it('sends an all-day event as calendar days in its zone', async () => {
171
+ events.insert.mockResolvedValue({ data: INSERTED });
172
+ const allDay = { Subject: 'Offsite', Start: new Date('2026-10-20T02:00:00Z'), End: new Date('2026-10-21T02:00:00Z'), TimeZone: 'America/New_York', IsAllDay: true };
173
+ await provider.CreateEvent({ Target: ACCOUNT, Event: allDay });
174
+ expect(events.insert.mock.calls[0][0].requestBody).toMatchObject({ start: { date: '2026-10-19' }, end: { date: '2026-10-20' } });
175
+ expect(events.insert.mock.calls[0][0].requestBody.start).toEqual({ date: '2026-10-19' }); // an insert sends no null forms
176
+ });
177
+ /**
178
+ * The refresh token decides the account. Writing to 'primary' would put a meeting for anyone the
179
+ * caller names into the token owner's calendar; the target's address as calendarId cannot.
180
+ */
181
+ it('never falls back to the token owner\'s primary calendar for another address', async () => {
182
+ events.insert.mockResolvedValue({ data: INSERTED });
183
+ await provider.CreateEvent({ Target: { Identifier: ' someone.else@example.org ' }, Event: MEETING });
184
+ expect(events.insert.mock.calls[0][0].calendarId).toBe('someone.else@example.org');
185
+ });
186
+ it('reports a missing calendar scope as a failure', async () => {
187
+ events.insert.mockRejectedValue(gaxiosError(403));
188
+ const result = await provider.CreateEvent({ Target: ACCOUNT, Event: MEETING });
189
+ expect(result.Success).toBe(false);
190
+ expect(result.ErrorMessage).toContain('CreateEvent failed for organizer@example.org');
191
+ });
192
+ });
193
+ describe('UpdateEvent', () => {
194
+ /** A patch merges into the stored start/end, so switching form must clear the other one. */
195
+ it('clears the other form when an event switches between all-day and timed', async () => {
196
+ events.patch.mockResolvedValue({ data: INSERTED });
197
+ await provider.UpdateEvent({
198
+ Target: ACCOUNT,
199
+ ExternalEventID: 'evt1',
200
+ Changes: { IsAllDay: true, TimeZone: 'UTC', Start: new Date('2026-10-20T00:00:00Z'), End: new Date('2026-10-21T00:00:00Z') },
201
+ });
202
+ await provider.UpdateEvent({
203
+ Target: ACCOUNT,
204
+ ExternalEventID: 'evt1',
205
+ Changes: { IsAllDay: false, TimeZone: 'UTC', Start: new Date('2026-10-20T14:00:00Z'), End: new Date('2026-10-20T15:00:00Z') },
206
+ });
207
+ expect(events.patch.mock.calls[0][0].requestBody.start).toEqual({ date: '2026-10-20', dateTime: null, timeZone: null });
208
+ expect(events.patch.mock.calls[1][0].requestBody.start).toEqual({ date: null, dateTime: '2026-10-20T14:00:00.000Z', timeZone: 'UTC' });
209
+ });
210
+ it('refuses a time change that does not say whether it is all-day and in which zone', async () => {
211
+ const result = await provider.UpdateEvent({ Target: ACCOUNT, ExternalEventID: 'evt1', Changes: { End: new Date('2026-10-20T15:00:00Z') } });
212
+ expect(result.Success).toBe(false);
213
+ expect(result.ErrorMessage).toMatch(/must also carry IsAllDay and TimeZone/);
214
+ expect(events.patch).not.toHaveBeenCalled();
215
+ });
216
+ it('patches only the changed fields and tells attendees', async () => {
217
+ events.patch.mockResolvedValue({ data: INSERTED });
218
+ await provider.UpdateEvent({ Target: ACCOUNT, ExternalEventID: 'evt1', Changes: { Location: 'Room 9' } });
219
+ expect(events.patch.mock.calls[0][0]).toEqual({ calendarId: 'organizer@example.org', eventId: 'evt1', sendUpdates: 'all', requestBody: { location: 'Room 9' } });
220
+ });
221
+ });
222
+ describe('CancelEvent', () => {
223
+ it('deletes the event and sends the cancellation to attendees', async () => {
224
+ events.delete.mockResolvedValue({ data: '' });
225
+ const result = await provider.CancelEvent({ Target: ACCOUNT, ExternalEventID: 'evt1', Comment: 'not sent: Google has no comment' });
226
+ expect(result.Success).toBe(true);
227
+ expect(events.delete.mock.calls[0][0]).toEqual({ calendarId: 'organizer@example.org', eventId: 'evt1', sendUpdates: 'all' });
228
+ });
229
+ it.each([404, 410])('treats an event that is already gone (%i) as cancelled', async (status) => {
230
+ events.delete.mockRejectedValue(gaxiosError(status));
231
+ const result = await provider.CancelEvent({ Target: ACCOUNT, ExternalEventID: 'gone' });
232
+ expect(result.Success).toBe(true);
233
+ });
234
+ });
235
+ describe('SyncEvents', () => {
236
+ const WINDOW = { WindowStart: new Date('2026-10-01T00:00:00Z'), WindowEnd: new Date('2026-11-01T00:00:00Z') };
237
+ it('runs a full sync of the window with recurring events expanded', async () => {
238
+ events.list.mockResolvedValueOnce({ data: fixture('google-sync-page-1.json') }).mockResolvedValueOnce({ data: fixture('google-sync-page-2.json') });
239
+ await provider.SyncEvents({ Target: ACCOUNT, ...WINDOW });
240
+ expect(events.list.mock.calls[0][0]).toEqual({
241
+ calendarId: 'organizer@example.org',
242
+ singleEvents: true,
243
+ timeMin: '2026-10-01T00:00:00.000Z',
244
+ timeMax: '2026-11-01T00:00:00.000Z',
245
+ });
246
+ });
247
+ it('follows page tokens to the sync token, keeping the same parameters on every page', async () => {
248
+ const page1 = fixture('google-sync-page-1.json');
249
+ events.list.mockResolvedValueOnce({ data: page1 }).mockResolvedValueOnce({ data: fixture('google-sync-page-2.json') });
250
+ const result = await provider.SyncEvents({ Target: ACCOUNT, SyncToken: 'CPDAold=', ...WINDOW });
251
+ expect(events.list.mock.calls[0][0]).toEqual({ calendarId: 'organizer@example.org', singleEvents: true, syncToken: 'CPDAold=' });
252
+ expect(events.list.mock.calls[1][0]).toEqual({ calendarId: 'organizer@example.org', singleEvents: true, syncToken: 'CPDAold=', pageToken: page1.nextPageToken });
253
+ expect(result.NextSyncToken).toBe('CPDAlvWDx70CEPDAlvWDx70CGAUggICA6NKw8wI=');
254
+ });
255
+ it('reports a moved time, changed RSVPs and a cancellation as changes', async () => {
256
+ events.list.mockResolvedValueOnce({ data: fixture('google-sync-page-1.json') }).mockResolvedValueOnce({ data: fixture('google-sync-page-2.json') });
257
+ const result = await provider.SyncEvents({ Target: ACCOUNT, SyncToken: 'CPDAold=' });
258
+ expect(result.Success).toBe(true);
259
+ expect(result.Changes.map((c) => c.Kind)).toEqual(['Upserted', 'Upserted', 'Removed']);
260
+ expect(result.Changes[0].Event?.ICalUID).toBe(INSERTED.iCalUID);
261
+ expect(result.Changes[0].Event?.Start).toEqual(new Date('2026-10-20T16:00:00Z'));
262
+ const responses = result.Changes[1].Event?.Attendees.map((a) => [a.Email, a.Response]);
263
+ expect(responses).toEqual([
264
+ ['organizer@example.org', 'Accepted'],
265
+ ['ada@example.org', 'Accepted'],
266
+ ['alan@example.org', 'Tentative'],
267
+ ['grace@example.com', 'Declined'],
268
+ ]);
269
+ expect(result.Changes[1].Event?.SeriesID).toBe('4p1mdkjvo9kq3c1oe8b6qoh3l8');
270
+ expect(result.Changes[2]).toEqual({ Kind: 'Removed', ExternalEventID: '0q9u3fh2c1v7o8r4k6b5e7m1a2' });
271
+ });
272
+ /** Google answers an expired sync token with 410 Gone; the caller must drop it and run a full sync. */
273
+ it('asks for a resync when Google refuses the token as gone', async () => {
274
+ events.list.mockRejectedValue(gaxiosError(410));
275
+ const result = await provider.SyncEvents({ Target: ACCOUNT, SyncToken: 'expired' });
276
+ expect(result.Success).toBe(false);
277
+ expect(result.ResyncRequired).toBe(true);
278
+ });
279
+ it('does not ask for a resync for a 410 on a full sync, or for other failures', async () => {
280
+ events.list.mockRejectedValue(gaxiosError(410));
281
+ expect((await provider.SyncEvents({ Target: ACCOUNT, ...WINDOW })).ResyncRequired).toBe(false);
282
+ events.list.mockRejectedValue(gaxiosError(500));
283
+ expect((await provider.SyncEvents({ Target: ACCOUNT, SyncToken: 't' })).ResyncRequired).toBe(false);
284
+ });
285
+ it('returns nothing when the last page carries no sync token, so no half-read is applied', async () => {
286
+ events.list.mockResolvedValue({ data: { items: [INSERTED] } });
287
+ const result = await provider.SyncEvents({ Target: ACCOUNT, ...WINDOW });
288
+ expect(result.Success).toBe(false);
289
+ expect(result.Changes).toEqual([]);
290
+ });
291
+ });
292
+ //# sourceMappingURL=GmailCalendar.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GmailCalendar.test.js","sourceRoot":"","sources":["../../src/__tests__/GmailCalendar.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { CalendarAttendeeResponse, CalendarEvent, CalendarEventChange, CalendarEventInput } from '@memberjunction/communication-types';
2
+ import googleApis from 'googleapis';
3
+ type GoogleEvent = googleApis.calendar_v3.Schema$Event;
4
+ type GoogleEventDateTime = googleApis.calendar_v3.Schema$EventDateTime;
5
+ /**
6
+ * The request body for `events.insert` (all fields) or `events.patch` (only those present).
7
+ *
8
+ * A timed slot is the instant (RFC 3339, UTC) plus the zone the event is shown and recurs in; an
9
+ * all-day slot is the calendar day in that zone. Google's descriptions take HTML, so `BodyType`
10
+ * needs no translation.
11
+ */
12
+ export declare function BuildGoogleEventBody(input: Partial<CalendarEventInput>, isPatch?: boolean): GoogleEvent;
13
+ /** A Google event as MemberJunction's read model. */
14
+ export declare function ToCalendarEvent(raw: GoogleEvent): CalendarEvent;
15
+ /**
16
+ * A synced item as a change. Google reports a deleted event, or one its organizer cancelled, as an
17
+ * item with `status: cancelled` and little else, so that is a `Removed`.
18
+ */
19
+ export declare function ToCalendarChange(item: GoogleEvent): CalendarEventChange;
20
+ /** A timed value carries its own offset; an all-day `date` is midnight UTC of that day. Null when neither parses. */
21
+ export declare function GoogleInstant(slot: GoogleEventDateTime | null | undefined): Date | null;
22
+ /** Google's `responseStatus` as MemberJunction's. `needsAction` and anything unknown read as `None`. */
23
+ export declare function MapGoogleResponse(response: string | null | undefined): CalendarAttendeeResponse;
24
+ export {};
25
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,wBAAwB,EACxB,aAAa,EAEb,mBAAmB,EACnB,kBAAkB,EAErB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,KAAK,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC;AACvD,KAAK,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC;AAEvE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,OAAO,UAAQ,GAAG,WAAW,CAqBrG;AAcD,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAkB/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,mBAAmB,CAKvE;AAED,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAKvF;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,wBAAwB,CAW/F"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Pure mapping between MemberJunction's calendar shapes and Google Calendar's `Event` resource. No
3
+ * client, no network: {@link GmailProvider} does the calls and these build the bodies and read the
4
+ * replies.
5
+ */
6
+ import { randomUUID } from 'crypto';
7
+ import { CalendarWallClock } from '@memberjunction/communication-types';
8
+ /**
9
+ * The request body for `events.insert` (all fields) or `events.patch` (only those present).
10
+ *
11
+ * A timed slot is the instant (RFC 3339, UTC) plus the zone the event is shown and recurs in; an
12
+ * all-day slot is the calendar day in that zone. Google's descriptions take HTML, so `BodyType`
13
+ * needs no translation.
14
+ */
15
+ export function BuildGoogleEventBody(input, isPatch = false) {
16
+ const body = {};
17
+ const zone = input.TimeZone?.trim() || 'UTC';
18
+ if (input.Subject !== undefined)
19
+ body.summary = input.Subject;
20
+ if (input.Body !== undefined)
21
+ body.description = input.Body;
22
+ if (input.Start)
23
+ body.start = googleSlot(input.Start, zone, input.IsAllDay === true, isPatch);
24
+ if (input.End)
25
+ body.end = googleSlot(input.End, zone, input.IsAllDay === true, isPatch);
26
+ if (input.Location !== undefined)
27
+ body.location = input.Location;
28
+ if (input.Attendees) {
29
+ body.attendees = input.Attendees.map((a) => ({
30
+ email: a.Email,
31
+ ...(a.Name ? { displayName: a.Name } : {}),
32
+ ...(a.Type === 'Optional' ? { optional: true } : {})
33
+ }));
34
+ }
35
+ if (input.IsOnlineMeeting) {
36
+ // Google creates the Meet link asynchronously from this request; the call must also pass
37
+ // conferenceDataVersion: 1 or the request is silently ignored.
38
+ body.conferenceData = { createRequest: { requestId: randomUUID(), conferenceSolutionKey: { type: 'hangoutsMeet' } } };
39
+ }
40
+ return body;
41
+ }
42
+ /**
43
+ * On a patch the other form is sent as null: `events.patch` merges `start`/`end` into the stored
44
+ * value, so without it an event switched between all-day and timed would carry both `date` and
45
+ * `dateTime`. An insert has nothing to merge, so it sends only the form in use.
46
+ */
47
+ function googleSlot(when, zone, allDay, isPatch) {
48
+ const slot = allDay
49
+ ? { date: CalendarWallClock(when, zone).slice(0, 10) }
50
+ : { dateTime: when.toISOString(), timeZone: zone };
51
+ return isPatch ? { date: null, dateTime: null, timeZone: null, ...slot } : slot;
52
+ }
53
+ /** A Google event as MemberJunction's read model. */
54
+ export function ToCalendarEvent(raw) {
55
+ const organizer = raw.organizer?.email?.trim();
56
+ return {
57
+ ExternalEventID: raw.id ?? '',
58
+ SeriesID: raw.recurringEventId ?? null,
59
+ ICalUID: raw.iCalUID ?? null,
60
+ Subject: raw.summary ?? '',
61
+ Body: raw.description ?? '',
62
+ Start: GoogleInstant(raw.start),
63
+ End: GoogleInstant(raw.end),
64
+ IsAllDay: !!raw.start?.date && !raw.start?.dateTime,
65
+ Location: raw.location ?? null,
66
+ Organizer: organizer ? { Email: organizer, ...(raw.organizer?.displayName ? { Name: raw.organizer.displayName } : {}) } : null,
67
+ Attendees: (raw.attendees ?? []).map(toAttendee).filter((a) => a !== null),
68
+ IsCancelled: raw.status === 'cancelled',
69
+ OnlineMeetingUrl: meetingUrl(raw),
70
+ LastModified: raw.updated ? new Date(raw.updated) : null
71
+ };
72
+ }
73
+ /**
74
+ * A synced item as a change. Google reports a deleted event, or one its organizer cancelled, as an
75
+ * item with `status: cancelled` and little else, so that is a `Removed`.
76
+ */
77
+ export function ToCalendarChange(item) {
78
+ if (item.status === 'cancelled') {
79
+ return { Kind: 'Removed', ExternalEventID: item.id ?? '' };
80
+ }
81
+ return { Kind: 'Upserted', ExternalEventID: item.id ?? '', Event: ToCalendarEvent(item) };
82
+ }
83
+ /** A timed value carries its own offset; an all-day `date` is midnight UTC of that day. Null when neither parses. */
84
+ export function GoogleInstant(slot) {
85
+ const raw = slot?.dateTime?.trim() || (slot?.date?.trim() ? `${slot.date.trim()}T00:00:00Z` : '');
86
+ if (!raw)
87
+ return null;
88
+ const parsed = new Date(raw);
89
+ return Number.isNaN(parsed.getTime()) ? null : parsed;
90
+ }
91
+ /** Google's `responseStatus` as MemberJunction's. `needsAction` and anything unknown read as `None`. */
92
+ export function MapGoogleResponse(response) {
93
+ switch (response) {
94
+ case 'accepted':
95
+ return 'Accepted';
96
+ case 'tentative':
97
+ return 'Tentative';
98
+ case 'declined':
99
+ return 'Declined';
100
+ default:
101
+ return 'None';
102
+ }
103
+ }
104
+ function toAttendee(raw) {
105
+ const email = raw.email?.trim();
106
+ if (!email)
107
+ return null;
108
+ return {
109
+ Email: email,
110
+ ...(raw.displayName ? { Name: raw.displayName } : {}),
111
+ Type: raw.optional ? 'Optional' : 'Required',
112
+ Response: MapGoogleResponse(raw.responseStatus)
113
+ };
114
+ }
115
+ function meetingUrl(raw) {
116
+ const video = (raw.conferenceData?.entryPoints ?? []).find((e) => e.entryPointType === 'video' && !!e.uri);
117
+ return video?.uri ?? raw.hangoutLink ?? null;
118
+ }
119
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@memberjunction/communication-gmail",
3
3
  "license": "BUSL-1.1",
4
4
  "type": "module",
5
- "version": "6.2.0-edge.5",
5
+ "version": "6.2.0-edge.6",
6
6
  "description": "Gmail/Google Suite provider for MemberJunction Communication framework",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -10,9 +10,9 @@
10
10
  "dist/**/*"
11
11
  ],
12
12
  "dependencies": {
13
- "@memberjunction/communication-types": "6.2.0-edge.5",
14
- "@memberjunction/core": "6.2.0-edge.5",
15
- "@memberjunction/global": "6.2.0-edge.5",
13
+ "@memberjunction/communication-types": "6.2.0-edge.6",
14
+ "@memberjunction/core": "6.2.0-edge.6",
15
+ "@memberjunction/global": "6.2.0-edge.6",
16
16
  "dotenv": "^17.2.4",
17
17
  "env-var": "^7.4.1",
18
18
  "googleapis": "^171.4.0"