@plotday/tool-google-contacts 0.1.0-alpha.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -41
- package/dist/google-contacts.d.ts +0 -3
- package/dist/google-contacts.d.ts.map +1 -1
- package/dist/google-contacts.js +26 -33
- package/dist/google-contacts.js.map +1 -1
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -11,51 +11,49 @@ npm install @plotday/tool-google-contacts @plotday/sdk
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { Agent, Tools
|
|
14
|
+
import { Agent, Tools } from "@plotday/sdk";
|
|
15
15
|
import { GoogleContacts } from "@plotday/tool-google-contacts";
|
|
16
16
|
import { Auth, AuthLevel, AuthProvider } from "@plotday/sdk/tools/auth";
|
|
17
17
|
|
|
18
|
-
export default
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
console.log("Contact:", contact.names?.[0]?.displayName);
|
|
56
|
-
}
|
|
18
|
+
export default class extends Agent {
|
|
19
|
+
private googleContacts: GoogleContacts;
|
|
20
|
+
private auth: Auth;
|
|
21
|
+
|
|
22
|
+
constructor(tools: Tools) {
|
|
23
|
+
super();
|
|
24
|
+
this.googleContacts = tools.get(GoogleContacts);
|
|
25
|
+
this.auth = tools.get(Auth);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async activate(priority: { id: string }) {
|
|
29
|
+
// Request Google Contacts access
|
|
30
|
+
const authLink = await this.auth.request(
|
|
31
|
+
{
|
|
32
|
+
provider: AuthProvider.Google,
|
|
33
|
+
level: AuthLevel.User,
|
|
34
|
+
scopes: ["https://www.googleapis.com/auth/contacts.readonly"],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
functionName: "onAuthComplete",
|
|
38
|
+
context: { priorityId: priority.id },
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
// User will authenticate via authLink
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async onAuthComplete(authorization: any, context: any) {
|
|
46
|
+
const authToken = await this.auth.get(authorization);
|
|
47
|
+
|
|
48
|
+
// Start syncing contacts
|
|
49
|
+
await this.googleContacts.startSync(authToken, "onContact");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async onContact(contact: any) {
|
|
53
|
+
// Handle contact updates
|
|
54
|
+
console.log("Contact:", contact.names?.[0]?.displayName);
|
|
57
55
|
}
|
|
58
|
-
|
|
56
|
+
}
|
|
59
57
|
```
|
|
60
58
|
|
|
61
59
|
## API
|
|
@@ -4,9 +4,6 @@ export default class extends Tool implements GoogleContacts {
|
|
|
4
4
|
protected tools: Tools;
|
|
5
5
|
static readonly id = "google-contacts";
|
|
6
6
|
private auth;
|
|
7
|
-
private store;
|
|
8
|
-
private run;
|
|
9
|
-
private callback;
|
|
10
7
|
constructor(tools: Tools);
|
|
11
8
|
requestAuth(callbackFunctionName: string, callbackContext?: any): Promise<any>;
|
|
12
9
|
getContacts(authToken: string): Promise<Contact[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-contacts.d.ts","sourceRoot":"","sources":["../src/google-contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"google-contacts.d.ts","sourceRoot":"","sources":["../src/google-contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAQhD,OAAO,KAAK,EAAE,OAAO,EAAe,cAAc,EAAE,MAAM,SAAS,CAAC;AA6OpE,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAK,YAAW,cAAc;IAK7C,SAAS,CAAC,KAAK,EAAE,KAAK;IAJlC,MAAM,CAAC,QAAQ,CAAC,EAAE,qBAAqB;IAEvC,OAAO,CAAC,IAAI,CAAO;gBAEG,KAAK,EAAE,KAAK;IAK5B,WAAW,CACf,oBAAoB,EAAE,MAAM,EAC5B,eAAe,CAAC,EAAE,GAAG,GACpB,OAAO,CAAC,GAAG,CAAC;IAiCT,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkBlD,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,GACA,OAAO,CAAC,IAAI,CAAC;IAgCV,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C,SAAS,CAAC,OAAO,EAAE;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;YAwDH,eAAe;IAYvB,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BlE"}
|
package/dist/google-contacts.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { Tool } from "@plotday/sdk";
|
|
2
|
-
import { Auth, AuthLevel, AuthProvider } from "@plotday/sdk/tools/auth";
|
|
3
|
-
import { CallbackTool } from "@plotday/sdk/tools/callback";
|
|
4
|
-
import { Run } from "@plotday/sdk/tools/run";
|
|
5
|
-
import { Store } from "@plotday/sdk/tools/store";
|
|
2
|
+
import { Auth, AuthLevel, AuthProvider, } from "@plotday/sdk/tools/auth";
|
|
6
3
|
class GoogleApi {
|
|
7
4
|
accessToken;
|
|
8
5
|
constructor(accessToken) {
|
|
@@ -171,16 +168,10 @@ export default class default_1 extends Tool {
|
|
|
171
168
|
tools;
|
|
172
169
|
static id = "google-contacts";
|
|
173
170
|
auth;
|
|
174
|
-
store;
|
|
175
|
-
run;
|
|
176
|
-
callback;
|
|
177
171
|
constructor(tools) {
|
|
178
|
-
super();
|
|
172
|
+
super(tools);
|
|
179
173
|
this.tools = tools;
|
|
180
174
|
this.auth = tools.get(Auth);
|
|
181
|
-
this.store = tools.get(Store);
|
|
182
|
-
this.run = tools.get(Run);
|
|
183
|
-
this.callback = tools.get(CallbackTool);
|
|
184
175
|
}
|
|
185
176
|
async requestAuth(callbackFunctionName, callbackContext) {
|
|
186
177
|
const contactsScopes = [
|
|
@@ -190,10 +181,10 @@ export default class default_1 extends Tool {
|
|
|
190
181
|
// Generate opaque token for this authorization
|
|
191
182
|
const opaqueToken = crypto.randomUUID();
|
|
192
183
|
// Register the callback for auth completion with opaque token
|
|
193
|
-
const callbackToken = await this.callback
|
|
194
|
-
await this.
|
|
184
|
+
const callbackToken = await this.callback(callbackFunctionName, callbackContext);
|
|
185
|
+
await this.set(`auth_callback_token:${opaqueToken}`, callbackToken);
|
|
195
186
|
// Create callback for auth completion
|
|
196
|
-
const authCallback = await this.callback
|
|
187
|
+
const authCallback = await this.callback("onAuthSuccess", {
|
|
197
188
|
toolName: "google-contacts",
|
|
198
189
|
opaqueToken,
|
|
199
190
|
});
|
|
@@ -205,7 +196,7 @@ export default class default_1 extends Tool {
|
|
|
205
196
|
}, authCallback);
|
|
206
197
|
}
|
|
207
198
|
async getContacts(authToken) {
|
|
208
|
-
const storedAuthToken = await this.
|
|
199
|
+
const storedAuthToken = await this.get(`auth_token:${authToken}`);
|
|
209
200
|
if (!storedAuthToken) {
|
|
210
201
|
throw new Error("No Google authentication token available for the provided authToken");
|
|
211
202
|
}
|
|
@@ -216,38 +207,39 @@ export default class default_1 extends Tool {
|
|
|
216
207
|
return result.contacts;
|
|
217
208
|
}
|
|
218
209
|
async startSync(authToken, callbackFunctionName, options) {
|
|
219
|
-
const storedAuthToken = await this.
|
|
210
|
+
const storedAuthToken = await this.get(`auth_token:${authToken}`);
|
|
220
211
|
if (!storedAuthToken) {
|
|
221
212
|
throw new Error("No Google authentication token available for the provided authToken");
|
|
222
213
|
}
|
|
223
214
|
// Register the callback
|
|
224
|
-
const callbackToken = await this.callback
|
|
225
|
-
await this.
|
|
215
|
+
const callbackToken = await this.callback(callbackFunctionName, options?.context);
|
|
216
|
+
await this.set(`contacts_callback_token:${authToken}`, callbackToken);
|
|
226
217
|
// Start initial sync
|
|
227
218
|
const initialState = {
|
|
228
219
|
more: false,
|
|
229
220
|
};
|
|
230
|
-
await this.
|
|
221
|
+
await this.set(`sync_state:${authToken}`, initialState);
|
|
231
222
|
// Start sync batch using run tool for long-running operation
|
|
232
|
-
await this.
|
|
223
|
+
const callback = await this.callback("syncBatch", {
|
|
233
224
|
batchNumber: 1,
|
|
234
225
|
authToken,
|
|
235
226
|
});
|
|
227
|
+
await this.run(callback);
|
|
236
228
|
}
|
|
237
229
|
async stopSync(authToken) {
|
|
238
230
|
// Clear sync state for this specific auth token
|
|
239
|
-
await this.
|
|
240
|
-
await this.
|
|
231
|
+
await this.clear(`sync_state:${authToken}`);
|
|
232
|
+
await this.clear(`contacts_callback_token:${authToken}`);
|
|
241
233
|
}
|
|
242
234
|
async syncBatch(context) {
|
|
243
235
|
const { batchNumber, authToken } = context;
|
|
244
236
|
console.log(`Starting Google Contacts sync batch ${batchNumber}`);
|
|
245
237
|
try {
|
|
246
|
-
const storedAuthToken = await this.
|
|
238
|
+
const storedAuthToken = await this.get(`auth_token:${authToken}`);
|
|
247
239
|
if (!storedAuthToken) {
|
|
248
240
|
throw new Error("No authentication token available for the provided authToken");
|
|
249
241
|
}
|
|
250
|
-
const state = await this.
|
|
242
|
+
const state = await this.get(`sync_state:${authToken}`);
|
|
251
243
|
if (!state) {
|
|
252
244
|
throw new Error("No sync state found");
|
|
253
245
|
}
|
|
@@ -257,16 +249,17 @@ export default class default_1 extends Tool {
|
|
|
257
249
|
await this.processContacts(result.contacts, authToken);
|
|
258
250
|
console.log(`Synced ${result.contacts.length} contacts in batch ${batchNumber}`);
|
|
259
251
|
}
|
|
260
|
-
await this.
|
|
252
|
+
await this.set(`sync_state:${authToken}`, result.state);
|
|
261
253
|
if (result.state.more) {
|
|
262
|
-
await this.
|
|
254
|
+
const callback = await this.callback("syncBatch", {
|
|
263
255
|
batchNumber: batchNumber + 1,
|
|
264
256
|
authToken,
|
|
265
257
|
});
|
|
258
|
+
await this.run(callback);
|
|
266
259
|
}
|
|
267
260
|
else {
|
|
268
261
|
console.log(`Google Contacts sync completed after ${batchNumber} batches`);
|
|
269
|
-
await this.
|
|
262
|
+
await this.clear(`sync_state:${authToken}`);
|
|
270
263
|
}
|
|
271
264
|
}
|
|
272
265
|
catch (error) {
|
|
@@ -275,9 +268,9 @@ export default class default_1 extends Tool {
|
|
|
275
268
|
}
|
|
276
269
|
}
|
|
277
270
|
async processContacts(contacts, authToken) {
|
|
278
|
-
const callbackToken = await this.
|
|
271
|
+
const callbackToken = await this.get(`contacts_callback_token:${authToken}`);
|
|
279
272
|
if (callbackToken) {
|
|
280
|
-
await this.
|
|
273
|
+
await this.call(callbackToken, contacts);
|
|
281
274
|
}
|
|
282
275
|
}
|
|
283
276
|
async onAuthSuccess(authResult, context) {
|
|
@@ -289,16 +282,16 @@ export default class default_1 extends Tool {
|
|
|
289
282
|
return;
|
|
290
283
|
}
|
|
291
284
|
// Store the actual auth token using opaque token as key
|
|
292
|
-
await this.
|
|
285
|
+
await this.set(`auth_token:${opaqueToken}`, authResult);
|
|
293
286
|
// Retrieve and call the stored callback
|
|
294
|
-
const callbackToken = await this.
|
|
287
|
+
const callbackToken = await this.get(`auth_callback_token:${opaqueToken}`);
|
|
295
288
|
if (callbackToken) {
|
|
296
289
|
const authSuccessResult = {
|
|
297
290
|
authToken: opaqueToken,
|
|
298
291
|
};
|
|
299
|
-
await this.
|
|
292
|
+
await this.call(callbackToken, authSuccessResult);
|
|
300
293
|
// Clean up the callback token
|
|
301
|
-
await this.
|
|
294
|
+
await this.clear(`auth_callback_token:${opaqueToken}`);
|
|
302
295
|
}
|
|
303
296
|
}
|
|
304
297
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-contacts.js","sourceRoot":"","sources":["../src/google-contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,cAAc,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"google-contacts.js","sourceRoot":"","sources":["../src/google-contacts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "Sync with Google Contacts",
|
|
5
5
|
"author": "Plot <team@plot.day> (https://plot.day)",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"version": "0.1.
|
|
7
|
+
"version": "0.1.2",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -20,10 +20,9 @@
|
|
|
20
20
|
"LICENSE"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@plotday/sdk": "^0.
|
|
23
|
+
"@plotday/sdk": "^0.11.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@cloudflare/workers-types": "^4.0.0",
|
|
27
26
|
"typescript": "^5.9.3"
|
|
28
27
|
},
|
|
29
28
|
"repository": {
|