@plotday/tool-google-calendar 0.11.0 → 0.11.2
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.
- package/dist/google-calendar.d.ts +12 -0
- package/dist/google-calendar.js +185 -125
- package/dist/google-calendar.js.map +1 -1
- package/package.json +3 -3
|
@@ -84,6 +84,11 @@ export declare class GoogleCalendar extends Tool<GoogleCalendar> implements Cale
|
|
|
84
84
|
private getApi;
|
|
85
85
|
private getUserEmail;
|
|
86
86
|
private ensureUserIdentity;
|
|
87
|
+
/**
|
|
88
|
+
* Resolves "primary" calendar ID to the actual calendar ID (user's email).
|
|
89
|
+
* Returns the calendarId unchanged if it's not "primary".
|
|
90
|
+
*/
|
|
91
|
+
private resolveCalendarId;
|
|
87
92
|
getCalendars(authToken: string): Promise<Calendar[]>;
|
|
88
93
|
startSync<TArgs extends Serializable[], TCallback extends (activity: NewActivityWithNotes, ...args: TArgs) => any>(options: {
|
|
89
94
|
authToken: string;
|
|
@@ -128,6 +133,13 @@ export declare class GoogleCalendar extends Tool<GoogleCalendar> implements Cale
|
|
|
128
133
|
* Adds the synced contacts to Plot for enriching calendar event attendees.
|
|
129
134
|
*/
|
|
130
135
|
onContactsSynced(contacts: NewContact[]): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Constructs a Google Calendar instance ID for a recurring event occurrence.
|
|
138
|
+
* @param baseEventId - The recurring event ID
|
|
139
|
+
* @param occurrence - The occurrence date (Date or ISO string)
|
|
140
|
+
* @returns Instance ID in format: {baseEventId}_{YYYYMMDDTHHMMSSZ}
|
|
141
|
+
*/
|
|
142
|
+
private constructInstanceId;
|
|
131
143
|
onActivityUpdated(activity: Activity, changes: {
|
|
132
144
|
tagsAdded: Record<Tag, ActorId[]>;
|
|
133
145
|
tagsRemoved: Record<Tag, ActorId[]>;
|
package/dist/google-calendar.js
CHANGED
|
@@ -132,6 +132,19 @@ export class GoogleCalendar extends Tool {
|
|
|
132
132
|
await this.set("user_email", email);
|
|
133
133
|
return email;
|
|
134
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Resolves "primary" calendar ID to the actual calendar ID (user's email).
|
|
137
|
+
* Returns the calendarId unchanged if it's not "primary".
|
|
138
|
+
*/
|
|
139
|
+
async resolveCalendarId(authToken, calendarId) {
|
|
140
|
+
if (calendarId !== "primary") {
|
|
141
|
+
return calendarId;
|
|
142
|
+
}
|
|
143
|
+
// Get actual calendar ID from Google
|
|
144
|
+
const api = await this.getApi(authToken);
|
|
145
|
+
const calendar = (await api.call("GET", `https://www.googleapis.com/calendar/v3/calendars/primary`));
|
|
146
|
+
return calendar.id;
|
|
147
|
+
}
|
|
135
148
|
async getCalendars(authToken) {
|
|
136
149
|
const api = await this.getApi(authToken);
|
|
137
150
|
const data = (await api.call("GET", "https://www.googleapis.com/calendar/v3/users/me/calendarList"));
|
|
@@ -144,21 +157,22 @@ export class GoogleCalendar extends Tool {
|
|
|
144
157
|
}
|
|
145
158
|
async startSync(options, callback, ...extraArgs) {
|
|
146
159
|
const { authToken, calendarId, timeMin, timeMax } = options;
|
|
160
|
+
// Resolve "primary" to actual calendar ID to ensure consistent storage keys
|
|
161
|
+
const resolvedCalendarId = await this.resolveCalendarId(authToken, calendarId);
|
|
147
162
|
// Check if sync is already in progress for this calendar
|
|
148
|
-
const syncInProgress = await this.get(`sync_lock_${
|
|
163
|
+
const syncInProgress = await this.get(`sync_lock_${resolvedCalendarId}`);
|
|
149
164
|
if (syncInProgress) {
|
|
150
|
-
console.log(`Sync already in progress for calendar ${calendarId}, skipping`);
|
|
151
165
|
return;
|
|
152
166
|
}
|
|
153
167
|
// Set sync lock
|
|
154
|
-
await this.set(`sync_lock_${
|
|
168
|
+
await this.set(`sync_lock_${resolvedCalendarId}`, true);
|
|
155
169
|
// Create callback token for parent
|
|
156
170
|
const callbackToken = await this.tools.callbacks.createFromParent(callback, ...extraArgs);
|
|
157
171
|
await this.set("event_callback_token", callbackToken);
|
|
158
172
|
// Store auth token for calendar for later RSVP updates
|
|
159
|
-
await this.set(`auth_token_${
|
|
173
|
+
await this.set(`auth_token_${resolvedCalendarId}`, authToken);
|
|
160
174
|
// Setup webhook for this calendar
|
|
161
|
-
await this.setupCalendarWatch(authToken,
|
|
175
|
+
await this.setupCalendarWatch(authToken, resolvedCalendarId, authToken);
|
|
162
176
|
// Determine sync range
|
|
163
177
|
let min;
|
|
164
178
|
if (timeMin === null) {
|
|
@@ -180,40 +194,51 @@ export class GoogleCalendar extends Tool {
|
|
|
180
194
|
max = timeMax;
|
|
181
195
|
}
|
|
182
196
|
const initialState = {
|
|
183
|
-
calendarId,
|
|
197
|
+
calendarId: resolvedCalendarId,
|
|
184
198
|
min,
|
|
185
199
|
max,
|
|
186
200
|
sequence: 1,
|
|
187
201
|
};
|
|
188
|
-
await this.set(`sync_state_${
|
|
202
|
+
await this.set(`sync_state_${resolvedCalendarId}`, initialState);
|
|
189
203
|
// Start sync batch using run tool for long-running operation
|
|
190
|
-
const syncCallback = await this.callback(this.syncBatch, 1, "full", authToken,
|
|
204
|
+
const syncCallback = await this.callback(this.syncBatch, 1, "full", authToken, resolvedCalendarId, true // initialSync = true for initial sync
|
|
191
205
|
);
|
|
192
206
|
await this.runTask(syncCallback);
|
|
193
207
|
}
|
|
194
208
|
async stopSync(_authToken, calendarId) {
|
|
209
|
+
// Get auth token first so we can resolve the calendar ID
|
|
210
|
+
let authToken = await this.get(`auth_token_${calendarId}`);
|
|
211
|
+
// Resolve calendar ID to handle "primary" alias
|
|
212
|
+
let resolvedCalendarId = calendarId;
|
|
213
|
+
if (authToken) {
|
|
214
|
+
try {
|
|
215
|
+
resolvedCalendarId = await this.resolveCalendarId(authToken, calendarId);
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
console.warn("Failed to resolve calendar ID, using provided value", error);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
195
221
|
// 1. Cancel scheduled renewal task
|
|
196
|
-
const renewalTask = await this.get(`watch_renewal_task_${
|
|
222
|
+
const renewalTask = await this.get(`watch_renewal_task_${resolvedCalendarId}`);
|
|
197
223
|
if (renewalTask) {
|
|
198
224
|
await this.cancelTask(renewalTask);
|
|
199
|
-
await this.clear(`watch_renewal_task_${
|
|
225
|
+
await this.clear(`watch_renewal_task_${resolvedCalendarId}`);
|
|
200
226
|
}
|
|
201
227
|
// 2. Stop watch via Google API
|
|
202
|
-
const authToken = await this.get(`auth_token_${calendarId}`);
|
|
203
228
|
if (authToken) {
|
|
204
229
|
try {
|
|
205
|
-
await this.stopCalendarWatch(authToken,
|
|
230
|
+
await this.stopCalendarWatch(authToken, resolvedCalendarId);
|
|
206
231
|
}
|
|
207
232
|
catch (error) {
|
|
208
233
|
console.error("Failed to stop calendar watch:", error);
|
|
209
234
|
// Continue with cleanup even if API call fails
|
|
210
235
|
}
|
|
211
236
|
}
|
|
212
|
-
// 3. Clear
|
|
213
|
-
await this.clear(`calendar_watch_${
|
|
214
|
-
await this.clear(`sync_state_${
|
|
215
|
-
await this.clear(`sync_lock_${
|
|
216
|
-
|
|
237
|
+
// 3. Clear sync-related storage
|
|
238
|
+
await this.clear(`calendar_watch_${resolvedCalendarId}`);
|
|
239
|
+
await this.clear(`sync_state_${resolvedCalendarId}`);
|
|
240
|
+
await this.clear(`sync_lock_${resolvedCalendarId}`);
|
|
241
|
+
// NOTE: We keep auth_token_${resolvedCalendarId} so RSVP callbacks on existing activities continue to work
|
|
217
242
|
}
|
|
218
243
|
/**
|
|
219
244
|
* Stop a calendar watch by calling the Google Calendar API.
|
|
@@ -251,7 +276,6 @@ export class GoogleCalendar extends Tool {
|
|
|
251
276
|
const renewalTime = new Date(expiry.getTime() - 24 * 60 * 60 * 1000);
|
|
252
277
|
// Don't schedule if already past renewal time (edge case)
|
|
253
278
|
if (renewalTime <= new Date()) {
|
|
254
|
-
console.log(`Watch for ${calendarId} expires soon, renewing immediately`);
|
|
255
279
|
await this.renewCalendarWatch(calendarId);
|
|
256
280
|
return;
|
|
257
281
|
}
|
|
@@ -265,7 +289,6 @@ export class GoogleCalendar extends Tool {
|
|
|
265
289
|
if (taskToken) {
|
|
266
290
|
await this.set(`watch_renewal_task_${calendarId}`, taskToken);
|
|
267
291
|
}
|
|
268
|
-
console.log(`Scheduled watch renewal for ${calendarId} at ${renewalTime.toISOString()}`);
|
|
269
292
|
}
|
|
270
293
|
/**
|
|
271
294
|
* Renew a calendar watch by creating a new watch.
|
|
@@ -276,7 +299,6 @@ export class GoogleCalendar extends Tool {
|
|
|
276
299
|
*/
|
|
277
300
|
async renewCalendarWatch(calendarId) {
|
|
278
301
|
try {
|
|
279
|
-
console.log(`Renewing watch for calendar ${calendarId}`);
|
|
280
302
|
// Get auth token
|
|
281
303
|
const authToken = await this.get(`auth_token_${calendarId}`);
|
|
282
304
|
if (!authToken) {
|
|
@@ -299,7 +321,6 @@ export class GoogleCalendar extends Tool {
|
|
|
299
321
|
}
|
|
300
322
|
// Create new watch (reuses existing webhook URL and callback)
|
|
301
323
|
await this.setupCalendarWatch(authToken, calendarId, authToken);
|
|
302
|
-
console.log(`Successfully renewed watch for calendar ${calendarId}`);
|
|
303
324
|
}
|
|
304
325
|
catch (error) {
|
|
305
326
|
console.error(`Failed to renew watch for calendar ${calendarId}:`, error);
|
|
@@ -310,7 +331,6 @@ export class GoogleCalendar extends Tool {
|
|
|
310
331
|
const webhookUrl = await this.tools.network.createWebhook({}, this.onCalendarWebhook, calendarId, opaqueAuthToken);
|
|
311
332
|
// Check if webhook URL is localhost
|
|
312
333
|
if (URL.parse(webhookUrl)?.hostname === "localhost") {
|
|
313
|
-
console.log("Skipping webhook setup for localhost URL");
|
|
314
334
|
return;
|
|
315
335
|
}
|
|
316
336
|
try {
|
|
@@ -333,7 +353,6 @@ export class GoogleCalendar extends Tool {
|
|
|
333
353
|
});
|
|
334
354
|
// Schedule proactive renewal 24 hours before expiry
|
|
335
355
|
await this.scheduleWatchRenewal(calendarId);
|
|
336
|
-
console.log(`Successfully setup calendar watch for ${calendarId}, expires: ${new Date(parseInt(watchData.expiration)).toISOString()}`);
|
|
337
356
|
}
|
|
338
357
|
catch (error) {
|
|
339
358
|
console.error(`Failed to setup calendar watch for calendar ${calendarId}:`, error);
|
|
@@ -352,7 +371,6 @@ export class GoogleCalendar extends Tool {
|
|
|
352
371
|
const syncLock = await this.get(`sync_lock_${calendarId}`);
|
|
353
372
|
if (!syncLock) {
|
|
354
373
|
// Both state and lock are cleared - sync completed normally, this is a stale callback
|
|
355
|
-
console.log(`Sync already completed for calendar ${calendarId}, skipping duplicate batch callback`);
|
|
356
374
|
}
|
|
357
375
|
else {
|
|
358
376
|
// State missing but lock still set - sync may have been superseded
|
|
@@ -369,7 +387,6 @@ export class GoogleCalendar extends Tool {
|
|
|
369
387
|
const result = await syncGoogleCalendar(api, calendarId, state);
|
|
370
388
|
if (result.events.length > 0) {
|
|
371
389
|
await this.processCalendarEvents(result.events, calendarId, initialSync);
|
|
372
|
-
console.log(`Synced ${result.events.length} events in batch ${batchNumber} for calendar ${calendarId}`);
|
|
373
390
|
}
|
|
374
391
|
await this.set(`sync_state_${calendarId}`, result.state);
|
|
375
392
|
if (result.state.more) {
|
|
@@ -378,11 +395,9 @@ export class GoogleCalendar extends Tool {
|
|
|
378
395
|
await this.runTask(syncCallback);
|
|
379
396
|
}
|
|
380
397
|
else {
|
|
381
|
-
console.log(`Google Calendar ${mode} sync completed after ${batchNumber} batches for calendar ${calendarId}`);
|
|
382
398
|
// Persist sync token for future incremental syncs
|
|
383
399
|
if (result.state.state && !result.state.more) {
|
|
384
400
|
await this.set(`last_sync_token_${calendarId}`, result.state.state);
|
|
385
|
-
console.log(`Stored sync token for calendar ${calendarId}`);
|
|
386
401
|
}
|
|
387
402
|
if (mode === "full") {
|
|
388
403
|
await this.clear(`sync_state_${calendarId}`);
|
|
@@ -430,15 +445,15 @@ export class GoogleCalendar extends Tool {
|
|
|
430
445
|
const activityData = transformGoogleEvent(event, calendarId);
|
|
431
446
|
// Handle cancelled events
|
|
432
447
|
if (event.status === "cancelled") {
|
|
433
|
-
// Canonical
|
|
434
|
-
const canonicalUrl =
|
|
448
|
+
// Canonical source for this event (required for upsert)
|
|
449
|
+
const canonicalUrl = `google-calendar:${event.id}`;
|
|
435
450
|
// Create cancellation note
|
|
436
451
|
const cancelNote = {
|
|
437
452
|
activity: { source: canonicalUrl },
|
|
438
453
|
key: "cancellation",
|
|
439
454
|
content: "This event was cancelled.",
|
|
440
455
|
contentType: "text",
|
|
441
|
-
created: new Date(),
|
|
456
|
+
created: event.updated ? new Date(event.updated) : new Date(),
|
|
442
457
|
};
|
|
443
458
|
// Convert to Note type with blocked tag and cancellation note
|
|
444
459
|
const activity = {
|
|
@@ -452,7 +467,8 @@ export class GoogleCalendar extends Tool {
|
|
|
452
467
|
[Tag.Blocked]: [], // Toggle tag, empty actor array
|
|
453
468
|
},
|
|
454
469
|
notes: [cancelNote],
|
|
455
|
-
|
|
470
|
+
...(initialSync ? { unread: false } : {}), // false for initial sync, omit for incremental updates
|
|
471
|
+
...(initialSync ? { archived: false } : {}), // unarchive on initial sync only
|
|
456
472
|
};
|
|
457
473
|
// Send activity - database handles upsert automatically
|
|
458
474
|
await this.tools.callbacks.run(callbackToken, activity);
|
|
@@ -536,8 +552,8 @@ export class GoogleCalendar extends Tool {
|
|
|
536
552
|
if (!activityData.type) {
|
|
537
553
|
continue;
|
|
538
554
|
}
|
|
539
|
-
// Canonical
|
|
540
|
-
const canonicalUrl =
|
|
555
|
+
// Canonical source for this event (required for upsert)
|
|
556
|
+
const canonicalUrl = `google-calendar:${event.id}`;
|
|
541
557
|
// Create note with description and/or links
|
|
542
558
|
const notes = [];
|
|
543
559
|
if (hasDescription || hasLinks) {
|
|
@@ -567,7 +583,7 @@ export class GoogleCalendar extends Tool {
|
|
|
567
583
|
tags: tags || undefined,
|
|
568
584
|
notes,
|
|
569
585
|
preview: hasDescription ? description : null,
|
|
570
|
-
unread:
|
|
586
|
+
...(initialSync ? { unread: false } : {}), // false for initial sync, omit for incremental updates
|
|
571
587
|
...(initialSync ? { archived: false } : {}), // unarchive on initial sync only
|
|
572
588
|
};
|
|
573
589
|
// Send activity - database handles upsert automatically
|
|
@@ -601,14 +617,29 @@ export class GoogleCalendar extends Tool {
|
|
|
601
617
|
const instanceData = transformGoogleEvent(event, calendarId);
|
|
602
618
|
// Handle cancelled recurring instances by archiving the occurrence
|
|
603
619
|
if (event.status === "cancelled") {
|
|
620
|
+
// Extract start/end from the event (they're present even for cancelled events)
|
|
621
|
+
const start = event.start?.dateTime
|
|
622
|
+
? new Date(event.start.dateTime)
|
|
623
|
+
: event.start?.date
|
|
624
|
+
? event.start.date
|
|
625
|
+
: new Date(originalStartTime);
|
|
626
|
+
const end = event.end?.dateTime
|
|
627
|
+
? new Date(event.end.dateTime)
|
|
628
|
+
: event.end?.date
|
|
629
|
+
? event.end.date
|
|
630
|
+
: null;
|
|
604
631
|
const occurrence = {
|
|
605
632
|
occurrence: new Date(originalStartTime),
|
|
606
|
-
start: new Date(originalStartTime),
|
|
633
|
+
start: start instanceof Date ? start : new Date(originalStartTime),
|
|
607
634
|
archived: true,
|
|
608
635
|
};
|
|
636
|
+
// Include start/end at activity level to allow master activity creation
|
|
637
|
+
// during initial sync (upsert_activity needs these to infer scheduling)
|
|
609
638
|
const occurrenceUpdate = {
|
|
610
639
|
type: ActivityType.Event,
|
|
611
640
|
source: masterCanonicalUrl,
|
|
641
|
+
start: start,
|
|
642
|
+
end: end,
|
|
612
643
|
occurrences: [occurrence],
|
|
613
644
|
};
|
|
614
645
|
await this.tools.callbacks.run(callbackToken, occurrenceUpdate);
|
|
@@ -653,7 +684,7 @@ export class GoogleCalendar extends Tool {
|
|
|
653
684
|
occurrence: new Date(originalStartTime),
|
|
654
685
|
start: occurrenceStart,
|
|
655
686
|
tags: Object.keys(tags).length > 0 ? tags : undefined,
|
|
656
|
-
unread:
|
|
687
|
+
...(initialSync ? { unread: false } : {}),
|
|
657
688
|
};
|
|
658
689
|
// Add additional field overrides if present
|
|
659
690
|
if (instanceData.end !== undefined && instanceData.end !== null) {
|
|
@@ -698,7 +729,6 @@ export class GoogleCalendar extends Tool {
|
|
|
698
729
|
const now = new Date();
|
|
699
730
|
const hoursUntilExpiry = (expiration.getTime() - now.getTime()) / (1000 * 60 * 60);
|
|
700
731
|
if (hoursUntilExpiry < 24) {
|
|
701
|
-
console.log(`Watch for ${calendarId} expires in ${hoursUntilExpiry.toFixed(1)} hours, renewing...`);
|
|
702
732
|
// Don't await - let renewal happen async (don't block webhook)
|
|
703
733
|
this.renewCalendarWatch(calendarId).catch((error) => {
|
|
704
734
|
console.error(`Failed to reactively renew watch for ${calendarId}:`, error);
|
|
@@ -711,7 +741,6 @@ export class GoogleCalendar extends Tool {
|
|
|
711
741
|
// Check if initial sync is still in progress
|
|
712
742
|
const syncInProgress = await this.get(`sync_lock_${calendarId}`);
|
|
713
743
|
if (syncInProgress) {
|
|
714
|
-
console.log(`Sync already in progress for calendar ${calendarId}, ignoring webhook-triggered incremental sync`);
|
|
715
744
|
return;
|
|
716
745
|
}
|
|
717
746
|
const watchData = await this.get(`calendar_watch_${calendarId}`);
|
|
@@ -772,115 +801,146 @@ export class GoogleCalendar extends Tool {
|
|
|
772
801
|
}
|
|
773
802
|
try {
|
|
774
803
|
await this.tools.plot.addContacts(contacts);
|
|
775
|
-
console.log(`Successfully added ${contacts.length} contacts`);
|
|
776
804
|
}
|
|
777
805
|
catch (error) {
|
|
778
806
|
console.error("Failed to add contacts to Plot:", error);
|
|
779
807
|
}
|
|
780
808
|
}
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
809
|
+
/**
|
|
810
|
+
* Constructs a Google Calendar instance ID for a recurring event occurrence.
|
|
811
|
+
* @param baseEventId - The recurring event ID
|
|
812
|
+
* @param occurrence - The occurrence date (Date or ISO string)
|
|
813
|
+
* @returns Instance ID in format: {baseEventId}_{YYYYMMDDTHHMMSSZ}
|
|
814
|
+
*/
|
|
815
|
+
constructInstanceId(baseEventId, occurrence) {
|
|
816
|
+
let occurrenceDate;
|
|
817
|
+
if (occurrence instanceof Date) {
|
|
818
|
+
occurrenceDate = occurrence;
|
|
788
819
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
//
|
|
805
|
-
|
|
820
|
+
else if (typeof occurrence === "string") {
|
|
821
|
+
occurrenceDate = new Date(occurrence);
|
|
822
|
+
}
|
|
823
|
+
else {
|
|
824
|
+
throw new Error(`Invalid occurrence type: ${typeof occurrence}`);
|
|
825
|
+
}
|
|
826
|
+
// Format as YYYYMMDDTHHMMSSZ (Google Calendar instance ID format)
|
|
827
|
+
const instanceDateStr = occurrenceDate
|
|
828
|
+
.toISOString()
|
|
829
|
+
.replace(/[-:]/g, "") // Remove dashes and colons
|
|
830
|
+
.replace(/\.\d{3}/, ""); // Remove milliseconds
|
|
831
|
+
return `${baseEventId}_${instanceDateStr}`;
|
|
832
|
+
}
|
|
833
|
+
async onActivityUpdated(activity, changes) {
|
|
834
|
+
try {
|
|
835
|
+
// Only process calendar events
|
|
836
|
+
const source = activity.source;
|
|
837
|
+
if (!source ||
|
|
838
|
+
typeof source !== "string" ||
|
|
839
|
+
!source.startsWith("google-calendar:")) {
|
|
840
|
+
return;
|
|
841
|
+
}
|
|
842
|
+
// Check if RSVP tags changed
|
|
843
|
+
const attendChanged = Tag.Attend in changes.tagsAdded || Tag.Attend in changes.tagsRemoved;
|
|
844
|
+
const skipChanged = Tag.Skip in changes.tagsAdded || Tag.Skip in changes.tagsRemoved;
|
|
845
|
+
const undecidedChanged = Tag.Undecided in changes.tagsAdded ||
|
|
846
|
+
Tag.Undecided in changes.tagsRemoved;
|
|
847
|
+
if (!attendChanged && !skipChanged && !undecidedChanged) {
|
|
848
|
+
return; // No RSVP-related tag changes
|
|
849
|
+
}
|
|
850
|
+
// Determine new RSVP status based on current tags
|
|
851
|
+
const hasAttend = activity.tags?.[Tag.Attend] && activity.tags[Tag.Attend].length > 0;
|
|
852
|
+
const hasSkip = activity.tags?.[Tag.Skip] && activity.tags[Tag.Skip].length > 0;
|
|
853
|
+
const hasUndecided = activity.tags?.[Tag.Undecided] &&
|
|
854
|
+
activity.tags[Tag.Undecided].length > 0;
|
|
855
|
+
let newStatus;
|
|
856
|
+
// Priority: Attend > Skip > Undecided, using most recent from tagsAdded
|
|
857
|
+
if (hasAttend && (hasSkip || hasUndecided)) {
|
|
858
|
+
// Multiple tags present - use most recent from tagsAdded
|
|
859
|
+
if (Tag.Attend in changes.tagsAdded) {
|
|
860
|
+
newStatus = "accepted";
|
|
861
|
+
}
|
|
862
|
+
else if (Tag.Skip in changes.tagsAdded) {
|
|
863
|
+
newStatus = "declined";
|
|
864
|
+
}
|
|
865
|
+
else if (Tag.Undecided in changes.tagsAdded) {
|
|
866
|
+
newStatus = "tentative";
|
|
867
|
+
}
|
|
868
|
+
else {
|
|
869
|
+
// Multiple were already there, no change needed
|
|
870
|
+
return;
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
else if (hasSkip && hasUndecided) {
|
|
874
|
+
// Skip and Undecided present - use most recent
|
|
875
|
+
if (Tag.Skip in changes.tagsAdded) {
|
|
876
|
+
newStatus = "declined";
|
|
877
|
+
}
|
|
878
|
+
else if (Tag.Undecided in changes.tagsAdded) {
|
|
879
|
+
newStatus = "tentative";
|
|
880
|
+
}
|
|
881
|
+
else {
|
|
882
|
+
return;
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
else if (hasAttend) {
|
|
806
886
|
newStatus = "accepted";
|
|
807
887
|
}
|
|
808
|
-
else if (
|
|
888
|
+
else if (hasSkip) {
|
|
809
889
|
newStatus = "declined";
|
|
810
890
|
}
|
|
811
|
-
else if (
|
|
891
|
+
else if (hasUndecided) {
|
|
812
892
|
newStatus = "tentative";
|
|
813
893
|
}
|
|
814
894
|
else {
|
|
815
|
-
//
|
|
895
|
+
// No RSVP tags present - reset to needsAction
|
|
896
|
+
newStatus = "needsAction";
|
|
897
|
+
}
|
|
898
|
+
// Extract calendar info from metadata
|
|
899
|
+
if (!activity.meta) {
|
|
900
|
+
console.error("[RSVP Sync] Missing activity metadata", {
|
|
901
|
+
activity_id: activity.id,
|
|
902
|
+
});
|
|
816
903
|
return;
|
|
817
904
|
}
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
905
|
+
const baseEventId = activity.meta.id;
|
|
906
|
+
const calendarId = activity.meta.calendarId;
|
|
907
|
+
if (!baseEventId ||
|
|
908
|
+
!calendarId ||
|
|
909
|
+
typeof baseEventId !== "string" ||
|
|
910
|
+
typeof calendarId !== "string") {
|
|
911
|
+
console.error("[RSVP Sync] Missing or invalid event/calendar ID", {
|
|
912
|
+
has_event_id: !!baseEventId,
|
|
913
|
+
has_calendar_id: !!calendarId,
|
|
914
|
+
event_id_type: typeof baseEventId,
|
|
915
|
+
calendar_id_type: typeof calendarId,
|
|
916
|
+
});
|
|
917
|
+
return;
|
|
823
918
|
}
|
|
824
|
-
|
|
825
|
-
|
|
919
|
+
// Determine the event ID to update
|
|
920
|
+
// If this is an occurrence-level change, construct the instance ID
|
|
921
|
+
let eventId = baseEventId;
|
|
922
|
+
if (changes.occurrence) {
|
|
923
|
+
eventId = this.constructInstanceId(baseEventId, changes.occurrence.occurrence);
|
|
826
924
|
}
|
|
827
|
-
|
|
925
|
+
// Get the auth token for this calendar
|
|
926
|
+
const authToken = await this.get(`auth_token_${calendarId}`);
|
|
927
|
+
if (!authToken) {
|
|
928
|
+
console.error("[RSVP Sync] No auth token found", {
|
|
929
|
+
calendar_id: calendarId,
|
|
930
|
+
storage_key: `auth_token_${calendarId}`,
|
|
931
|
+
activity_id: activity.id,
|
|
932
|
+
hint: 'Calendar ID may be "primary" but auth token stored with actual email',
|
|
933
|
+
});
|
|
828
934
|
return;
|
|
829
935
|
}
|
|
830
|
-
}
|
|
831
|
-
else if (hasAttend) {
|
|
832
|
-
newStatus = "accepted";
|
|
833
|
-
}
|
|
834
|
-
else if (hasSkip) {
|
|
835
|
-
newStatus = "declined";
|
|
836
|
-
}
|
|
837
|
-
else if (hasUndecided) {
|
|
838
|
-
newStatus = "tentative";
|
|
839
|
-
}
|
|
840
|
-
else {
|
|
841
|
-
// No RSVP tags present - reset to needsAction
|
|
842
|
-
newStatus = "needsAction";
|
|
843
|
-
}
|
|
844
|
-
// Extract calendar info from metadata
|
|
845
|
-
if (!activity.meta) {
|
|
846
|
-
console.warn("Missing activity metadata");
|
|
847
|
-
return;
|
|
848
|
-
}
|
|
849
|
-
const baseEventId = activity.meta.id;
|
|
850
|
-
const calendarId = activity.meta.calendarId;
|
|
851
|
-
if (!baseEventId ||
|
|
852
|
-
!calendarId ||
|
|
853
|
-
typeof baseEventId !== "string" ||
|
|
854
|
-
typeof calendarId !== "string") {
|
|
855
|
-
console.warn("Missing or invalid event or calendar ID in activity metadata");
|
|
856
|
-
return;
|
|
857
|
-
}
|
|
858
|
-
// Determine the event ID to update
|
|
859
|
-
// If this is an occurrence-level change, construct the instance ID
|
|
860
|
-
let eventId = baseEventId;
|
|
861
|
-
if (changes.occurrence) {
|
|
862
|
-
// Google Calendar instance IDs are formatted as: {recurringEventId}_{YYYYMMDDTHHMMSSZ}
|
|
863
|
-
const occurrenceDate = changes.occurrence.occurrence instanceof Date
|
|
864
|
-
? changes.occurrence.occurrence
|
|
865
|
-
: new Date(changes.occurrence.occurrence);
|
|
866
|
-
// Format as YYYYMMDDTHHMMSSZ (e.g., 20250115T140000Z)
|
|
867
|
-
const instanceDateStr = occurrenceDate
|
|
868
|
-
.toISOString()
|
|
869
|
-
.replace(/[-:]/g, "") // Remove dashes and colons
|
|
870
|
-
.replace(/\.\d{3}/, ""); // Remove milliseconds
|
|
871
|
-
eventId = `${baseEventId}_${instanceDateStr}`;
|
|
872
|
-
}
|
|
873
|
-
// Get the auth token for this calendar
|
|
874
|
-
const authToken = await this.get(`auth_token_${calendarId}`);
|
|
875
|
-
if (!authToken) {
|
|
876
|
-
console.warn("No auth token found for calendar", calendarId);
|
|
877
|
-
return;
|
|
878
|
-
}
|
|
879
|
-
try {
|
|
880
936
|
await this.updateEventRSVP(authToken, calendarId, eventId, newStatus);
|
|
881
937
|
}
|
|
882
938
|
catch (error) {
|
|
883
|
-
console.error(
|
|
939
|
+
console.error("[RSVP Sync] Error in callback", {
|
|
940
|
+
error: error instanceof Error ? error.message : String(error),
|
|
941
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
942
|
+
activity_id: activity.id,
|
|
943
|
+
});
|
|
884
944
|
}
|
|
885
945
|
}
|
|
886
946
|
async updateEventRSVP(authToken, calendarId, eventId, status) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-calendar.js","sourceRoot":"","sources":["../src/google-calendar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google-calendar.js","sourceRoot":"","sources":["../src/google-calendar.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "Sync with Google Calendar",
|
|
5
5
|
"author": "Plot <team@plot.day> (https://plot.day)",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"version": "0.11.
|
|
7
|
+
"version": "0.11.2",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"LICENSE"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@plotday/tool-google-contacts": "^0.4.
|
|
25
|
-
"@plotday/twister": "^0.32.
|
|
24
|
+
"@plotday/tool-google-contacts": "^0.4.9",
|
|
25
|
+
"@plotday/twister": "^0.32.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"typescript": "^5.9.3"
|