@plotday/tool-google-calendar 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/google-api.d.ts +35 -2
- package/dist/google-api.js +84 -3
- package/dist/google-api.js.map +1 -1
- package/dist/google-calendar.d.ts +16 -6
- package/dist/google-calendar.js +235 -7
- package/dist/google-calendar.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,17 +5,17 @@ A Plot tool for syncing with Google Calendar.
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install @plotday/tool-google-calendar @plotday/
|
|
8
|
+
npm install @plotday/tool-google-calendar @plotday/twister
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import {
|
|
14
|
+
import { Twist, Tools } from "@plotday/twister";
|
|
15
15
|
import { GoogleCalendar } from "@plotday/tool-google-calendar";
|
|
16
|
-
import { Integrations, AuthLevel, AuthProvider } from "@plotday/
|
|
16
|
+
import { Integrations, AuthLevel, AuthProvider } from "@plotday/twister/tools/integrations";
|
|
17
17
|
|
|
18
|
-
export default class extends
|
|
18
|
+
export default class extends Twist {
|
|
19
19
|
private googleCalendar: GoogleCalendar;
|
|
20
20
|
private auth: Integrations;
|
|
21
21
|
|
package/dist/google-api.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NewActivity } from "@plotday/twister";
|
|
2
|
+
import { ConferencingProvider } from "@plotday/twister";
|
|
2
3
|
export type GoogleEvent = {
|
|
3
4
|
id: string;
|
|
4
5
|
recurringEventId?: string;
|
|
@@ -36,6 +37,26 @@ export type GoogleEvent = {
|
|
|
36
37
|
resource?: boolean;
|
|
37
38
|
}>;
|
|
38
39
|
location?: string;
|
|
40
|
+
conferenceData?: {
|
|
41
|
+
conferenceId?: string;
|
|
42
|
+
conferenceSolution?: {
|
|
43
|
+
key: {
|
|
44
|
+
type: string;
|
|
45
|
+
};
|
|
46
|
+
name?: string;
|
|
47
|
+
iconUri?: string;
|
|
48
|
+
};
|
|
49
|
+
entryPoints?: Array<{
|
|
50
|
+
entryPointType: string;
|
|
51
|
+
uri?: string;
|
|
52
|
+
label?: string;
|
|
53
|
+
meetingCode?: string;
|
|
54
|
+
passcode?: string;
|
|
55
|
+
password?: string;
|
|
56
|
+
pin?: string;
|
|
57
|
+
}>;
|
|
58
|
+
notes?: string;
|
|
59
|
+
};
|
|
39
60
|
hangoutLink?: string;
|
|
40
61
|
htmlLink?: string;
|
|
41
62
|
created?: string;
|
|
@@ -63,7 +84,19 @@ export declare function parseExDates(recurrence?: string[]): Date[];
|
|
|
63
84
|
export declare function parseRDates(recurrence?: string[]): Date[];
|
|
64
85
|
export declare function parseGoogleRecurrenceEnd(recurrence?: string[]): Date | string | null;
|
|
65
86
|
export declare function parseGoogleRecurrenceCount(recurrence?: string[]): number | null;
|
|
66
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Represents an extracted conferencing link with provider information
|
|
89
|
+
*/
|
|
90
|
+
export type ConferencingLink = {
|
|
91
|
+
url: string;
|
|
92
|
+
provider: ConferencingProvider;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Extracts all conferencing links from a Google Calendar event
|
|
96
|
+
* Uses multi-layer extraction: conferenceData -> location -> description
|
|
97
|
+
*/
|
|
98
|
+
export declare function extractConferencingLinks(event: GoogleEvent): ConferencingLink[];
|
|
99
|
+
export declare function transformGoogleEvent(event: GoogleEvent, calendarId: string): NewActivity;
|
|
67
100
|
export declare function syncGoogleCalendar(api: GoogleApi, calendarId: string, state: SyncState): Promise<{
|
|
68
101
|
events: GoogleEvent[];
|
|
69
102
|
state: SyncState;
|
package/dist/google-api.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ActivityType } from "@plotday/
|
|
1
|
+
import { ActivityType, ConferencingProvider } from "@plotday/twister";
|
|
2
2
|
export class GoogleApi {
|
|
3
|
-
accessToken;
|
|
4
3
|
constructor(accessToken) {
|
|
5
4
|
this.accessToken = accessToken;
|
|
6
5
|
}
|
|
@@ -100,6 +99,87 @@ export function parseGoogleRecurrenceCount(recurrence) {
|
|
|
100
99
|
}
|
|
101
100
|
return null;
|
|
102
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Detects the conferencing provider from a URL
|
|
104
|
+
*/
|
|
105
|
+
function detectConferencingProvider(url) {
|
|
106
|
+
const lowerUrl = url.toLowerCase();
|
|
107
|
+
if (lowerUrl.includes("zoom.us")) {
|
|
108
|
+
return ConferencingProvider.zoom;
|
|
109
|
+
}
|
|
110
|
+
if (lowerUrl.includes("teams.microsoft.com") ||
|
|
111
|
+
lowerUrl.includes("teams.live.com")) {
|
|
112
|
+
return ConferencingProvider.microsoftTeams;
|
|
113
|
+
}
|
|
114
|
+
if (lowerUrl.includes("webex.com")) {
|
|
115
|
+
return ConferencingProvider.webex;
|
|
116
|
+
}
|
|
117
|
+
if (lowerUrl.includes("meet.google.com")) {
|
|
118
|
+
return ConferencingProvider.googleMeet;
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Extracts URLs from text using regex
|
|
124
|
+
*/
|
|
125
|
+
function extractUrlsFromText(text) {
|
|
126
|
+
const urlRegex = /https?:\/\/[^\s<>"{}|\\^`\[\]]+/gi;
|
|
127
|
+
const matches = text.match(urlRegex);
|
|
128
|
+
return matches || [];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Extracts all conferencing links from a Google Calendar event
|
|
132
|
+
* Uses multi-layer extraction: conferenceData -> location -> description
|
|
133
|
+
*/
|
|
134
|
+
export function extractConferencingLinks(event) {
|
|
135
|
+
const links = [];
|
|
136
|
+
const seenUrls = new Set();
|
|
137
|
+
// Layer 1: Extract from conferenceData.entryPoints (most reliable)
|
|
138
|
+
if (event.conferenceData?.entryPoints) {
|
|
139
|
+
for (const entryPoint of event.conferenceData.entryPoints) {
|
|
140
|
+
if (entryPoint.entryPointType === "video" && entryPoint.uri) {
|
|
141
|
+
const url = entryPoint.uri;
|
|
142
|
+
if (!seenUrls.has(url)) {
|
|
143
|
+
seenUrls.add(url);
|
|
144
|
+
const provider = detectConferencingProvider(url) || ConferencingProvider.other;
|
|
145
|
+
links.push({
|
|
146
|
+
url,
|
|
147
|
+
provider,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// Layer 2: Extract from location field (fallback for manual entries)
|
|
154
|
+
if (event.location) {
|
|
155
|
+
const urls = extractUrlsFromText(event.location);
|
|
156
|
+
for (const url of urls) {
|
|
157
|
+
const provider = detectConferencingProvider(url);
|
|
158
|
+
if (provider && !seenUrls.has(url)) {
|
|
159
|
+
seenUrls.add(url);
|
|
160
|
+
links.push({
|
|
161
|
+
url,
|
|
162
|
+
provider,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Layer 3: Extract from description field (last resort)
|
|
168
|
+
if (event.description) {
|
|
169
|
+
const urls = extractUrlsFromText(event.description);
|
|
170
|
+
for (const url of urls) {
|
|
171
|
+
const provider = detectConferencingProvider(url);
|
|
172
|
+
if (provider && !seenUrls.has(url)) {
|
|
173
|
+
seenUrls.add(url);
|
|
174
|
+
links.push({
|
|
175
|
+
url,
|
|
176
|
+
provider,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return links;
|
|
182
|
+
}
|
|
103
183
|
export function transformGoogleEvent(event, calendarId) {
|
|
104
184
|
// Determine if this is an all-day event
|
|
105
185
|
const isAllDay = event.start?.date && !event.start?.dateTime;
|
|
@@ -114,9 +194,10 @@ export function transformGoogleEvent(event, calendarId) {
|
|
|
114
194
|
? new Date(event.end?.dateTime)
|
|
115
195
|
: null; // Timed events use Date objects
|
|
116
196
|
const activity = {
|
|
117
|
-
type: ActivityType.Event,
|
|
197
|
+
type: isAllDay ? ActivityType.Note : ActivityType.Event,
|
|
118
198
|
title: event.summary || null,
|
|
119
199
|
note: event.description || null,
|
|
200
|
+
noteType: "html",
|
|
120
201
|
start,
|
|
121
202
|
end,
|
|
122
203
|
meta: {
|
package/dist/google-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-api.js","sourceRoot":"","sources":["../src/google-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"google-api.js","sourceRoot":"","sources":["../src/google-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AA0EtE,MAAM,OAAO,SAAS;IACpB,YAAmB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEnC,KAAK,CAAC,IAAI,CACf,MAAc,EACd,GAAW,EACX,MAA+B,EAC/B,IAA6B;QAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;YAC3C,MAAM,EAAE,kBAAkB;YAC1B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,KAAK,EAAE;YACxC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,IAAK,YAAoB,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;oBAC3D,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAC9D,KAAK,GAAG;gBACN,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,KAAK,GAAG;gBACN,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B;gBACE,MAAM,IAAI,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,UAAqB;IAC9C,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,yBAAyB;AAC1E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAqB;IAChD,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,UAAqB;IAC/C,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAqB;IAErB,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAqB;IAErB,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAUD;;GAEG;AACH,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAEnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACnC,CAAC;IACD,IACE,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACnC,CAAC;QACD,OAAO,oBAAoB,CAAC,cAAc,CAAC;IAC7C,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,oBAAoB,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,oBAAoB,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,QAAQ,GAAG,mCAAmC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,OAAO,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAkB;IAElB,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,mEAAmE;IACnE,IAAI,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;QACtC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAC1D,IAAI,UAAU,CAAC,cAAc,KAAK,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC5D,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAClB,MAAM,QAAQ,GACZ,0BAA0B,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC;oBAEhE,KAAK,CAAC,IAAI,CAAC;wBACT,GAAG;wBACH,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG;oBACH,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG;oBACH,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAkB,EAClB,UAAkB;IAElB,wCAAwC;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC;IAE7D,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,kCAAkC;QAC9D,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ;YACvB,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,CAAC,gCAAgC;IAE1C,MAAM,GAAG,GAAG,QAAQ;QAClB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,kCAAkC;QAC5D,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ;YACrB,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,CAAC,gCAAgC;IAE1C,MAAM,QAAQ,GAAgB;QAC5B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK;QACvD,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC5B,IAAI,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QAC/B,QAAQ,EAAE,MAAM;QAChB,KAAK;QACL,GAAG;QACH,IAAI,EAAE;YACJ,MAAM,EAAE,mBAAmB,KAAK,CAAC,EAAE,EAAE;YACrC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B;KACF,CAAC;IAEF,sDAAsD;IACtD,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAChD,QAAQ,CAAC,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEvD,uDAAuD;QACvD,MAAM,eAAe,GAAG,0BAA0B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,eAAe,EAAE,CAAC;gBACpB,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAc,EACd,UAAkB,EAClB,KAAgB;IAKhB,MAAM,MAAM,GAAQ;QAClB,yDAAyD;QACzD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,KAAK,EACL,oDAAoD,UAAU,SAAS,EACvE,MAAM,CACP,CAIO,CAAC;IAET,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,qBAAqB;QACrB,MAAM,QAAQ,GAAG;YACf,UAAU;YACV,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;SACpC,CAAC;QACF,OAAO,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,SAAS,GAAc;QAC3B,UAAU;QACV,KAAK,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa;QAC/C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACxB,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type Activity, type ActivityLink, Tool, type ToolBuilder } from "@plotday/
|
|
2
|
-
import { type Calendar, type CalendarAuth, type CalendarTool } from "@plotday/
|
|
3
|
-
import { type Callback } from "@plotday/
|
|
4
|
-
import { type Authorization, Integrations } from "@plotday/
|
|
5
|
-
import { Network, type WebhookRequest } from "@plotday/
|
|
1
|
+
import { type Activity, type ActivityLink, type ActorId, Tag, Tool, type ToolBuilder } from "@plotday/twister";
|
|
2
|
+
import { type Calendar, type CalendarAuth, type CalendarTool } from "@plotday/twister/common/calendar";
|
|
3
|
+
import { type Callback } from "@plotday/twister/tools/callbacks";
|
|
4
|
+
import { type Authorization, Integrations } from "@plotday/twister/tools/integrations";
|
|
5
|
+
import { Network, type WebhookRequest } from "@plotday/twister/tools/network";
|
|
6
|
+
import { Plot } from "@plotday/twister/tools/plot";
|
|
6
7
|
/**
|
|
7
8
|
* Google Calendar integration tool.
|
|
8
9
|
*
|
|
@@ -24,7 +25,7 @@ import { Network, type WebhookRequest } from "@plotday/agent/tools/network";
|
|
|
24
25
|
*
|
|
25
26
|
* @example
|
|
26
27
|
* ```typescript
|
|
27
|
-
* class
|
|
28
|
+
* class CalendarSyncTwist extends Twist {
|
|
28
29
|
* private googleCalendar: GoogleCalendar;
|
|
29
30
|
*
|
|
30
31
|
* constructor(id: string, tools: Tools) {
|
|
@@ -74,9 +75,12 @@ export declare class GoogleCalendar extends Tool<GoogleCalendar> implements Cale
|
|
|
74
75
|
build(build: ToolBuilder): {
|
|
75
76
|
integrations: Promise<Integrations>;
|
|
76
77
|
network: Promise<Network>;
|
|
78
|
+
plot: Promise<Plot>;
|
|
77
79
|
};
|
|
78
80
|
requestAuth<TCallback extends (auth: CalendarAuth, ...args: any[]) => any>(callback: TCallback, ...extraArgs: any[]): Promise<ActivityLink>;
|
|
79
81
|
private getApi;
|
|
82
|
+
private getUserEmail;
|
|
83
|
+
private ensureUserIdentity;
|
|
80
84
|
getCalendars(authToken: string): Promise<Calendar[]>;
|
|
81
85
|
startSync<TCallback extends (activity: Activity, ...args: any[]) => any>(authToken: string, calendarId: string, callback: TCallback, ...extraArgs: any[]): Promise<void>;
|
|
82
86
|
stopSync(_authToken: string, calendarId: string): Promise<void>;
|
|
@@ -87,5 +91,11 @@ export declare class GoogleCalendar extends Tool<GoogleCalendar> implements Cale
|
|
|
87
91
|
onCalendarWebhook(request: WebhookRequest, calendarId: string, authToken: string): Promise<void>;
|
|
88
92
|
private startIncrementalSync;
|
|
89
93
|
onAuthSuccess(authResult: Authorization, authToken: string, callback: Callback): Promise<void>;
|
|
94
|
+
onActivityUpdated(activity: Activity, changes?: {
|
|
95
|
+
previous: Activity;
|
|
96
|
+
tagsAdded: Record<Tag, ActorId[]>;
|
|
97
|
+
tagsRemoved: Record<Tag, ActorId[]>;
|
|
98
|
+
}): Promise<void>;
|
|
99
|
+
private updateEventRSVP;
|
|
90
100
|
}
|
|
91
101
|
export default GoogleCalendar;
|
package/dist/google-calendar.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Tool, } from "@plotday/
|
|
2
|
-
import { AuthLevel, AuthProvider, Integrations, } from "@plotday/
|
|
3
|
-
import { Network } from "@plotday/
|
|
4
|
-
import {
|
|
1
|
+
import { ActivityLinkType, ConferencingProvider, Tag, Tool, } from "@plotday/twister";
|
|
2
|
+
import { AuthLevel, AuthProvider, Integrations, } from "@plotday/twister/tools/integrations";
|
|
3
|
+
import { Network } from "@plotday/twister/tools/network";
|
|
4
|
+
import { ActivityAccess, ContactAccess, Plot, } from "@plotday/twister/tools/plot";
|
|
5
|
+
import { extractConferencingLinks, GoogleApi, syncGoogleCalendar, transformGoogleEvent, } from "./google-api";
|
|
5
6
|
/**
|
|
6
7
|
* Google Calendar integration tool.
|
|
7
8
|
*
|
|
@@ -23,7 +24,7 @@ import { GoogleApi, syncGoogleCalendar, transformGoogleEvent, } from "./google-a
|
|
|
23
24
|
*
|
|
24
25
|
* @example
|
|
25
26
|
* ```typescript
|
|
26
|
-
* class
|
|
27
|
+
* class CalendarSyncTwist extends Twist {
|
|
27
28
|
* private googleCalendar: GoogleCalendar;
|
|
28
29
|
*
|
|
29
30
|
* constructor(id: string, tools: Tools) {
|
|
@@ -76,6 +77,15 @@ export class GoogleCalendar extends Tool {
|
|
|
76
77
|
network: build(Network, {
|
|
77
78
|
urls: ["https://www.googleapis.com/calendar/*"],
|
|
78
79
|
}),
|
|
80
|
+
plot: build(Plot, {
|
|
81
|
+
contact: {
|
|
82
|
+
access: ContactAccess.Write,
|
|
83
|
+
},
|
|
84
|
+
activity: {
|
|
85
|
+
access: ActivityAccess.Create,
|
|
86
|
+
updated: this.onActivityUpdated,
|
|
87
|
+
},
|
|
88
|
+
}),
|
|
79
89
|
};
|
|
80
90
|
}
|
|
81
91
|
async requestAuth(callback, ...extraArgs) {
|
|
@@ -105,6 +115,25 @@ export class GoogleCalendar extends Tool {
|
|
|
105
115
|
}
|
|
106
116
|
return new GoogleApi(token.token);
|
|
107
117
|
}
|
|
118
|
+
async getUserEmail(authToken) {
|
|
119
|
+
const api = await this.getApi(authToken);
|
|
120
|
+
// Use the Calendar API's primary calendar to get the email
|
|
121
|
+
const calendarList = (await api.call("GET", "https://www.googleapis.com/calendar/v3/users/me/calendarList/primary"));
|
|
122
|
+
return calendarList.id; // The primary calendar ID is the user's email
|
|
123
|
+
}
|
|
124
|
+
async ensureUserIdentity(authToken) {
|
|
125
|
+
// Check if we already have the user email stored
|
|
126
|
+
const stored = await this.get("user_email");
|
|
127
|
+
if (stored) {
|
|
128
|
+
return stored;
|
|
129
|
+
}
|
|
130
|
+
// Fetch user email from Google
|
|
131
|
+
const email = await this.getUserEmail(authToken);
|
|
132
|
+
// Store for future use
|
|
133
|
+
await this.set("user_email", email);
|
|
134
|
+
console.log("Stored user email:", email);
|
|
135
|
+
return email;
|
|
136
|
+
}
|
|
108
137
|
async getCalendars(authToken) {
|
|
109
138
|
console.log("Fetching Google Calendar list");
|
|
110
139
|
const api = await this.getApi(authToken);
|
|
@@ -122,6 +151,8 @@ export class GoogleCalendar extends Tool {
|
|
|
122
151
|
// Create callback token for parent
|
|
123
152
|
const callbackToken = await this.tools.callbacks.createFromParent(callback, ...extraArgs);
|
|
124
153
|
await this.set("event_callback_token", callbackToken);
|
|
154
|
+
// Store auth token for calendar for later RSVP updates
|
|
155
|
+
await this.set(`auth_token_${calendarId}`, authToken);
|
|
125
156
|
console.log("Setting up watch");
|
|
126
157
|
// Setup webhook for this calendar
|
|
127
158
|
await this.setupCalendarWatch(authToken, calendarId, authToken);
|
|
@@ -152,7 +183,10 @@ export class GoogleCalendar extends Tool {
|
|
|
152
183
|
await this.clear(`sync_state_${calendarId}`);
|
|
153
184
|
}
|
|
154
185
|
async setupCalendarWatch(authToken, calendarId, opaqueAuthToken) {
|
|
155
|
-
const webhookUrl = await this.tools.network.createWebhook(
|
|
186
|
+
const webhookUrl = await this.tools.network.createWebhook({
|
|
187
|
+
callback: this.onCalendarWebhook,
|
|
188
|
+
extraArgs: [calendarId, opaqueAuthToken],
|
|
189
|
+
});
|
|
156
190
|
// Check if webhook URL is localhost
|
|
157
191
|
if (URL.parse(webhookUrl)?.hostname === "localhost") {
|
|
158
192
|
console.log("Skipping webhook setup for localhost URL");
|
|
@@ -179,6 +213,10 @@ export class GoogleCalendar extends Tool {
|
|
|
179
213
|
async syncBatch(_args, batchNumber, mode, authToken, calendarId) {
|
|
180
214
|
console.log(`Starting Google Calendar sync batch ${batchNumber} (${mode}) for calendar ${calendarId}`);
|
|
181
215
|
try {
|
|
216
|
+
// Ensure we have the user's identity for RSVP tagging
|
|
217
|
+
if (batchNumber === 1) {
|
|
218
|
+
await this.ensureUserIdentity(authToken);
|
|
219
|
+
}
|
|
182
220
|
const state = await this.get(`sync_state_${calendarId}`);
|
|
183
221
|
if (!state) {
|
|
184
222
|
throw new Error("No sync state found");
|
|
@@ -214,12 +252,28 @@ export class GoogleCalendar extends Tool {
|
|
|
214
252
|
}
|
|
215
253
|
}
|
|
216
254
|
async processCalendarEvents(events, calendarId) {
|
|
255
|
+
// Get user email for RSVP tagging
|
|
256
|
+
const userEmail = await this.get("user_email");
|
|
217
257
|
for (const event of events) {
|
|
218
258
|
try {
|
|
219
259
|
if (event.status === "cancelled") {
|
|
220
260
|
// TODO: Handle event cancellation
|
|
221
261
|
continue;
|
|
222
262
|
}
|
|
263
|
+
// Extract and create contacts from attendees
|
|
264
|
+
let actorIds = [];
|
|
265
|
+
if (event.attendees && event.attendees.length > 0) {
|
|
266
|
+
const contacts = event.attendees
|
|
267
|
+
.filter((att) => att.email && !att.resource) // Exclude resources
|
|
268
|
+
.map((att) => ({
|
|
269
|
+
email: att.email,
|
|
270
|
+
name: att.displayName,
|
|
271
|
+
}));
|
|
272
|
+
if (contacts.length > 0) {
|
|
273
|
+
const actors = await this.tools.plot.addContacts(contacts);
|
|
274
|
+
actorIds = actors.map((actor) => actor.id);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
223
277
|
// Check if this is a recurring event instance (exception)
|
|
224
278
|
if (event.recurringEventId && event.originalStartTime) {
|
|
225
279
|
await this.processEventException(event, calendarId);
|
|
@@ -227,9 +281,68 @@ export class GoogleCalendar extends Tool {
|
|
|
227
281
|
else {
|
|
228
282
|
// Regular or master recurring event
|
|
229
283
|
const activityData = transformGoogleEvent(event, calendarId);
|
|
284
|
+
// Determine user's RSVP status and set tags
|
|
285
|
+
let tags = null;
|
|
286
|
+
if (userEmail && event.attendees) {
|
|
287
|
+
const userAttendee = event.attendees.find((att) => att.self === true ||
|
|
288
|
+
att.email?.toLowerCase() === userEmail.toLowerCase());
|
|
289
|
+
if (userAttendee) {
|
|
290
|
+
// Find the user's ActorId from the contacts we just created
|
|
291
|
+
const userActorId = actorIds.find((actorId, index) => {
|
|
292
|
+
const attendee = event.attendees[index];
|
|
293
|
+
return (attendee.self === true ||
|
|
294
|
+
attendee.email?.toLowerCase() === userEmail.toLowerCase());
|
|
295
|
+
});
|
|
296
|
+
if (userActorId) {
|
|
297
|
+
tags = {};
|
|
298
|
+
if (userAttendee.responseStatus === "accepted") {
|
|
299
|
+
tags[Tag.Attend] = [userActorId];
|
|
300
|
+
}
|
|
301
|
+
else if (userAttendee.responseStatus === "declined") {
|
|
302
|
+
tags[Tag.Skip] = [userActorId];
|
|
303
|
+
}
|
|
304
|
+
else if (userAttendee.responseStatus === "tentative" ||
|
|
305
|
+
userAttendee.responseStatus === "needsAction") {
|
|
306
|
+
tags[Tag.Undecided] = [userActorId];
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
230
311
|
// Convert to full Activity and call callback
|
|
231
312
|
const callbackToken = await this.get("event_callback_token");
|
|
232
313
|
if (callbackToken && activityData.type) {
|
|
314
|
+
// Build links array for videoconferencing and calendar links
|
|
315
|
+
const links = [];
|
|
316
|
+
const seenUrls = new Set();
|
|
317
|
+
// Extract all conferencing links (Zoom, Teams, Webex, etc.)
|
|
318
|
+
const conferencingLinks = extractConferencingLinks(event);
|
|
319
|
+
for (const link of conferencingLinks) {
|
|
320
|
+
if (!seenUrls.has(link.url)) {
|
|
321
|
+
seenUrls.add(link.url);
|
|
322
|
+
links.push({
|
|
323
|
+
type: ActivityLinkType.conferencing,
|
|
324
|
+
url: link.url,
|
|
325
|
+
provider: link.provider,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// Add Google Meet link from hangoutLink if not already added
|
|
330
|
+
if (event.hangoutLink && !seenUrls.has(event.hangoutLink)) {
|
|
331
|
+
seenUrls.add(event.hangoutLink);
|
|
332
|
+
links.push({
|
|
333
|
+
type: ActivityLinkType.conferencing,
|
|
334
|
+
url: event.hangoutLink,
|
|
335
|
+
provider: ConferencingProvider.googleMeet,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
// Add calendar link
|
|
339
|
+
if (event.htmlLink) {
|
|
340
|
+
links.push({
|
|
341
|
+
type: ActivityLinkType.external,
|
|
342
|
+
title: "View in Calendar",
|
|
343
|
+
url: event.htmlLink,
|
|
344
|
+
});
|
|
345
|
+
}
|
|
233
346
|
const activity = {
|
|
234
347
|
type: activityData.type,
|
|
235
348
|
start: activityData.start || null,
|
|
@@ -240,13 +353,15 @@ export class GoogleCalendar extends Tool {
|
|
|
240
353
|
note: activityData.note || null,
|
|
241
354
|
title: activityData.title || null,
|
|
242
355
|
parent: null,
|
|
243
|
-
links: null,
|
|
356
|
+
links: links.length > 0 ? links : null,
|
|
244
357
|
recurrenceRule: activityData.recurrenceRule || null,
|
|
245
358
|
recurrenceExdates: activityData.recurrenceExdates || null,
|
|
246
359
|
recurrenceDates: activityData.recurrenceDates || null,
|
|
247
360
|
recurrence: null,
|
|
248
361
|
occurrence: null,
|
|
249
362
|
meta: activityData.meta ?? null,
|
|
363
|
+
tags,
|
|
364
|
+
mentions: actorIds.length > 0 ? actorIds : null,
|
|
250
365
|
};
|
|
251
366
|
await this.run(callbackToken, activity);
|
|
252
367
|
}
|
|
@@ -340,6 +455,119 @@ export class GoogleCalendar extends Tool {
|
|
|
340
455
|
// Clean up the callback token
|
|
341
456
|
await this.clear(`auth_callback_token:${authToken}`);
|
|
342
457
|
}
|
|
458
|
+
async onActivityUpdated(activity, changes) {
|
|
459
|
+
if (!changes)
|
|
460
|
+
return;
|
|
461
|
+
// Only process calendar events
|
|
462
|
+
if (!activity.meta?.source ||
|
|
463
|
+
!activity.meta.source.startsWith("google-calendar:")) {
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
// Check if RSVP tags changed
|
|
467
|
+
const attendChanged = Tag.Attend in changes.tagsAdded || Tag.Attend in changes.tagsRemoved;
|
|
468
|
+
const skipChanged = Tag.Skip in changes.tagsAdded || Tag.Skip in changes.tagsRemoved;
|
|
469
|
+
const undecidedChanged = Tag.Undecided in changes.tagsAdded || Tag.Undecided in changes.tagsRemoved;
|
|
470
|
+
if (!attendChanged && !skipChanged && !undecidedChanged) {
|
|
471
|
+
return; // No RSVP-related tag changes
|
|
472
|
+
}
|
|
473
|
+
// Determine new RSVP status based on current tags
|
|
474
|
+
const hasAttend = activity.tags?.[Tag.Attend] && activity.tags[Tag.Attend].length > 0;
|
|
475
|
+
const hasSkip = activity.tags?.[Tag.Skip] && activity.tags[Tag.Skip].length > 0;
|
|
476
|
+
const hasUndecided = activity.tags?.[Tag.Undecided] && activity.tags[Tag.Undecided].length > 0;
|
|
477
|
+
let newStatus;
|
|
478
|
+
// Priority: Attend > Skip > Undecided, using most recent from tagsAdded
|
|
479
|
+
if (hasAttend && (hasSkip || hasUndecided)) {
|
|
480
|
+
// Multiple tags present - use most recent from tagsAdded
|
|
481
|
+
if (Tag.Attend in changes.tagsAdded) {
|
|
482
|
+
newStatus = "accepted";
|
|
483
|
+
}
|
|
484
|
+
else if (Tag.Skip in changes.tagsAdded) {
|
|
485
|
+
newStatus = "declined";
|
|
486
|
+
}
|
|
487
|
+
else if (Tag.Undecided in changes.tagsAdded) {
|
|
488
|
+
newStatus = "tentative";
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
// Multiple were already there, no change needed
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
else if (hasSkip && hasUndecided) {
|
|
496
|
+
// Skip and Undecided present - use most recent
|
|
497
|
+
if (Tag.Skip in changes.tagsAdded) {
|
|
498
|
+
newStatus = "declined";
|
|
499
|
+
}
|
|
500
|
+
else if (Tag.Undecided in changes.tagsAdded) {
|
|
501
|
+
newStatus = "tentative";
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
return;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
else if (hasAttend) {
|
|
508
|
+
newStatus = "accepted";
|
|
509
|
+
}
|
|
510
|
+
else if (hasSkip) {
|
|
511
|
+
newStatus = "declined";
|
|
512
|
+
}
|
|
513
|
+
else if (hasUndecided) {
|
|
514
|
+
newStatus = "tentative";
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
// No RSVP tags present - reset to needsAction
|
|
518
|
+
newStatus = "needsAction";
|
|
519
|
+
}
|
|
520
|
+
// Extract calendar info from metadata
|
|
521
|
+
const eventId = activity.meta.id;
|
|
522
|
+
const calendarId = activity.meta.calendarId;
|
|
523
|
+
if (!eventId || !calendarId) {
|
|
524
|
+
console.warn("Missing event or calendar ID in activity metadata");
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
// Get the auth token for this calendar
|
|
528
|
+
const authToken = await this.get(`auth_token_${calendarId}`);
|
|
529
|
+
if (!authToken) {
|
|
530
|
+
console.warn("No auth token found for calendar", calendarId);
|
|
531
|
+
return;
|
|
532
|
+
}
|
|
533
|
+
try {
|
|
534
|
+
await this.updateEventRSVP(authToken, calendarId, eventId, newStatus);
|
|
535
|
+
console.log(`Updated RSVP for event ${eventId} to ${newStatus}`);
|
|
536
|
+
}
|
|
537
|
+
catch (error) {
|
|
538
|
+
console.error(`Failed to update RSVP for event ${eventId}:`, error);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
async updateEventRSVP(authToken, calendarId, eventId, status) {
|
|
542
|
+
const api = await this.getApi(authToken);
|
|
543
|
+
// First, fetch the current event to get attendees list
|
|
544
|
+
const event = (await api.call("GET", `https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events/${eventId}`));
|
|
545
|
+
if (!event) {
|
|
546
|
+
throw new Error(`Event ${eventId} not found`);
|
|
547
|
+
}
|
|
548
|
+
// Get user email to find which attendee to update
|
|
549
|
+
const userEmail = await this.get("user_email");
|
|
550
|
+
if (!userEmail) {
|
|
551
|
+
throw new Error("User email not found");
|
|
552
|
+
}
|
|
553
|
+
// Find and update the user's attendee status
|
|
554
|
+
const attendees = event.attendees || [];
|
|
555
|
+
const userAttendeeIndex = attendees.findIndex((att) => att.self === true ||
|
|
556
|
+
att.email?.toLowerCase() === userEmail.toLowerCase());
|
|
557
|
+
if (userAttendeeIndex === -1) {
|
|
558
|
+
console.warn("User is not an attendee of this event");
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
561
|
+
// Check if status already matches to avoid infinite loops
|
|
562
|
+
if (attendees[userAttendeeIndex].responseStatus === status) {
|
|
563
|
+
console.log(`RSVP status already ${status}, skipping update`);
|
|
564
|
+
return;
|
|
565
|
+
}
|
|
566
|
+
// Update the attendee's response status
|
|
567
|
+
attendees[userAttendeeIndex].responseStatus = status;
|
|
568
|
+
// Update the event with the new attendees list
|
|
569
|
+
await api.call("PATCH", `https://www.googleapis.com/calendar/v3/calendars/${calendarId}/events/${eventId}`, undefined, { attendees });
|
|
570
|
+
}
|
|
343
571
|
}
|
|
344
572
|
export default GoogleCalendar;
|
|
345
573
|
//# sourceMappingURL=google-calendar.js.map
|
|
@@ -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":"AAAA,OAAO,EAGL,gBAAgB,EAEhB,oBAAoB,EAGpB,GAAG,EACH,IAAI,GAEL,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,YAAY,GACb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAuB,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACL,cAAc,EACd,aAAa,EACb,IAAI,GACL,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,wBAAwB,EACxB,SAAS,EAGT,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,MAAM,OAAO,cACX,SAAQ,IAAoB;IAG5B,KAAK,CAAC,KAAkB;QACtB,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;gBACtB,IAAI,EAAE,CAAC,uCAAuC,CAAC;aAChD,CAAC;YACF,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBAChB,OAAO,EAAE;oBACP,MAAM,EAAE,aAAa,CAAC,KAAK;iBAC5B;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,cAAc,CAAC,MAAM;oBAC7B,OAAO,EAAE,IAAI,CAAC,iBAAiB;iBAChC;aACF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAEf,QAAmB,EAAE,GAAG,SAAgB;QACxC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG;YACrB,gEAAgE;YAChE,iDAAiD;SAClD,CAAC;QAEF,0CAA0C;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEtC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAC/D,QAAQ,EACR,GAAG,SAAS,CACb,CAAC;QAEF,4CAA4C;QAC5C,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAC1C;YACE,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,MAAM,EAAE,cAAc;SACvB,EACD,IAAI,CAAC,aAAa,EAClB,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,SAAiB;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAClC,iBAAiB,SAAS,EAAE,CAC7B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,SAAiB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzC,2DAA2D;QAC3D,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAClC,KAAK,EACL,sEAAsE,CACvE,CAAmB,CAAC;QAErB,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC,8CAA8C;IACxE,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAChD,iDAAiD;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEjD,uBAAuB;QACvB,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,KAAK,EACL,8DAA8D,CAC/D,CAOA,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAGb,SAAiB,EACjB,UAAkB,EAClB,QAAmB,EACnB,GAAG,SAAgB;QAEnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/B,mCAAmC;QACnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAC/D,QAAQ,EACR,GAAG,SAAS,CACb,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAEtD,uDAAuD;QACvD,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEhC,kCAAkC;QAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhE,qBAAqB;QACrB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAc;YAC9B,UAAU;YACV,GAAG;YACH,GAAG;YACH,QAAQ,EAAE,CAAC;SACZ,CAAC;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,6DAA6D;QAC7D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CACtC,IAAI,CAAC,SAAS,EACd,CAAC,EACD,MAAM,EACN,SAAS,EACT,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,UAAkB;QACnD,eAAe;QACf,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAM,kBAAkB,UAAU,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,EAAE,CAAC;YACd,gDAAgD;YAChD,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,mBAAmB;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,SAAiB,EACjB,UAAkB,EAClB,eAAuB;QAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACxD,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAChC,SAAS,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;SACzC,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAC/B,MAAM,EACN,oDAAoD,UAAU,eAAe,EAC7E,SAAS,EACT;YACE,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SAClD,CACF,CAA2B,CAAC;QAE7B,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,EAAE;YAC7C,OAAO;YACP,MAAM;YACN,UAAU;YACV,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SACjD,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAU,EACV,WAAmB,EACnB,IAA4B,EAC5B,SAAiB,EACjB,UAAkB;QAElB,OAAO,CAAC,GAAG,CACT,uCAAuC,WAAW,KAAK,IAAI,kBAAkB,UAAU,EAAE,CAC1F,CAAC;QAEF,IAAI,CAAC;YACH,sDAAsD;YACtD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAY,cAAc,UAAU,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,kEAAkE;YAClE,IAAI,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC/C,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC/C,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAEhE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,oBAAoB,WAAW,iBAAiB,UAAU,EAAE,CAC3F,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CACtC,IAAI,CAAC,SAAS,EACd,WAAW,GAAG,CAAC,EACf,IAAI,EACJ,SAAS,EACT,UAAU,CACX,CAAC;gBACF,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,mBAAmB,IAAI,yBAAyB,WAAW,yBAAyB,UAAU,EAAE,CACjG,CAAC;gBACF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,uBAAuB,WAAW,iBAAiB,UAAU,GAAG,EAChE,KAAK,CACN,CAAC;YAEF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,MAAqB,EACrB,UAAkB;QAElB,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;QAEvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACjC,kCAAkC;oBAClC,SAAS;gBACX,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,QAAQ,GAAc,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,QAAQ,GAAiB,KAAK,CAAC,SAAS;yBAC3C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,oBAAoB;yBAChE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACb,KAAK,EAAE,GAAG,CAAC,KAAM;wBACjB,IAAI,EAAE,GAAG,CAAC,WAAW;qBACtB,CAAC,CAAC,CAAC;oBAEN,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wBAC3D,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBAED,0DAA0D;gBAC1D,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;oBACtD,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,oCAAoC;oBACpC,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBAE7D,4CAA4C;oBAC5C,IAAI,IAAI,GAA2C,IAAI,CAAC;oBACxD,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACjC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACvC,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,IAAI;4BACjB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CACvD,CAAC;wBAEF,IAAI,YAAY,EAAE,CAAC;4BACjB,4DAA4D;4BAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gCACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC;gCACzC,OAAO,CACL,QAAQ,CAAC,IAAI,KAAK,IAAI;oCACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAC1D,CAAC;4BACJ,CAAC,CAAC,CAAC;4BAEH,IAAI,WAAW,EAAE,CAAC;gCAChB,IAAI,GAAG,EAAE,CAAC;gCACV,IAAI,YAAY,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;oCAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gCACnC,CAAC;qCAAM,IAAI,YAAY,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;oCACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gCACjC,CAAC;qCAAM,IACL,YAAY,CAAC,cAAc,KAAK,WAAW;oCAC3C,YAAY,CAAC,cAAc,KAAK,aAAa,EAC7C,CAAC;oCACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gCACtC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,6CAA6C;oBAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,sBAAsB,CAAC,CAAC;oBACrE,IAAI,aAAa,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;wBACvC,6DAA6D;wBAC7D,MAAM,KAAK,GAAmB,EAAE,CAAC;wBACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;wBAEnC,4DAA4D;wBAC5D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;wBAC1D,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;4BACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCACvB,KAAK,CAAC,IAAI,CAAC;oCACT,IAAI,EAAE,gBAAgB,CAAC,YAAY;oCACnC,GAAG,EAAE,IAAI,CAAC,GAAG;oCACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;iCACxB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAED,6DAA6D;wBAC7D,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC1D,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;4BAChC,KAAK,CAAC,IAAI,CAAC;gCACT,IAAI,EAAE,gBAAgB,CAAC,YAAY;gCACnC,GAAG,EAAE,KAAK,CAAC,WAAW;gCACtB,QAAQ,EAAE,oBAAoB,CAAC,UAAU;6BAC1C,CAAC,CAAC;wBACL,CAAC;wBAED,oBAAoB;wBACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACnB,KAAK,CAAC,IAAI,CAAC;gCACT,IAAI,EAAE,gBAAgB,CAAC,QAAQ;gCAC/B,KAAK,EAAE,kBAAkB;gCACzB,GAAG,EAAE,KAAK,CAAC,QAAQ;6BACpB,CAAC,CAAC;wBACL,CAAC;wBAED,MAAM,QAAQ,GAAgB;4BAC5B,IAAI,EAAE,YAAY,CAAC,IAAI;4BACvB,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI;4BACjC,GAAG,EAAE,YAAY,CAAC,GAAG,IAAI,IAAI;4BAC7B,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,IAAI;4BACrD,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,IAAI;4BACrD,MAAM,EAAE,IAAI;4BACZ,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI;4BAC/B,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI;4BACjC,MAAM,EAAE,IAAI;4BACZ,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;4BACtC,cAAc,EAAE,YAAY,CAAC,cAAc,IAAI,IAAI;4BACnD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,IAAI,IAAI;4BACzD,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,IAAI;4BACrD,UAAU,EAAE,IAAI;4BAChB,UAAU,EAAE,IAAI;4BAChB,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI;4BAC/B,IAAI;4BACJ,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;yBAChD,CAAC;wBAEF,MAAM,IAAI,CAAC,GAAG,CAAC,aAAoB,EAAE,QAAQ,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7D,mCAAmC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,KAAkB,EAClB,UAAkB;QAElB,sDAAsD;QACtD,wEAAwE;QACxE,MAAM,iBAAiB,GACrB,KAAK,CAAC,iBAAiB,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC;QACrE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,sBAAsB,CAAC,CAAC;QACrE,IAAI,aAAa,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAgB;gBAC5B,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI;gBACjC,GAAG,EAAE,YAAY,CAAC,GAAG,IAAI,IAAI;gBAC7B,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,IAAI;gBACrD,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,IAAI;gBACrD,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI;gBAC/B,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI;gBACjC,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI,EAAE,qCAAqC;gBACvD,UAAU,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC;gBACvC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI;aAChC,CAAC;YAEF,MAAM,IAAI,CAAC,GAAG,CAAC,aAAoB,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAuB,EACvB,UAAkB,EAClB,SAAiB;QAEjB,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE;YACpD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU;SACX,CAAC,CAAC;QAEH,gCAAgC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAM,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,UAAkB,EAClB,SAAiB;QAEjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAM,kBAAkB,UAAU,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAc;YAClC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,KAAK,EACH,CAAC,MAAM,IAAI,CAAC,GAAG,CAAS,mBAAmB,UAAU,EAAE,CAAC,CAAC,IAAI,SAAS;SACzE,CAAC;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CACtC,IAAI,CAAC,SAAS,EACd,CAAC,EACD,aAAa,EACb,SAAS,EACT,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAyB,EACzB,SAAiB,EACjB,QAAkB;QAElB,wDAAwD;QACxD,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,iBAAiB,GAAiB;YACtC,SAAS;SACV,CAAC;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAE5C,8BAA8B;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAkB,EAClB,OAIC;QAED,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,+BAA+B;QAC/B,IACE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;YACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACpD,CAAC;YACD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,aAAa,GACjB,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;QACvE,MAAM,WAAW,GACf,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;QACnE,MAAM,gBAAgB,GACpB,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;QAE7E,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxD,OAAO,CAAC,8BAA8B;QACxC,CAAC;QAED,kDAAkD;QAClD,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5E,IAAI,SAAgE,CAAC;QAErE,wEAAwE;QACxE,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC;YAC3C,yDAAyD;YACzD,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpC,SAAS,GAAG,UAAU,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,SAAS,GAAG,UAAU,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9C,SAAS,GAAG,WAAW,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,+CAA+C;YAC/C,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAClC,SAAS,GAAG,UAAU,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC9C,SAAS,GAAG,WAAW,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,SAAS,GAAG,WAAW,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,SAAS,GAAG,aAAa,CAAC;QAC5B,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAE5C,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,cAAc,UAAU,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,SAAiB,EACjB,UAAkB,EAClB,OAAe,EACf,MAA6D;QAE7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzC,uDAAuD;QACvD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,KAAK,EACL,oDAAoD,UAAU,WAAW,OAAO,EAAE,CACnF,CAAuB,CAAC;QAEzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,kDAAkD;QAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,6CAA6C;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAC3C,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,IAAI;YACjB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CACvD,CAAC;QAEF,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,mBAAmB,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,SAAS,CAAC,iBAAiB,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC;QAErD,+CAA+C;QAC/C,MAAM,GAAG,CAAC,IAAI,CACZ,OAAO,EACP,oDAAoD,UAAU,WAAW,OAAO,EAAE,EAClF,SAAS,EACT,EAAE,SAAS,EAAE,CACd,CAAC;IACJ,CAAC;CACF;AAED,eAAe,cAAc,CAAC"}
|
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.
|
|
7
|
+
"version": "0.3.0",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"LICENSE"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@plotday/
|
|
23
|
+
"@plotday/twister": "^0.20.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"typescript": "^5.9.3"
|