@elizaos/plugin-google 2.0.0-beta.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 (54) hide show
  1. package/README.md +22 -0
  2. package/dist/auth.d.ts +9 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +45 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/calendar.d.ts +26 -0
  7. package/dist/calendar.d.ts.map +1 -0
  8. package/dist/calendar.js +237 -0
  9. package/dist/calendar.js.map +1 -0
  10. package/dist/client-factory.d.ts +17 -0
  11. package/dist/client-factory.d.ts.map +1 -0
  12. package/dist/client-factory.js +66 -0
  13. package/dist/client-factory.js.map +1 -0
  14. package/dist/connector-account-provider.d.ts +23 -0
  15. package/dist/connector-account-provider.d.ts.map +1 -0
  16. package/dist/connector-account-provider.js +348 -0
  17. package/dist/connector-account-provider.js.map +1 -0
  18. package/dist/connector-credential-refs.d.ts +43 -0
  19. package/dist/connector-credential-refs.d.ts.map +1 -0
  20. package/dist/connector-credential-refs.js +252 -0
  21. package/dist/connector-credential-refs.js.map +1 -0
  22. package/dist/credential-resolver.d.ts +45 -0
  23. package/dist/credential-resolver.d.ts.map +1 -0
  24. package/dist/credential-resolver.js +525 -0
  25. package/dist/credential-resolver.js.map +1 -0
  26. package/dist/drive.d.ts +41 -0
  27. package/dist/drive.d.ts.map +1 -0
  28. package/dist/drive.js +207 -0
  29. package/dist/drive.js.map +1 -0
  30. package/dist/gmail.d.ts +89 -0
  31. package/dist/gmail.d.ts.map +1 -0
  32. package/dist/gmail.js +765 -0
  33. package/dist/gmail.js.map +1 -0
  34. package/dist/index.d.ts +16 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +46 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/meet.d.ts +61 -0
  39. package/dist/meet.d.ts.map +1 -0
  40. package/dist/meet.js +329 -0
  41. package/dist/meet.js.map +1 -0
  42. package/dist/scopes.d.ts +59 -0
  43. package/dist/scopes.d.ts.map +1 -0
  44. package/dist/scopes.js +142 -0
  45. package/dist/scopes.js.map +1 -0
  46. package/dist/service.d.ts +165 -0
  47. package/dist/service.d.ts.map +1 -0
  48. package/dist/service.js +170 -0
  49. package/dist/service.js.map +1 -0
  50. package/dist/types.d.ts +492 -0
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/types.js +9 -0
  53. package/dist/types.js.map +1 -0
  54. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../src/drive.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAIpB,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,sBAAsB;IAE5D,WAAW,CACf,MAAM,EAAE,gBAAgB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3D,OAAO,CAAC,eAAe,EAAE,CAAC;IASvB,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAWhF,cAAc,CAClB,MAAM,EAAE,gBAAgB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACxF,OAAO,CAAC,mBAAmB,CAAC;IAmBzB,gBAAgB,CACpB,MAAM,EAAE,gBAAgB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACpF,OAAO,CAAC,mBAAmB,CAAC;IAiBzB,aAAa,CACjB,MAAM,EAAE,gBAAgB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAChD,OAAO,CAAC,gBAAgB,CAAC;IAWtB,eAAe,CACnB,MAAM,EAAE,gBAAgB,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACnE,OAAO,CAAC,kBAAkB,CAAC;IAaxB,eAAe,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC;IA8B7E,WAAW,CACf,MAAM,EAAE,gBAAgB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAiBV,gBAAgB,CACpB,MAAM,EAAE,gBAAgB,GAAG;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;KACvD,GACA,OAAO,CAAC,uBAAuB,CAAC;CAqBpC"}
package/dist/drive.js ADDED
@@ -0,0 +1,207 @@
1
+ const DRIVE_FILE_FIELDS = "id,name,mimeType,createdTime,webViewLink,modifiedTime,size,parents";
2
+ export class GoogleDriveClient {
3
+ clientFactory;
4
+ constructor(clientFactory) {
5
+ this.clientFactory = clientFactory;
6
+ }
7
+ async searchFiles(params) {
8
+ const response = await this.searchDriveFiles({
9
+ accountId: params.accountId,
10
+ query: params.query,
11
+ maxResults: params.limit,
12
+ });
13
+ return response.files;
14
+ }
15
+ async getFile(params) {
16
+ const drive = await this.clientFactory.drive(params, ["drive.read"], "drive.getFile");
17
+ const response = await drive.files.get({
18
+ fileId: params.fileId,
19
+ fields: DRIVE_FILE_FIELDS,
20
+ supportsAllDrives: true,
21
+ });
22
+ return mapDriveFile(response.data);
23
+ }
24
+ async listDriveFiles(params) {
25
+ const drive = await this.clientFactory.drive(params, ["drive.read"], "drive.listFiles");
26
+ const response = await drive.files.list({
27
+ q: params.folderId
28
+ ? `'${escapeDriveQuery(params.folderId)}' in parents and trashed = false`
29
+ : "trashed = false",
30
+ pageSize: normalizedPageSize(params.maxResults),
31
+ pageToken: params.pageToken,
32
+ orderBy: "modifiedTime desc",
33
+ fields: `nextPageToken,files(${DRIVE_FILE_FIELDS})`,
34
+ supportsAllDrives: true,
35
+ includeItemsFromAllDrives: true,
36
+ });
37
+ return {
38
+ files: (response.data.files ?? []).map(mapDriveFile),
39
+ nextPageToken: response.data.nextPageToken ?? null,
40
+ };
41
+ }
42
+ async searchDriveFiles(params) {
43
+ const drive = await this.clientFactory.drive(params, ["drive.read"], "drive.searchDriveFiles");
44
+ const response = await drive.files.list({
45
+ q: driveQuery(params.query),
46
+ pageSize: normalizedPageSize(params.maxResults),
47
+ pageToken: params.pageToken,
48
+ orderBy: "modifiedTime desc",
49
+ fields: `nextPageToken,files(${DRIVE_FILE_FIELDS})`,
50
+ supportsAllDrives: true,
51
+ includeItemsFromAllDrives: true,
52
+ });
53
+ return {
54
+ files: (response.data.files ?? []).map(mapDriveFile),
55
+ nextPageToken: response.data.nextPageToken ?? null,
56
+ };
57
+ }
58
+ async getDocContent(params) {
59
+ const docs = await this.clientFactory.docs(params, ["drive.read"], "drive.getDocContent");
60
+ const response = await docs.documents.get({
61
+ documentId: params.documentId,
62
+ });
63
+ return {
64
+ title: response.data.title ?? "",
65
+ plainText: extractDocsPlainText(response.data),
66
+ };
67
+ }
68
+ async getSheetContent(params) {
69
+ const sheets = await this.clientFactory.sheets(params, ["drive.read"], "drive.getSheetContent");
70
+ const response = await sheets.spreadsheets.get({
71
+ spreadsheetId: params.spreadsheetId,
72
+ includeGridData: true,
73
+ ranges: params.range ? [params.range] : undefined,
74
+ });
75
+ return {
76
+ title: response.data.sheets?.[0]?.properties?.title ?? "",
77
+ rows: extractSheetRows(response.data),
78
+ };
79
+ }
80
+ async createDriveFile(params) {
81
+ const drive = await this.clientFactory.drive(params, ["drive.write"], "drive.createFile");
82
+ const requestBody = {
83
+ name: params.name,
84
+ mimeType: params.mimeType,
85
+ parents: params.parentFolderId ? [params.parentFolderId] : undefined,
86
+ };
87
+ if (params.content === undefined) {
88
+ const response = await drive.files.create({
89
+ requestBody,
90
+ fields: DRIVE_FILE_FIELDS,
91
+ supportsAllDrives: true,
92
+ });
93
+ return mapDriveFile(response.data);
94
+ }
95
+ const response = await drive.files.create({
96
+ requestBody,
97
+ media: {
98
+ mimeType: typeof params.content === "string" ? "text/plain; charset=UTF-8" : params.mimeType,
99
+ body: typeof params.content === "string" ? params.content : Buffer.from(params.content),
100
+ },
101
+ fields: DRIVE_FILE_FIELDS,
102
+ supportsAllDrives: true,
103
+ });
104
+ return mapDriveFile(response.data);
105
+ }
106
+ async appendToDoc(params) {
107
+ const docs = await this.clientFactory.docs(params, ["drive.write"], "drive.appendToDoc");
108
+ await docs.documents.batchUpdate({
109
+ documentId: params.documentId,
110
+ requestBody: {
111
+ requests: [
112
+ {
113
+ insertText: {
114
+ text: params.text,
115
+ endOfSegmentLocation: { segmentId: "" },
116
+ },
117
+ },
118
+ ],
119
+ },
120
+ });
121
+ }
122
+ async updateSheetCells(params) {
123
+ const sheets = await this.clientFactory.sheets(params, ["drive.write"], "drive.updateSheetCells");
124
+ const response = await sheets.spreadsheets.values.update({
125
+ spreadsheetId: params.spreadsheetId,
126
+ range: params.range,
127
+ valueInputOption: "USER_ENTERED",
128
+ requestBody: {
129
+ range: params.range,
130
+ majorDimension: "ROWS",
131
+ values: params.values.map((row) => [...row]),
132
+ },
133
+ });
134
+ return {
135
+ updatedRange: response.data.updatedRange ?? params.range,
136
+ updatedCells: response.data.updatedCells ?? 0,
137
+ };
138
+ }
139
+ }
140
+ function mapDriveFile(file) {
141
+ return {
142
+ id: file.id ?? "",
143
+ name: file.name ?? "",
144
+ mimeType: file.mimeType ?? undefined,
145
+ createdTime: file.createdTime ?? undefined,
146
+ webViewLink: file.webViewLink ?? undefined,
147
+ modifiedTime: file.modifiedTime ?? undefined,
148
+ size: file.size ?? undefined,
149
+ parents: file.parents ?? undefined,
150
+ };
151
+ }
152
+ function normalizedPageSize(value) {
153
+ if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
154
+ return 25;
155
+ }
156
+ return Math.min(Math.trunc(value), 100);
157
+ }
158
+ function escapeDriveQuery(value) {
159
+ return value.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
160
+ }
161
+ function driveQuery(query) {
162
+ const trimmed = query.trim();
163
+ if (/\btrashed\s*=/.test(trimmed)) {
164
+ return trimmed;
165
+ }
166
+ return `(${trimmed}) and trashed = false`;
167
+ }
168
+ function extractDocsPlainText(doc) {
169
+ const parts = [];
170
+ for (const element of doc.body?.content ?? []) {
171
+ for (const paragraphElement of element.paragraph?.elements ?? []) {
172
+ const text = paragraphElement.textRun?.content;
173
+ if (text) {
174
+ parts.push(text);
175
+ }
176
+ }
177
+ }
178
+ return parts.join("");
179
+ }
180
+ function extractSheetRows(response) {
181
+ const rows = [];
182
+ for (const sheet of response.sheets ?? []) {
183
+ for (const gridData of sheet.data ?? []) {
184
+ for (const row of gridData.rowData ?? []) {
185
+ const cells = (row.values ?? []).map((cell) => {
186
+ if (cell.formattedValue !== undefined && cell.formattedValue !== null) {
187
+ return String(cell.formattedValue);
188
+ }
189
+ const value = cell.userEnteredValue;
190
+ if (value?.stringValue !== undefined && value.stringValue !== null) {
191
+ return String(value.stringValue);
192
+ }
193
+ if (value?.numberValue !== undefined && value.numberValue !== null) {
194
+ return String(value.numberValue);
195
+ }
196
+ if (value?.boolValue !== undefined && value.boolValue !== null) {
197
+ return String(value.boolValue);
198
+ }
199
+ return "";
200
+ });
201
+ rows.push(cells);
202
+ }
203
+ }
204
+ }
205
+ return rows;
206
+ }
207
+ //# sourceMappingURL=drive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive.js","sourceRoot":"","sources":["../src/drive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { GoogleApiClientFactory } from "./client-factory.js";
2
+ import type { GoogleAccountRef, GoogleGmailBulkOperation, GoogleGmailFilterCreateResult, GoogleGmailMessageDetail, GoogleGmailMessageSummary, GoogleGmailSendResult, GoogleGmailSubscriptionMessageHeaders, GoogleGmailUnrespondedThread, GoogleMessageSummary, GoogleParsedMailto, GoogleSendEmailInput } from "./types.js";
3
+ export declare class GoogleGmailClient {
4
+ private readonly clientFactory;
5
+ constructor(clientFactory: GoogleApiClientFactory);
6
+ searchMessages(params: GoogleAccountRef & {
7
+ query: string;
8
+ limit?: number;
9
+ }): Promise<GoogleMessageSummary[]>;
10
+ getMessage(params: GoogleAccountRef & {
11
+ messageId: string;
12
+ includeBody?: boolean;
13
+ }): Promise<GoogleMessageSummary>;
14
+ sendEmail(params: GoogleSendEmailInput): Promise<{
15
+ id: string;
16
+ threadId?: string;
17
+ }>;
18
+ listGmailTriageMessages(params: GoogleAccountRef & {
19
+ selfEmail?: string | null;
20
+ maxResults?: number;
21
+ }): Promise<GoogleGmailMessageSummary[]>;
22
+ searchGmailMessages(params: GoogleAccountRef & {
23
+ query: string;
24
+ selfEmail?: string | null;
25
+ maxResults?: number;
26
+ includeSpamTrash?: boolean;
27
+ }): Promise<GoogleGmailMessageSummary[]>;
28
+ getGmailMessage(params: GoogleAccountRef & {
29
+ messageId: string;
30
+ selfEmail?: string | null;
31
+ }): Promise<GoogleGmailMessageSummary | null>;
32
+ getGmailMessageDetail(params: GoogleAccountRef & {
33
+ messageId: string;
34
+ selfEmail?: string | null;
35
+ }): Promise<GoogleGmailMessageDetail | null>;
36
+ getGmailThread(params: GoogleAccountRef & {
37
+ threadId: string;
38
+ selfEmail?: string | null;
39
+ }): Promise<GoogleGmailMessageSummary[]>;
40
+ listGmailUnrespondedThreads(params: GoogleAccountRef & {
41
+ selfEmail?: string | null;
42
+ olderThanDays?: number;
43
+ maxResults?: number;
44
+ now?: Date;
45
+ }): Promise<GoogleGmailUnrespondedThread[]>;
46
+ modifyGmailMessages(params: GoogleAccountRef & {
47
+ messageIds: readonly string[];
48
+ operation: GoogleGmailBulkOperation;
49
+ labelIds?: readonly string[];
50
+ }): Promise<void>;
51
+ sendGmailReply(params: GoogleAccountRef & {
52
+ to: string[];
53
+ cc?: string[];
54
+ subject: string;
55
+ bodyText: string;
56
+ inReplyTo?: string | null;
57
+ references?: string | null;
58
+ }): Promise<GoogleGmailSendResult>;
59
+ sendGmailMessage(params: GoogleAccountRef & {
60
+ to: string[];
61
+ cc?: string[];
62
+ bcc?: string[];
63
+ subject: string;
64
+ bodyText: string;
65
+ }): Promise<GoogleGmailSendResult>;
66
+ getGmailSubscriptionHeaders(params: GoogleAccountRef & {
67
+ query?: string;
68
+ maxMessages?: number;
69
+ }): Promise<GoogleGmailSubscriptionMessageHeaders[]>;
70
+ createGmailFilterForSender(params: GoogleAccountRef & {
71
+ fromAddress: string;
72
+ trash?: boolean;
73
+ }): Promise<GoogleGmailFilterCreateResult>;
74
+ trashGmailThread(params: GoogleAccountRef & {
75
+ threadId: string;
76
+ }): Promise<void>;
77
+ modifyGmailMessageLabels(params: GoogleAccountRef & {
78
+ messageId: string;
79
+ addLabelIds?: string[];
80
+ removeLabelIds?: string[];
81
+ }): Promise<void>;
82
+ sendMailtoUnsubscribeEmail(params: GoogleAccountRef & {
83
+ mailto: GoogleParsedMailto;
84
+ }): Promise<void>;
85
+ private getMessageWithClient;
86
+ private getRichMessageWithClient;
87
+ private sendRawGmailMessage;
88
+ }
89
+ //# sourceMappingURL=gmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../src/gmail.ts"],"names":[],"mappings":"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"}