@plotday/tool-google-calendar 0.10.1 → 0.11.1

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.
@@ -235,14 +235,12 @@ export function transformGoogleEvent(event, calendarId) {
235
235
  // Handle cancelled events differently
236
236
  const isCancelled = event.status === "cancelled";
237
237
  const activity = {
238
+ source: `google-calendar:${event.id}`,
238
239
  type: isCancelled ? ActivityType.Note : (isAllDay ? ActivityType.Note : ActivityType.Event),
239
- title: isCancelled
240
- ? `Cancelled: ${event.summary || "Event"}`
241
- : event.summary || "",
240
+ title: event.summary || "",
242
241
  start: isCancelled ? null : start,
243
242
  end: isCancelled ? null : end,
244
243
  meta: {
245
- source: `google-calendar:${event.id}`,
246
244
  id: event.id,
247
245
  calendarId: calendarId,
248
246
  htmlLink: event.htmlLink || null,
@@ -254,9 +252,7 @@ export function transformGoogleEvent(event, calendarId) {
254
252
  originalEnd: isCancelled
255
253
  ? (end instanceof Date ? end.toISOString() : end)
256
254
  : null,
257
- description: isCancelled
258
- ? `This event was cancelled.\n\n${event.description || ""}`
259
- : event.description || null,
255
+ description: event.description || null,
260
256
  },
261
257
  };
262
258
  // Handle recurrence for master events (not instances)
@@ -292,8 +288,6 @@ export function transformGoogleEvent(event, calendarId) {
292
288
  }
293
289
  export async function syncGoogleCalendar(api, calendarId, state) {
294
290
  const params = {
295
- // Remove singleEvents to get recurring events as masters
296
- singleEvents: false,
297
291
  showDeleted: true,
298
292
  };
299
293
  if (state.state && state.more) {
@@ -304,8 +298,16 @@ export async function syncGoogleCalendar(api, calendarId, state) {
304
298
  }
305
299
  else {
306
300
  params.timeMin = state.min?.toISOString();
301
+ params.timeMax = state.max?.toISOString();
307
302
  }
308
- const data = (await api.call("GET", `https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events`, params));
303
+ // Filter out undefined/null values to prevent "undefined" in query string
304
+ const filteredParams = {};
305
+ for (const [key, value] of Object.entries(params)) {
306
+ if (value !== undefined && value !== null) {
307
+ filteredParams[key] = String(value);
308
+ }
309
+ }
310
+ const data = (await api.call("GET", `https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events`, filteredParams));
309
311
  if (!data) {
310
312
  // Requires full sync
311
313
  const newState = {
@@ -1 +1 @@
1
- {"version":3,"file":"google-api.js","sourceRoot":"","sources":["../src/google-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-api.js","sourceRoot":"","sources":["../src/google-api.ts"],"names":[],"mappings":"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"}
@@ -84,12 +84,39 @@ 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;
90
95
  calendarId: string;
91
96
  } & SyncOptions, callback: TCallback, ...extraArgs: TArgs): Promise<void>;
92
97
  stopSync(_authToken: string, calendarId: string): Promise<void>;
98
+ /**
99
+ * Stop a calendar watch by calling the Google Calendar API.
100
+ * This cancels the webhook subscription with Google.
101
+ *
102
+ * @private
103
+ */
104
+ private stopCalendarWatch;
105
+ /**
106
+ * Schedule proactive renewal of a calendar watch 24 hours before expiry.
107
+ * Creates a callback to renewCalendarWatch and schedules it using the Tasks tool.
108
+ *
109
+ * @private
110
+ */
111
+ private scheduleWatchRenewal;
112
+ /**
113
+ * Renew a calendar watch by creating a new watch.
114
+ * This is called either proactively (scheduled task) or reactively (on webhook).
115
+ * Gracefully handles errors without throwing.
116
+ *
117
+ * @private
118
+ */
119
+ private renewCalendarWatch;
93
120
  private setupCalendarWatch;
94
121
  syncBatch(batchNumber: number, mode: "full" | "incremental", authToken: string, calendarId: string, initialSync: boolean): Promise<void>;
95
122
  private processCalendarEvents;
@@ -106,6 +133,13 @@ export declare class GoogleCalendar extends Tool<GoogleCalendar> implements Cale
106
133
  * Adds the synced contacts to Plot for enriching calendar event attendees.
107
134
  */
108
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;
109
143
  onActivityUpdated(activity: Activity, changes: {
110
144
  tagsAdded: Record<Tag, ActorId[]>;
111
145
  tagsRemoved: Record<Tag, ActorId[]>;
@@ -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"));
@@ -143,72 +156,208 @@ export class GoogleCalendar extends Tool {
143
156
  }));
144
157
  }
145
158
  async startSync(options, callback, ...extraArgs) {
146
- const { authToken, calendarId } = options;
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_${calendarId}`);
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_${calendarId}`, true);
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_${calendarId}`, authToken);
173
+ await this.set(`auth_token_${resolvedCalendarId}`, authToken);
160
174
  // Setup webhook for this calendar
161
- await this.setupCalendarWatch(authToken, calendarId, authToken);
162
- // Start initial sync
163
- const now = new Date();
164
- const min = new Date(now.getFullYear() - 2, 0, 1);
165
- const max = new Date(now.getFullYear() + 1, 11, 31);
175
+ await this.setupCalendarWatch(authToken, resolvedCalendarId, authToken);
176
+ // Determine sync range
177
+ let min;
178
+ if (timeMin === null) {
179
+ // null means sync all history
180
+ min = undefined;
181
+ }
182
+ else if (timeMin !== undefined) {
183
+ // User provided a specific minimum date
184
+ min = timeMin;
185
+ }
186
+ else {
187
+ // Default to 2 years into the past
188
+ const now = new Date();
189
+ min = new Date(now.getFullYear() - 2, 0, 1);
190
+ }
191
+ // Handle timeMax (null means no limit, same as undefined)
192
+ let max;
193
+ if (timeMax !== null && timeMax !== undefined) {
194
+ max = timeMax;
195
+ }
166
196
  const initialState = {
167
- calendarId,
197
+ calendarId: resolvedCalendarId,
168
198
  min,
169
199
  max,
170
200
  sequence: 1,
171
201
  };
172
- await this.set(`sync_state_${calendarId}`, initialState);
202
+ await this.set(`sync_state_${resolvedCalendarId}`, initialState);
173
203
  // Start sync batch using run tool for long-running operation
174
- const syncCallback = await this.callback(this.syncBatch, 1, "full", authToken, calendarId, true // initialSync = true for initial sync
204
+ const syncCallback = await this.callback(this.syncBatch, 1, "full", authToken, resolvedCalendarId, true // initialSync = true for initial sync
175
205
  );
176
206
  await this.runTask(syncCallback);
177
207
  }
178
208
  async stopSync(_authToken, calendarId) {
179
- // Stop webhook
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
+ }
221
+ // 1. Cancel scheduled renewal task
222
+ const renewalTask = await this.get(`watch_renewal_task_${resolvedCalendarId}`);
223
+ if (renewalTask) {
224
+ await this.cancelTask(renewalTask);
225
+ await this.clear(`watch_renewal_task_${resolvedCalendarId}`);
226
+ }
227
+ // 2. Stop watch via Google API
228
+ if (authToken) {
229
+ try {
230
+ await this.stopCalendarWatch(authToken, resolvedCalendarId);
231
+ }
232
+ catch (error) {
233
+ console.error("Failed to stop calendar watch:", error);
234
+ // Continue with cleanup even if API call fails
235
+ }
236
+ }
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
242
+ }
243
+ /**
244
+ * Stop a calendar watch by calling the Google Calendar API.
245
+ * This cancels the webhook subscription with Google.
246
+ *
247
+ * @private
248
+ */
249
+ async stopCalendarWatch(authToken, calendarId) {
180
250
  const watchData = await this.get(`calendar_watch_${calendarId}`);
181
- if (watchData) {
182
- // Cancel the watch (would need Google API call)
183
- await this.clear(`calendar_watch_${calendarId}`);
251
+ if (!watchData) {
252
+ return;
253
+ }
254
+ const api = await this.getApi(authToken);
255
+ // Call Google Calendar API to stop the watch
256
+ // https://developers.google.com/calendar/api/v3/reference/channels/stop
257
+ await api.call("POST", "https://www.googleapis.com/calendar/v3/channels/stop", undefined, {
258
+ id: watchData.watchId,
259
+ resourceId: watchData.resourceId,
260
+ });
261
+ }
262
+ /**
263
+ * Schedule proactive renewal of a calendar watch 24 hours before expiry.
264
+ * Creates a callback to renewCalendarWatch and schedules it using the Tasks tool.
265
+ *
266
+ * @private
267
+ */
268
+ async scheduleWatchRenewal(calendarId) {
269
+ const watchData = await this.get(`calendar_watch_${calendarId}`);
270
+ if (!watchData?.expiry) {
271
+ console.warn(`No watch data found for calendar ${calendarId}`);
272
+ return;
273
+ }
274
+ // Calculate renewal time: 24 hours before expiry
275
+ const expiry = new Date(watchData.expiry);
276
+ const renewalTime = new Date(expiry.getTime() - 24 * 60 * 60 * 1000);
277
+ // Don't schedule if already past renewal time (edge case)
278
+ if (renewalTime <= new Date()) {
279
+ await this.renewCalendarWatch(calendarId);
280
+ return;
281
+ }
282
+ // Create callback for renewal (only pass calendarId - serializable!)
283
+ const renewalCallback = await this.callback(this.renewCalendarWatch, calendarId);
284
+ // Schedule renewal task
285
+ const taskToken = await this.runTask(renewalCallback, {
286
+ runAt: renewalTime,
287
+ });
288
+ // Store task token for cleanup
289
+ if (taskToken) {
290
+ await this.set(`watch_renewal_task_${calendarId}`, taskToken);
291
+ }
292
+ }
293
+ /**
294
+ * Renew a calendar watch by creating a new watch.
295
+ * This is called either proactively (scheduled task) or reactively (on webhook).
296
+ * Gracefully handles errors without throwing.
297
+ *
298
+ * @private
299
+ */
300
+ async renewCalendarWatch(calendarId) {
301
+ try {
302
+ // Get auth token
303
+ const authToken = await this.get(`auth_token_${calendarId}`);
304
+ if (!authToken) {
305
+ console.error(`No auth token found for calendar ${calendarId}, cannot renew watch`);
306
+ return;
307
+ }
308
+ // Get existing watch data
309
+ const oldWatchData = await this.get(`calendar_watch_${calendarId}`);
310
+ if (!oldWatchData) {
311
+ console.warn(`No watch data found for calendar ${calendarId}, skipping renewal`);
312
+ return;
313
+ }
314
+ // Stop the old watch (best effort - don't fail if this errors)
315
+ try {
316
+ await this.stopCalendarWatch(authToken, calendarId);
317
+ }
318
+ catch (error) {
319
+ console.warn(`Failed to stop old watch for ${calendarId}:`, error);
320
+ // Continue with renewal anyway
321
+ }
322
+ // Create new watch (reuses existing webhook URL and callback)
323
+ await this.setupCalendarWatch(authToken, calendarId, authToken);
324
+ }
325
+ catch (error) {
326
+ console.error(`Failed to renew watch for calendar ${calendarId}:`, error);
327
+ // Don't throw - let reactive checking handle it as fallback
184
328
  }
185
- // Clear sync state and lock
186
- await this.clear(`sync_state_${calendarId}`);
187
- await this.clear(`sync_lock_${calendarId}`);
188
329
  }
189
330
  async setupCalendarWatch(authToken, calendarId, opaqueAuthToken) {
190
331
  const webhookUrl = await this.tools.network.createWebhook({}, this.onCalendarWebhook, calendarId, opaqueAuthToken);
191
332
  // Check if webhook URL is localhost
192
333
  if (URL.parse(webhookUrl)?.hostname === "localhost") {
193
- console.log("Skipping webhook setup for localhost URL");
194
334
  return;
195
335
  }
196
- const api = await this.getApi(authToken);
197
- // Setup watch for calendar
198
- const watchId = crypto.randomUUID();
199
- const secret = crypto.randomUUID();
200
- const watchData = (await api.call("POST", `https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events/watch`, undefined, {
201
- id: watchId,
202
- type: "web_hook",
203
- address: webhookUrl,
204
- token: new URLSearchParams({ secret }).toString(),
205
- }));
206
- await this.set(`calendar_watch_${calendarId}`, {
207
- watchId,
208
- secret,
209
- calendarId,
210
- expiry: new Date(parseInt(watchData.expiration)),
211
- });
336
+ try {
337
+ const api = await this.getApi(authToken);
338
+ // Setup watch for calendar
339
+ const watchId = crypto.randomUUID();
340
+ const secret = crypto.randomUUID();
341
+ const watchData = (await api.call("POST", `https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events/watch`, undefined, {
342
+ id: watchId,
343
+ type: "web_hook",
344
+ address: webhookUrl,
345
+ token: new URLSearchParams({ secret }).toString(),
346
+ }));
347
+ await this.set(`calendar_watch_${calendarId}`, {
348
+ watchId,
349
+ resourceId: watchData.resourceId,
350
+ secret,
351
+ calendarId,
352
+ expiry: new Date(parseInt(watchData.expiration)),
353
+ });
354
+ // Schedule proactive renewal 24 hours before expiry
355
+ await this.scheduleWatchRenewal(calendarId);
356
+ }
357
+ catch (error) {
358
+ console.error(`Failed to setup calendar watch for calendar ${calendarId}:`, error);
359
+ throw error;
360
+ }
212
361
  }
213
362
  async syncBatch(batchNumber, mode, authToken, calendarId, initialSync) {
214
363
  try {
@@ -218,22 +367,26 @@ export class GoogleCalendar extends Tool {
218
367
  }
219
368
  const state = await this.get(`sync_state_${calendarId}`);
220
369
  if (!state) {
221
- console.warn(`No sync state found for calendar ${calendarId}, sync may have been superseded`);
222
- await this.clear(`sync_lock_${calendarId}`);
370
+ // Check if sync lock is also cleared - if so, sync completed normally
371
+ const syncLock = await this.get(`sync_lock_${calendarId}`);
372
+ if (!syncLock) {
373
+ // Both state and lock are cleared - sync completed normally, this is a stale callback
374
+ }
375
+ else {
376
+ // State missing but lock still set - sync may have been superseded
377
+ console.warn(`No sync state found for calendar ${calendarId}, sync may have been superseded`);
378
+ await this.clear(`sync_lock_${calendarId}`);
379
+ }
223
380
  return;
224
381
  }
225
382
  // Convert date strings back to Date objects after deserialization
226
383
  if (state.min && typeof state.min === "string") {
227
384
  state.min = new Date(state.min);
228
385
  }
229
- if (state.max && typeof state.max === "string") {
230
- state.max = new Date(state.max);
231
- }
232
386
  const api = await this.getApi(authToken);
233
387
  const result = await syncGoogleCalendar(api, calendarId, state);
234
388
  if (result.events.length > 0) {
235
389
  await this.processCalendarEvents(result.events, calendarId, initialSync);
236
- console.log(`Synced ${result.events.length} events in batch ${batchNumber} for calendar ${calendarId}`);
237
390
  }
238
391
  await this.set(`sync_state_${calendarId}`, result.state);
239
392
  if (result.state.more) {
@@ -242,7 +395,10 @@ export class GoogleCalendar extends Tool {
242
395
  await this.runTask(syncCallback);
243
396
  }
244
397
  else {
245
- console.log(`Google Calendar ${mode} sync completed after ${batchNumber} batches for calendar ${calendarId}`);
398
+ // Persist sync token for future incremental syncs
399
+ if (result.state.state && !result.state.more) {
400
+ await this.set(`last_sync_token_${calendarId}`, result.state.state);
401
+ }
246
402
  if (mode === "full") {
247
403
  await this.clear(`sync_state_${calendarId}`);
248
404
  }
@@ -265,10 +421,6 @@ export class GoogleCalendar extends Tool {
265
421
  // Get user email for RSVP tagging
266
422
  for (const event of events) {
267
423
  try {
268
- if (event.status === "cancelled") {
269
- // TODO: Handle event cancellation
270
- continue;
271
- }
272
424
  // Extract contacts from organizer and attendees
273
425
  let validAttendees = [];
274
426
  // Prepare author contact (organizer) - will be passed directly as NewContact
@@ -291,6 +443,37 @@ export class GoogleCalendar extends Tool {
291
443
  else {
292
444
  // Regular or master recurring event
293
445
  const activityData = transformGoogleEvent(event, calendarId);
446
+ // Handle cancelled events
447
+ if (event.status === "cancelled") {
448
+ // Canonical source for this event (required for upsert)
449
+ const canonicalUrl = `google-calendar:${event.id}`;
450
+ // Create cancellation note
451
+ const cancelNote = {
452
+ activity: { source: canonicalUrl },
453
+ key: "cancellation",
454
+ content: "This event was cancelled.",
455
+ contentType: "text",
456
+ created: event.updated ? new Date(event.updated) : new Date(),
457
+ };
458
+ // Convert to Note type with blocked tag and cancellation note
459
+ const activity = {
460
+ source: canonicalUrl,
461
+ type: ActivityType.Note,
462
+ title: activityData.title || "",
463
+ start: activityData.start || null,
464
+ end: activityData.end || null,
465
+ meta: activityData.meta ?? null,
466
+ tags: {
467
+ [Tag.Blocked]: [], // Toggle tag, empty actor array
468
+ },
469
+ notes: [cancelNote],
470
+ unread: !initialSync, // false for initial sync, true for incremental updates
471
+ ...(initialSync ? { archived: false } : {}), // unarchive on initial sync only
472
+ };
473
+ // Send activity - database handles upsert automatically
474
+ await this.tools.callbacks.run(callbackToken, activity);
475
+ continue;
476
+ }
294
477
  // For recurring events, DON'T add tags at series level
295
478
  // Tags (RSVPs) should be per-occurrence via the occurrences array
296
479
  // For non-recurring events, add tags normally
@@ -369,8 +552,8 @@ export class GoogleCalendar extends Tool {
369
552
  if (!activityData.type) {
370
553
  continue;
371
554
  }
372
- // Canonical URL for this event (required for upsert)
373
- const canonicalUrl = event.htmlLink || `google-calendar:${calendarId}:${event.id}`;
555
+ // Canonical source for this event (required for upsert)
556
+ const canonicalUrl = `google-calendar:${event.id}`;
374
557
  // Create note with description and/or links
375
558
  const notes = [];
376
559
  if (hasDescription || hasLinks) {
@@ -399,7 +582,9 @@ export class GoogleCalendar extends Tool {
399
582
  meta: activityData.meta ?? null,
400
583
  tags: tags || undefined,
401
584
  notes,
585
+ preview: hasDescription ? description : null,
402
586
  unread: !initialSync, // false for initial sync, true for incremental updates
587
+ ...(initialSync ? { archived: false } : {}), // unarchive on initial sync only
403
588
  };
404
589
  // Send activity - database handles upsert automatically
405
590
  await this.tools.callbacks.run(callbackToken, activity);
@@ -430,6 +615,36 @@ export class GoogleCalendar extends Tool {
430
615
  const masterCanonicalUrl = `google-calendar:${calendarId}:${event.recurringEventId}`;
431
616
  // Transform the instance data
432
617
  const instanceData = transformGoogleEvent(event, calendarId);
618
+ // Handle cancelled recurring instances by archiving the occurrence
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;
631
+ const occurrence = {
632
+ occurrence: new Date(originalStartTime),
633
+ start: start instanceof Date ? start : new Date(originalStartTime),
634
+ archived: true,
635
+ };
636
+ // Include start/end at activity level to allow master activity creation
637
+ // during initial sync (upsert_activity needs these to infer scheduling)
638
+ const occurrenceUpdate = {
639
+ type: ActivityType.Event,
640
+ source: masterCanonicalUrl,
641
+ start: start,
642
+ end: end,
643
+ occurrences: [occurrence],
644
+ };
645
+ await this.tools.callbacks.run(callbackToken, occurrenceUpdate);
646
+ return;
647
+ }
433
648
  // Determine RSVP status for attendees
434
649
  const validAttendees = event.attendees?.filter((att) => att.email && !att.resource) || [];
435
650
  let tags = {};
@@ -509,19 +724,42 @@ export class GoogleCalendar extends Tool {
509
724
  console.warn("Invalid webhook secret");
510
725
  return;
511
726
  }
727
+ // Reactive expiry check (backup for missed scheduled renewal)
728
+ const expiration = new Date(watchData.expiry);
729
+ const now = new Date();
730
+ const hoursUntilExpiry = (expiration.getTime() - now.getTime()) / (1000 * 60 * 60);
731
+ if (hoursUntilExpiry < 24) {
732
+ // Don't await - let renewal happen async (don't block webhook)
733
+ this.renewCalendarWatch(calendarId).catch((error) => {
734
+ console.error(`Failed to reactively renew watch for ${calendarId}:`, error);
735
+ });
736
+ }
512
737
  // Trigger incremental sync
513
738
  await this.startIncrementalSync(calendarId, authToken);
514
739
  }
515
740
  async startIncrementalSync(calendarId, authToken) {
741
+ // Check if initial sync is still in progress
742
+ const syncInProgress = await this.get(`sync_lock_${calendarId}`);
743
+ if (syncInProgress) {
744
+ return;
745
+ }
516
746
  const watchData = await this.get(`calendar_watch_${calendarId}`);
517
747
  if (!watchData) {
518
748
  console.error("No calendar watch data found");
519
749
  return;
520
750
  }
521
- const incrementalState = {
522
- calendarId: watchData.calendarId,
523
- state: (await this.get(`last_sync_token_${calendarId}`)) || undefined,
524
- };
751
+ const syncToken = await this.get(`last_sync_token_${calendarId}`);
752
+ const incrementalState = syncToken
753
+ ? {
754
+ calendarId: watchData.calendarId,
755
+ state: syncToken,
756
+ }
757
+ : {
758
+ // No stored sync token - fall back to recent time window
759
+ calendarId: watchData.calendarId,
760
+ min: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000), // Last 7 days
761
+ sequence: 1,
762
+ };
525
763
  await this.set(`sync_state_${calendarId}`, incrementalState);
526
764
  const syncCallback = await this.callback(this.syncBatch, 1, "incremental", authToken, calendarId, false // initialSync = false for incremental updates
527
765
  );
@@ -563,115 +801,146 @@ export class GoogleCalendar extends Tool {
563
801
  }
564
802
  try {
565
803
  await this.tools.plot.addContacts(contacts);
566
- console.log(`Successfully added ${contacts.length} contacts`);
567
804
  }
568
805
  catch (error) {
569
806
  console.error("Failed to add contacts to Plot:", error);
570
807
  }
571
808
  }
572
- async onActivityUpdated(activity, changes) {
573
- // Only process calendar events
574
- const source = activity.source;
575
- if (!source ||
576
- typeof source !== "string" ||
577
- !source.startsWith("google-calendar:")) {
578
- return;
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;
819
+ }
820
+ else if (typeof occurrence === "string") {
821
+ occurrenceDate = new Date(occurrence);
579
822
  }
580
- // Check if RSVP tags changed
581
- const attendChanged = Tag.Attend in changes.tagsAdded || Tag.Attend in changes.tagsRemoved;
582
- const skipChanged = Tag.Skip in changes.tagsAdded || Tag.Skip in changes.tagsRemoved;
583
- const undecidedChanged = Tag.Undecided in changes.tagsAdded ||
584
- Tag.Undecided in changes.tagsRemoved;
585
- if (!attendChanged && !skipChanged && !undecidedChanged) {
586
- return; // No RSVP-related tag changes
587
- }
588
- // Determine new RSVP status based on current tags
589
- const hasAttend = activity.tags?.[Tag.Attend] && activity.tags[Tag.Attend].length > 0;
590
- const hasSkip = activity.tags?.[Tag.Skip] && activity.tags[Tag.Skip].length > 0;
591
- const hasUndecided = activity.tags?.[Tag.Undecided] && activity.tags[Tag.Undecided].length > 0;
592
- let newStatus;
593
- // Priority: Attend > Skip > Undecided, using most recent from tagsAdded
594
- if (hasAttend && (hasSkip || hasUndecided)) {
595
- // Multiple tags present - use most recent from tagsAdded
596
- if (Tag.Attend in changes.tagsAdded) {
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) {
597
886
  newStatus = "accepted";
598
887
  }
599
- else if (Tag.Skip in changes.tagsAdded) {
888
+ else if (hasSkip) {
600
889
  newStatus = "declined";
601
890
  }
602
- else if (Tag.Undecided in changes.tagsAdded) {
891
+ else if (hasUndecided) {
603
892
  newStatus = "tentative";
604
893
  }
605
894
  else {
606
- // Multiple were already there, no change needed
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
+ });
607
903
  return;
608
904
  }
609
- }
610
- else if (hasSkip && hasUndecided) {
611
- // Skip and Undecided present - use most recent
612
- if (Tag.Skip in changes.tagsAdded) {
613
- newStatus = "declined";
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;
614
918
  }
615
- else if (Tag.Undecided in changes.tagsAdded) {
616
- newStatus = "tentative";
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);
617
924
  }
618
- else {
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
+ });
619
934
  return;
620
935
  }
621
- }
622
- else if (hasAttend) {
623
- newStatus = "accepted";
624
- }
625
- else if (hasSkip) {
626
- newStatus = "declined";
627
- }
628
- else if (hasUndecided) {
629
- newStatus = "tentative";
630
- }
631
- else {
632
- // No RSVP tags present - reset to needsAction
633
- newStatus = "needsAction";
634
- }
635
- // Extract calendar info from metadata
636
- if (!activity.meta) {
637
- console.warn("Missing activity metadata");
638
- return;
639
- }
640
- const baseEventId = activity.meta.id;
641
- const calendarId = activity.meta.calendarId;
642
- if (!baseEventId ||
643
- !calendarId ||
644
- typeof baseEventId !== "string" ||
645
- typeof calendarId !== "string") {
646
- console.warn("Missing or invalid event or calendar ID in activity metadata");
647
- return;
648
- }
649
- // Determine the event ID to update
650
- // If this is an occurrence-level change, construct the instance ID
651
- let eventId = baseEventId;
652
- if (changes.occurrence) {
653
- // Google Calendar instance IDs are formatted as: {recurringEventId}_{YYYYMMDDTHHMMSSZ}
654
- const occurrenceDate = changes.occurrence.occurrence instanceof Date
655
- ? changes.occurrence.occurrence
656
- : new Date(changes.occurrence.occurrence);
657
- // Format as YYYYMMDDTHHMMSSZ (e.g., 20250115T140000Z)
658
- const instanceDateStr = occurrenceDate
659
- .toISOString()
660
- .replace(/[-:]/g, "") // Remove dashes and colons
661
- .replace(/\.\d{3}/, ""); // Remove milliseconds
662
- eventId = `${baseEventId}_${instanceDateStr}`;
663
- }
664
- // Get the auth token for this calendar
665
- const authToken = await this.get(`auth_token_${calendarId}`);
666
- if (!authToken) {
667
- console.warn("No auth token found for calendar", calendarId);
668
- return;
669
- }
670
- try {
671
936
  await this.updateEventRSVP(authToken, calendarId, eventId, newStatus);
672
937
  }
673
938
  catch (error) {
674
- console.error(`Failed to update RSVP for event ${eventId}:`, 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
+ });
675
944
  }
676
945
  }
677
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.10.1",
7
+ "version": "0.11.1",
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.7",
25
- "@plotday/twister": "^0.31.0"
24
+ "@plotday/tool-google-contacts": "^0.4.9",
25
+ "@plotday/twister": "^0.32.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "typescript": "^5.9.3"