@shin1ohno/sage 0.8.8 → 0.9.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.
Files changed (78) hide show
  1. package/README.md +31 -0
  2. package/dist/cli/http-server-with-config.d.ts +2 -0
  3. package/dist/cli/http-server-with-config.d.ts.map +1 -1
  4. package/dist/cli/http-server-with-config.js +70 -0
  5. package/dist/cli/http-server-with-config.js.map +1 -1
  6. package/dist/cli/main-entry.d.ts.map +1 -1
  7. package/dist/cli/main-entry.js +1 -0
  8. package/dist/cli/main-entry.js.map +1 -1
  9. package/dist/cli/parser.d.ts +2 -0
  10. package/dist/cli/parser.d.ts.map +1 -1
  11. package/dist/cli/parser.js +7 -0
  12. package/dist/cli/parser.js.map +1 -1
  13. package/dist/config/validation.d.ts +721 -0
  14. package/dist/config/validation.d.ts.map +1 -1
  15. package/dist/config/validation.js +203 -0
  16. package/dist/config/validation.js.map +1 -1
  17. package/dist/integrations/calendar-service.d.ts +14 -0
  18. package/dist/integrations/calendar-service.d.ts.map +1 -1
  19. package/dist/integrations/calendar-service.js.map +1 -1
  20. package/dist/integrations/calendar-source-manager.d.ts +86 -3
  21. package/dist/integrations/calendar-source-manager.d.ts.map +1 -1
  22. package/dist/integrations/calendar-source-manager.js +146 -15
  23. package/dist/integrations/calendar-source-manager.js.map +1 -1
  24. package/dist/integrations/google-calendar-service.d.ts +55 -3
  25. package/dist/integrations/google-calendar-service.d.ts.map +1 -1
  26. package/dist/integrations/google-calendar-service.js +213 -4
  27. package/dist/integrations/google-calendar-service.js.map +1 -1
  28. package/dist/oauth/encryption-service.d.ts +104 -0
  29. package/dist/oauth/encryption-service.d.ts.map +1 -0
  30. package/dist/oauth/encryption-service.js +271 -0
  31. package/dist/oauth/encryption-service.js.map +1 -0
  32. package/dist/oauth/file-mutex.d.ts +68 -0
  33. package/dist/oauth/file-mutex.d.ts.map +1 -0
  34. package/dist/oauth/file-mutex.js +140 -0
  35. package/dist/oauth/file-mutex.js.map +1 -0
  36. package/dist/oauth/google-oauth-handler.d.ts +8 -9
  37. package/dist/oauth/google-oauth-handler.d.ts.map +1 -1
  38. package/dist/oauth/google-oauth-handler.js +30 -65
  39. package/dist/oauth/google-oauth-handler.js.map +1 -1
  40. package/dist/oauth/index.d.ts +1 -0
  41. package/dist/oauth/index.d.ts.map +1 -1
  42. package/dist/oauth/index.js +2 -0
  43. package/dist/oauth/index.js.map +1 -1
  44. package/dist/oauth/oauth-server.d.ts +61 -1
  45. package/dist/oauth/oauth-server.d.ts.map +1 -1
  46. package/dist/oauth/oauth-server.js +181 -40
  47. package/dist/oauth/oauth-server.js.map +1 -1
  48. package/dist/oauth/persistent-client-store.d.ts +58 -0
  49. package/dist/oauth/persistent-client-store.d.ts.map +1 -0
  50. package/dist/oauth/persistent-client-store.js +187 -0
  51. package/dist/oauth/persistent-client-store.js.map +1 -0
  52. package/dist/oauth/persistent-refresh-token-store.d.ts +77 -0
  53. package/dist/oauth/persistent-refresh-token-store.d.ts.map +1 -0
  54. package/dist/oauth/persistent-refresh-token-store.js +225 -0
  55. package/dist/oauth/persistent-refresh-token-store.js.map +1 -0
  56. package/dist/oauth/persistent-session-store.d.ts +69 -0
  57. package/dist/oauth/persistent-session-store.d.ts.map +1 -0
  58. package/dist/oauth/persistent-session-store.js +154 -0
  59. package/dist/oauth/persistent-session-store.js.map +1 -0
  60. package/dist/oauth/session-store.d.ts +31 -0
  61. package/dist/oauth/session-store.d.ts.map +1 -0
  62. package/dist/oauth/session-store.js +47 -0
  63. package/dist/oauth/session-store.js.map +1 -0
  64. package/dist/services/working-cadence.d.ts +37 -1
  65. package/dist/services/working-cadence.d.ts.map +1 -1
  66. package/dist/services/working-cadence.js +151 -13
  67. package/dist/services/working-cadence.js.map +1 -1
  68. package/dist/tools/calendar/handlers.d.ts +82 -3
  69. package/dist/tools/calendar/handlers.d.ts.map +1 -1
  70. package/dist/tools/calendar/handlers.js +200 -16
  71. package/dist/tools/calendar/handlers.js.map +1 -1
  72. package/dist/types/google-calendar-types.d.ts +150 -3
  73. package/dist/types/google-calendar-types.d.ts.map +1 -1
  74. package/dist/types/google-calendar-types.js +79 -2
  75. package/dist/types/google-calendar-types.js.map +1 -1
  76. package/dist/types/task.d.ts +14 -0
  77. package/dist/types/task.d.ts.map +1 -1
  78. package/package.json +1 -1
@@ -272,6 +272,126 @@ export class CalendarSourceManager {
272
272
  .some((prevEvent) => this.areEventsDuplicate(event, prevEvent));
273
273
  });
274
274
  }
275
+ /**
276
+ * Filter events that block available time slots
277
+ * Requirement: 7.5 (Event type blocking semantics)
278
+ * Task 22: Implementation
279
+ *
280
+ * Determines which events should be considered as blocking time when
281
+ * calculating available slots. Different event types have different
282
+ * blocking semantics:
283
+ *
284
+ * Blocking event types (block time):
285
+ * - default: Regular meetings and appointments
286
+ * - outOfOffice: Vacation, leave, absence periods
287
+ * - focusTime: Deep work time blocks
288
+ *
289
+ * Non-blocking event types (do NOT block time):
290
+ * - workingLocation: Metadata only (where you're working from)
291
+ * - birthday: All-day reminders (informational)
292
+ * - fromGmail: Auto-generated informational events
293
+ *
294
+ * EventKit events (eventType=undefined) are treated as 'default' (blocking)
295
+ * for backward compatibility.
296
+ *
297
+ * @param events - Array of events to filter
298
+ * @param respectBlockingEventTypes - If true, respect event type semantics;
299
+ * if false, treat all non-birthday/fromGmail as blocking
300
+ * (backward compatible behavior)
301
+ * @returns Array of events that block available time slots
302
+ */
303
+ filterBlockingEvents(events, respectBlockingEventTypes = true) {
304
+ if (!respectBlockingEventTypes) {
305
+ // Backward compatible: treat all non-birthday, non-fromGmail as blocking
306
+ return events.filter((e) => {
307
+ const eventType = e.eventType;
308
+ return eventType !== 'birthday' && eventType !== 'fromGmail';
309
+ });
310
+ }
311
+ // Respect event type blocking semantics:
312
+ // - default: blocks time (meetings, appointments)
313
+ // - outOfOffice: blocks time (vacation, absence)
314
+ // - focusTime: blocks time (deep work)
315
+ // - workingLocation: does NOT block time (metadata only)
316
+ // - birthday: does NOT block time (all-day reminder)
317
+ // - fromGmail: does NOT block time (informational)
318
+ const blockingTypes = ['default', 'outOfOffice', 'focusTime'];
319
+ return events.filter((e) => {
320
+ const eventType = e.eventType || 'default';
321
+ return blockingTypes.includes(eventType);
322
+ });
323
+ }
324
+ /**
325
+ * Annotate time slots with working location information
326
+ * Requirement: 3.7 (Working location context)
327
+ * Task 23: Implementation
328
+ *
329
+ * Matches time slots to working location events by date and extracts
330
+ * location type and label from typeSpecificProperties. Uses timezone-aware
331
+ * date comparison (normalizing to YYYY-MM-DD format via toISOString).
332
+ *
333
+ * Working location events are all-day events that indicate where the user
334
+ * is working from on that day (homeOffice, officeLocation, or customLocation).
335
+ *
336
+ * @param slots - Array of time slots to annotate
337
+ * @param workingLocationEvents - Array of working location calendar events
338
+ * @returns Array of time slots with workingLocation field populated
339
+ */
340
+ annotateWithWorkingLocation(slots, workingLocationEvents) {
341
+ return slots.map((slot) => {
342
+ // Timezone-aware date comparison: normalize to YYYY-MM-DD
343
+ const slotDateNormalized = new Date(slot.start).toISOString().split('T')[0];
344
+ // Find workingLocation event that matches this date
345
+ const locationEvent = workingLocationEvents.find((e) => {
346
+ const eventDateNormalized = new Date(e.start).toISOString().split('T')[0];
347
+ return eventDateNormalized === slotDateNormalized;
348
+ });
349
+ if (locationEvent) {
350
+ // Extract working location info from typeSpecificProperties
351
+ const extendedEvent = locationEvent;
352
+ if (extendedEvent.typeSpecificProperties?.eventType === 'workingLocation') {
353
+ const props = extendedEvent.typeSpecificProperties.properties;
354
+ const workingLocation = {
355
+ type: props.type,
356
+ label: props.customLocation?.label || props.officeLocation?.label,
357
+ };
358
+ return {
359
+ ...slot,
360
+ workingLocation,
361
+ };
362
+ }
363
+ }
364
+ // Default to unknown if no working location event found for this date
365
+ return {
366
+ ...slot,
367
+ workingLocation: { type: 'unknown' },
368
+ };
369
+ });
370
+ }
371
+ /**
372
+ * Filter and prioritize time slots by working location preference
373
+ * Requirement: 3.7 (Working location preference)
374
+ * Task 24: Implementation
375
+ *
376
+ * Sorts time slots to prioritize those matching the preferred working location.
377
+ * Matching slots appear first, followed by non-matching slots.
378
+ *
379
+ * If preferredLocation is 'any' or undefined, all slots are returned unchanged.
380
+ *
381
+ * @param slots - Array of time slots with workingLocation field
382
+ * @param preferredLocation - Preferred location type ('homeOffice', 'officeLocation', or 'any')
383
+ * @returns Array of time slots sorted by location preference (matching first)
384
+ */
385
+ filterByLocationPreference(slots, preferredLocation) {
386
+ // No filtering if preferredLocation is 'any' or undefined
387
+ if (!preferredLocation || preferredLocation === 'any') {
388
+ return slots;
389
+ }
390
+ // Prioritize slots matching preferred location
391
+ const matchingSlots = slots.filter((s) => s.workingLocation?.type === preferredLocation);
392
+ const otherSlots = slots.filter((s) => s.workingLocation?.type !== preferredLocation);
393
+ return [...matchingSlots, ...otherSlots];
394
+ }
275
395
  /**
276
396
  * Create event in preferred calendar source
277
397
  * Requirement: 3, 10, 11 (Multi-source event creation with routing and fallback)
@@ -320,7 +440,6 @@ export class CalendarSourceManager {
320
440
  if (source === 'google' && this.googleCalendarService) {
321
441
  // Try Google Calendar
322
442
  const event = await this.googleCalendarService.createEvent(request);
323
- console.log(`Successfully created event in Google Calendar: ${event.id}`);
324
443
  return event;
325
444
  }
326
445
  // Source is enabled but service is not available
@@ -380,12 +499,8 @@ export class CalendarSourceManager {
380
499
  // No source specified - try all enabled sources
381
500
  const promises = [];
382
501
  if (enabledSources.includes('eventkit') && this.calendarService) {
383
- // Note: EventKit does not support deleteEvent yet
384
- // Skip EventKit for now (no-op)
385
- promises.push(Promise.resolve().then(() => {
386
- // EventKit deletion not supported
387
- console.log('EventKit event deletion not supported, skipping...');
388
- }));
502
+ // Note: EventKit does not support deleteEvent yet - skip silently
503
+ promises.push(Promise.resolve());
389
504
  }
390
505
  if (enabledSources.includes('google') && this.googleCalendarService) {
391
506
  promises.push(this.googleCalendarService
@@ -434,40 +549,56 @@ export class CalendarSourceManager {
434
549
  /**
435
550
  * Find available time slots considering all enabled sources
436
551
  * Requirement: 7 (Multi-source slot detection)
552
+ * Requirement: 3.7 (Working Location Aware Scheduling)
437
553
  * Task 20a: Basic filtering implementation
438
554
  * Task 20b: Suitability calculation integration
555
+ * Task 25: Working location filtering integration
439
556
  *
440
557
  * Fetches events from all enabled sources, merges and deduplicates,
441
558
  * then calculates available slots based on working hours and preferences.
442
- * Applies suitability scoring and sorts by suitability.
559
+ * Applies working location filtering and suitability scoring.
443
560
  *
444
561
  * @param request - Slot search request
445
- * @returns Array of available time slots sorted by suitability
562
+ * @returns Array of available time slots sorted by suitability and location preference
446
563
  */
447
564
  async findAvailableSlots(request) {
448
- // Get all events from enabled sources (already merged/deduplicated by getEvents)
565
+ // Step 1: Get all events from enabled sources (already merged/deduplicated by getEvents)
449
566
  const events = await this.getEvents(request.startDate, request.endDate);
450
- // Sort events by start time
451
- const sortedEvents = events.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime());
567
+ // Step 2: Filter blocking events based on respectBlockingEventTypes parameter
568
+ // Default to true for backward compatibility with event type blocking semantics
569
+ const respectBlockingEventTypes = request.respectBlockingEventTypes ?? true;
570
+ const blockingEvents = this.filterBlockingEvents(events, respectBlockingEventTypes);
571
+ // Step 3: Filter workingLocation events separately for annotation
572
+ const workingLocationEvents = events.filter((e) => {
573
+ const eventType = e.eventType;
574
+ return eventType === 'workingLocation';
575
+ });
576
+ // Sort blocking events by start time
577
+ const sortedBlockingEvents = blockingEvents.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime());
452
578
  // Get working hours from config or use request.workingHours
453
579
  const workingHours = request.workingHours || this.getDefaultWorkingHours();
454
580
  // Get duration parameters
455
581
  const minDuration = request.minDurationMinutes || 25;
456
582
  const maxDuration = request.maxDurationMinutes || 480; // 8 hours
457
- // Generate slots for each day in the date range
583
+ // Step 4: Generate slots for each day in the date range based on blocking events
458
584
  const slots = [];
459
585
  const startDate = new Date(request.startDate);
460
586
  const endDate = new Date(request.endDate);
461
587
  // Iterate through each day in the range
462
588
  for (let currentDate = new Date(startDate); currentDate <= endDate; currentDate.setDate(currentDate.getDate() + 1)) {
463
- const daySlots = this.findDaySlots(currentDate, sortedEvents, workingHours, minDuration, maxDuration);
589
+ const daySlots = this.findDaySlots(currentDate, sortedBlockingEvents, workingHours, minDuration, maxDuration);
464
590
  slots.push(...daySlots);
465
591
  }
466
592
  // Apply suitability scoring to all slots
467
593
  const slotsWithSuitability = this.calculateSuitabilityForSlots(slots);
594
+ // Step 5: Annotate slots with working location context
595
+ const annotatedSlots = this.annotateWithWorkingLocation(slotsWithSuitability, workingLocationEvents);
596
+ // Step 6: Filter and prioritize by working location preference
597
+ const locationFilteredSlots = this.filterByLocationPreference(annotatedSlots, request.preferredWorkingLocation);
468
598
  // Sort by suitability (excellent > good > acceptable)
469
599
  // Then by start time as secondary sort
470
- const sortedSlots = slotsWithSuitability.sort((a, b) => {
600
+ // Note: location preference has already been applied by filterByLocationPreference
601
+ const sortedSlots = locationFilteredSlots.sort((a, b) => {
471
602
  const suitabilityOrder = {
472
603
  excellent: 0,
473
604
  good: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-source-manager.js","sourceRoot":"","sources":["../../src/integrations/calendar-source-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar-source-manager.js","sourceRoot":"","sources":["../../src/integrations/calendar-source-manager.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,41 @@
6
6
  * event CRUD operations, and calendar management.
7
7
  */
8
8
  import { GoogleOAuthHandler } from '../oauth/google-oauth-handler.js';
9
- import type { CalendarEvent, CalendarInfo } from '../types/google-calendar-types.js';
9
+ import type { CalendarEvent, CalendarInfo, GoogleCalendarEventType, OutOfOfficeProperties, FocusTimeProperties, WorkingLocationProperties, BirthdayProperties } from '../types/google-calendar-types.js';
10
10
  /**
11
11
  * Request interface for listing events
12
+ *
13
+ * @property startDate - Start of date range in ISO 8601 (YYYY-MM-DD) or RFC3339 (YYYY-MM-DDTHH:MM:SSZ) format
14
+ * @property endDate - End of date range in ISO 8601 (YYYY-MM-DD) or RFC3339 (YYYY-MM-DDTHH:MM:SSZ) format
15
+ * @property calendarId - Calendar ID (optional, defaults to 'primary')
16
+ * @property eventTypes - Optional array of event types to filter by (e.g., ['default', 'focusTime', 'outOfOffice']).
17
+ * When specified, only events matching these types will be returned.
18
+ * Valid values: 'default', 'outOfOffice', 'focusTime', 'workingLocation', 'birthday', 'fromGmail'
12
19
  */
13
20
  export interface ListEventsRequest {
14
21
  startDate: string;
15
22
  endDate: string;
16
23
  calendarId?: string;
24
+ eventTypes?: GoogleCalendarEventType[];
17
25
  }
18
26
  /**
19
27
  * Request interface for creating events
28
+ *
29
+ * @property title - Event title/summary
30
+ * @property start - Start date/time in ISO 8601 format
31
+ * @property end - End date/time in ISO 8601 format
32
+ * @property isAllDay - Whether this is an all-day event (default: false)
33
+ * @property location - Event location
34
+ * @property description - Event description
35
+ * @property attendees - Array of attendee email addresses
36
+ * @property reminders - Reminder configuration
37
+ * @property eventType - Type of event to create (default: 'default').
38
+ * Valid values: 'default', 'outOfOffice', 'focusTime', 'workingLocation', 'birthday'
39
+ * Note: 'fromGmail' is read-only and cannot be used for event creation
40
+ * @property outOfOfficeProperties - Properties for out-of-office events (required when eventType is 'outOfOffice')
41
+ * @property focusTimeProperties - Properties for focus time events (required when eventType is 'focusTime')
42
+ * @property workingLocationProperties - Properties for working location events (required when eventType is 'workingLocation')
43
+ * @property birthdayProperties - Properties for birthday events (required when eventType is 'birthday')
20
44
  */
21
45
  export interface CreateEventRequest {
22
46
  title: string;
@@ -33,6 +57,11 @@ export interface CreateEventRequest {
33
57
  minutes: number;
34
58
  }>;
35
59
  };
60
+ eventType?: GoogleCalendarEventType;
61
+ outOfOfficeProperties?: OutOfOfficeProperties;
62
+ focusTimeProperties?: FocusTimeProperties;
63
+ workingLocationProperties?: WorkingLocationProperties;
64
+ birthdayProperties?: BirthdayProperties;
36
65
  }
37
66
  /**
38
67
  * Google Calendar Service Configuration
@@ -74,6 +103,28 @@ export declare class GoogleCalendarService {
74
103
  * @returns True if API is available and authenticated, false otherwise
75
104
  */
76
105
  isAvailable(): Promise<boolean>;
106
+ /**
107
+ * Validate event type and properties
108
+ *
109
+ * Uses CreateEventRequestSchema to validate the request, ensuring that:
110
+ * - Event type is valid (not 'fromGmail' which is read-only)
111
+ * - Type-specific properties match the event type
112
+ * - All-day constraint is enforced for birthday/workingLocation events
113
+ *
114
+ * @param request - CreateEventRequest to validate
115
+ * @throws ZodError if validation fails with descriptive error messages
116
+ */
117
+ private validateEventTypeProperties;
118
+ /**
119
+ * Build event type payload for Google Calendar API
120
+ *
121
+ * Transforms event type data from CreateEventRequest into Google Calendar API format.
122
+ * Handles all 6 event types: default, outOfOffice, focusTime, workingLocation, birthday, fromGmail.
123
+ *
124
+ * @param request - CreateEventRequest containing event type and type-specific properties
125
+ * @returns Partial calendar_v3.Schema$Event with eventType and type-specific properties
126
+ */
127
+ private buildEventTypePayload;
77
128
  /**
78
129
  * Normalize date string to RFC3339 format required by Google Calendar API
79
130
  *
@@ -114,17 +165,18 @@ export declare class GoogleCalendarService {
114
165
  createEvent(request: CreateEventRequest, calendarId?: string): Promise<CalendarEvent>;
115
166
  /**
116
167
  * Update a calendar event
117
- * Requirement: 4, 10 (Calendar event updates with partial updates and retry logic)
168
+ * Requirement: 4, 10, 4.5, 5.3, 6.6 (Calendar event updates with partial updates, retry logic, and event type restrictions)
118
169
  *
119
170
  * Updates an existing event in Google Calendar using the patch API for partial updates.
120
171
  * Supports all-day events, reminders, attendees, and recurring events.
121
172
  * Includes retry logic with exponential backoff for transient failures.
173
+ * Enforces event type restrictions (birthday and fromGmail events have limited updatable fields).
122
174
  *
123
175
  * @param eventId - Event ID to update
124
176
  * @param updates - Partial CreateEventRequest with fields to update
125
177
  * @param calendarId - Calendar ID (optional, defaults to 'primary')
126
178
  * @returns Updated calendar event
127
- * @throws Error if authentication fails or API request fails after retries
179
+ * @throws Error if authentication fails, API request fails after retries, or disallowed fields are being updated
128
180
  */
129
181
  updateEvent(eventId: string, updates: Partial<CreateEventRequest>, calendarId?: string): Promise<CalendarEvent>;
130
182
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"google-calendar-service.d.ts","sourceRoot":"","sources":["../../src/integrations/google-calendar-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEb,MAAM,mCAAmC,CAAC;AAI3C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqC;IAE3D;;;;;OAKG;gBAED,YAAY,EAAE,kBAAkB,EAChC,OAAO,CAAC,EAAE,2BAA2B;IAKvC;;;;;;;OAOG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4EtE;;;;;;;;;;;;OAYG;IACG,WAAW,CACf,OAAO,EAAE,kBAAkB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC;IAgGzB;;;;;;;;;;;;;OAaG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC;IA+IzB;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyEtE;;;;;;;;;;;;OAYG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAuF/B;;;;;;;;;;;;OAYG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAmLhB;;;;;;;;;;OAUG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CA+D/C"}
1
+ {"version":3,"file":"google-calendar-service.d.ts","sourceRoot":"","sources":["../../src/integrations/google-calendar-service.ts"],"names":[],"mappings":"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"}