@pipedream/google_drive 3.0.0 → 3.0.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.
- package/actions/add-comment/add-comment.mjs +1 -1
- package/actions/add-file-sharing-preference/add-file-sharing-preference.mjs +1 -1
- package/actions/copy-file/copy-file.mjs +1 -1
- package/actions/create-file-from-template/create-file-from-template.mjs +1 -1
- package/actions/create-file-from-text/create-file-from-text.mjs +1 -1
- package/actions/create-folder/create-folder.mjs +1 -1
- package/actions/create-shared-drive/create-shared-drive.mjs +1 -1
- package/actions/create-text-file/create-text-file.mjs +1 -1
- package/actions/delete-comment/delete-comment.mjs +1 -1
- package/actions/delete-file/delete-file.mjs +1 -1
- package/actions/delete-reply/delete-reply.mjs +1 -1
- package/actions/delete-shared-drive/delete-shared-drive.mjs +1 -1
- package/actions/download-file/download-file.mjs +18 -10
- package/actions/find-file/find-file.mjs +1 -1
- package/actions/find-folder/find-folder.mjs +1 -1
- package/actions/find-forms/find-forms.mjs +1 -1
- package/actions/find-spreadsheets/find-spreadsheets.mjs +1 -1
- package/actions/get-comment/get-comment.mjs +1 -1
- package/actions/get-current-user/get-current-user.mjs +1 -1
- package/actions/get-file/get-file.mjs +1 -1
- package/actions/get-file-by-id/get-file-by-id.mjs +1 -1
- package/actions/get-folder-id-for-path/get-folder-id-for-path.mjs +1 -1
- package/actions/get-reply/get-reply.mjs +1 -1
- package/actions/get-shared-drive/get-shared-drive.mjs +1 -1
- package/actions/get-user-details/get-user-details.mjs +1 -1
- package/actions/is-folder-ancestor/is-folder-ancestor.mjs +1 -1
- package/actions/list-access-proposals/list-access-proposals.mjs +1 -1
- package/actions/list-comments/list-comments.mjs +1 -1
- package/actions/list-files/list-files.mjs +1 -1
- package/actions/list-mime-type-options/list-mime-type-options.mjs +1 -1
- package/actions/list-permissions/list-permissions.mjs +1 -1
- package/actions/list-replies/list-replies.mjs +1 -1
- package/actions/list-shared-drives/list-shared-drives.mjs +1 -1
- package/actions/list-theme-id-options/list-theme-id-options.mjs +1 -1
- package/actions/move-file/move-file.mjs +1 -1
- package/actions/move-file-to-trash/move-file-to-trash.mjs +1 -1
- package/actions/remove-file-sharing-permission/remove-file-sharing-permission.mjs +1 -1
- package/actions/remove-sharing/remove-sharing.mjs +1 -1
- package/actions/reply-to-comment/reply-to-comment.mjs +1 -1
- package/actions/resolve-access-proposal/resolve-access-proposal.mjs +1 -1
- package/actions/resolve-comment/resolve-comment.mjs +1 -1
- package/actions/search-files/search-files.mjs +4 -4
- package/actions/search-shared-drives/search-shared-drives.mjs +1 -1
- package/actions/share-file/share-file.mjs +1 -1
- package/actions/trash-file/trash-file.mjs +1 -1
- package/actions/update-comment/update-comment.mjs +1 -1
- package/actions/update-file/update-file.mjs +1 -1
- package/actions/update-reply/update-reply.mjs +1 -1
- package/actions/update-shared-drive/update-shared-drive.mjs +1 -1
- package/actions/upload-file/upload-file.mjs +1 -1
- package/common/utils.mjs +61 -7
- package/package.json +1 -1
- package/sources/changes-to-files-in-drive/changes-to-files-in-drive.mjs +1 -1
- package/sources/changes-to-specific-files/changes-to-specific-files.mjs +1 -1
- package/sources/changes-to-specific-files-shared-drive/changes-to-specific-files-shared-drive.mjs +1 -1
- package/sources/new-access-proposal/new-access-proposal.mjs +1 -1
- package/sources/new-files-instant/new-files-instant.mjs +1 -1
- package/sources/new-files-instant-polling/new-files-instant-polling.mjs +1 -1
- package/sources/new-files-shared-drive/new-files-shared-drive.mjs +1 -1
- package/sources/new-or-modified-comments/new-or-modified-comments.mjs +1 -1
- package/sources/new-or-modified-comments-polling/new-or-modified-comments-polling.mjs +1 -1
- package/sources/new-or-modified-files/new-or-modified-files.mjs +1 -1
- package/sources/new-or-modified-files-polling/new-or-modified-files-polling.mjs +1 -1
- package/sources/new-or-modified-folders/new-or-modified-folders.mjs +1 -1
- package/sources/new-or-modified-folders-polling/new-or-modified-folders-polling.mjs +1 -1
- package/sources/new-shared-drive/new-shared-drive.mjs +1 -1
- package/sources/new-spreadsheet/new-spreadsheet.mjs +1 -1
- package/sources/new-spreadsheet-polling/new-spreadsheet-polling.mjs +1 -1
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-add-comment",
|
|
5
5
|
name: "Add Comment",
|
|
6
6
|
description: "Add an unanchored comment to a Google Doc (general feedback, no text highlighting). [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/create)",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.12",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -20,7 +20,7 @@ export default {
|
|
|
20
20
|
name: "Share File or Folder",
|
|
21
21
|
description:
|
|
22
22
|
"Add a [sharing permission](https://support.google.com/drive/answer/7166529) to the sharing preferences of a file or folder and provide a sharing URL. [See the documentation](https://developers.google.com/drive/api/v3/reference/permissions/create)",
|
|
23
|
-
version: "0.2.
|
|
23
|
+
version: "0.2.19",
|
|
24
24
|
annotations: {
|
|
25
25
|
destructiveHint: false,
|
|
26
26
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-copy-file",
|
|
5
5
|
name: "Copy File",
|
|
6
6
|
description: "Create a copy of the specified file. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/copy) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.27",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
key: "google_drive-create-file-from-template",
|
|
10
10
|
name: "Create New File From Template",
|
|
11
11
|
description: "Create a new Google Docs file from a template. Optionally include placeholders in the template document that will get replaced from this action. [See documentation](https://www.npmjs.com/package/google-docs-mustaches)",
|
|
12
|
-
version: "0.1.
|
|
12
|
+
version: "0.1.30",
|
|
13
13
|
annotations: {
|
|
14
14
|
destructiveHint: true,
|
|
15
15
|
openWorldHint: true,
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "google_drive-create-file-from-text",
|
|
6
6
|
name: "Create New File From Text",
|
|
7
7
|
description: "Create a new file from plain text. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/create) for more information",
|
|
8
|
-
version: "0.2.
|
|
8
|
+
version: "0.2.20",
|
|
9
9
|
annotations: {
|
|
10
10
|
destructiveHint: false,
|
|
11
11
|
openWorldHint: true,
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
key: "google_drive-create-folder",
|
|
14
14
|
name: "Create Folder",
|
|
15
15
|
description: "Create a new empty folder. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/create) for more information",
|
|
16
|
-
version: "0.1.
|
|
16
|
+
version: "0.1.28",
|
|
17
17
|
annotations: {
|
|
18
18
|
destructiveHint: false,
|
|
19
19
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-create-shared-drive",
|
|
5
5
|
name: "Create Shared Drive",
|
|
6
6
|
description: "Create a new shared drive. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/create) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.28",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
+ " `mimeType = 'application/vnd.google-apps.folder'` to find the folder ID first."
|
|
13
13
|
+ " Supported content formats: plain text, Markdown, HTML, Rich Text, CSV."
|
|
14
14
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/files/create)",
|
|
15
|
-
version: "0.0.
|
|
15
|
+
version: "0.0.6",
|
|
16
16
|
type: "action",
|
|
17
17
|
ai: "optimized",
|
|
18
18
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-delete-comment",
|
|
5
5
|
name: "Delete Comment",
|
|
6
6
|
description: "Delete a specific comment (Requires ownership or permissions). [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/delete)",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.16",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: true,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Delete File",
|
|
6
6
|
description:
|
|
7
7
|
"Permanently delete a file or folder without moving it to the trash. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/delete) for more information",
|
|
8
|
-
version: "0.1.
|
|
8
|
+
version: "0.1.28",
|
|
9
9
|
annotations: {
|
|
10
10
|
destructiveHint: true,
|
|
11
11
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-delete-reply",
|
|
5
5
|
name: "Delete Reply",
|
|
6
6
|
description: "Delete a reply on a specific comment. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/delete) for more information",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.13",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: true,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-delete-shared-drive",
|
|
5
5
|
name: "Delete Shared Drive",
|
|
6
6
|
description: "Delete a shared drive without any content. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/delete) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.27",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: true,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -3,7 +3,9 @@ import fs from "fs";
|
|
|
3
3
|
import stream from "stream";
|
|
4
4
|
import { promisify } from "util";
|
|
5
5
|
import { GOOGLE_DRIVE_MIME_TYPE_PREFIX } from "../../common/constants.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
reserveUniqueFilePath, sanitizeFileName, toSingleLineString,
|
|
8
|
+
} from "../../common/utils.mjs";
|
|
7
9
|
import googleDrive from "../../google_drive.app.mjs";
|
|
8
10
|
import googleWorkspaceExportFormats from "../common/google-workspace-export-formats.mjs";
|
|
9
11
|
import {
|
|
@@ -33,7 +35,7 @@ export default {
|
|
|
33
35
|
+ " Pass `mimeType` to force a specific format. Shortcuts are resolved to their target automatically."
|
|
34
36
|
+ " Folders, Forms, and My Maps cannot be downloaded via this action."
|
|
35
37
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/manage-downloads)",
|
|
36
|
-
version: "0.2.
|
|
38
|
+
version: "0.2.4",
|
|
37
39
|
annotations: {
|
|
38
40
|
destructiveHint: false,
|
|
39
41
|
openWorldHint: true,
|
|
@@ -91,12 +93,15 @@ export default {
|
|
|
91
93
|
mimeType: {
|
|
92
94
|
type: "string",
|
|
93
95
|
label: "Conversion Format",
|
|
94
|
-
description:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Slides
|
|
99
|
-
|
|
96
|
+
description: "The MIME type to convert the downloaded file to, if it is a Google Workspace document."
|
|
97
|
+
+ " If omitted, defaults per source type: Docs → `.docx`, Sheets → `.xlsx`, Slides → `.pptx`, Drawings → `.png`, Apps Script → `.json`."
|
|
98
|
+
+ "\n\nValid values by source type (per [Google's export format reference](https://developers.google.com/workspace/drive/api/guides/ref-export-formats)):"
|
|
99
|
+
+ "\n- **Docs**: `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (.docx), `application/vnd.oasis.opendocument.text` (.odt), `application/rtf`, `application/pdf`, `text/plain`, `text/html`, `application/zip` (zipped HTML), `application/epub+zip`, `text/markdown`"
|
|
100
|
+
+ "\n- **Sheets**: `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` (.xlsx), `application/x-vnd.oasis.opendocument.spreadsheet` (.ods - note the `x-` prefix, unlike Docs/Slides), `application/pdf`, `application/zip` (zipped HTML), `text/csv` (first sheet only), `text/tab-separated-values` (first sheet only)"
|
|
101
|
+
+ "\n- **Slides**: `application/vnd.openxmlformats-officedocument.presentationml.presentation` (.pptx), `application/vnd.oasis.opendocument.presentation` (.odp), `application/pdf`, `text/plain`"
|
|
102
|
+
+ "\n- **Drawings**: `application/pdf`, `image/jpeg`, `image/png`, `image/svg+xml`"
|
|
103
|
+
+ "\n- **Apps Script**: `application/vnd.google-apps.script+json` (the only supported format)"
|
|
104
|
+
+ "\n\nExample: set to `application/pdf` to export any Workspace document as a PDF instead of the per-type default.",
|
|
100
105
|
optional: true,
|
|
101
106
|
async options() {
|
|
102
107
|
const fileId = this.fileId ?? this.fileIds?.[0];
|
|
@@ -167,6 +172,9 @@ export default {
|
|
|
167
172
|
|
|
168
173
|
const pipeline = promisify(stream.pipeline);
|
|
169
174
|
|
|
175
|
+
// Drive allows duplicate names; reserve a distinct /tmp path per file in this run.
|
|
176
|
+
const usedFilePaths = new Set();
|
|
177
|
+
|
|
170
178
|
// Downloads a single file (resolving shortcuts + Workspace export formats),
|
|
171
179
|
// either writing it to /tmp or returning its contents as a buffer.
|
|
172
180
|
const downloadOne = async (requestedFileId) => {
|
|
@@ -245,14 +253,14 @@ export default {
|
|
|
245
253
|
? this.filePath
|
|
246
254
|
: `/tmp/${this.filePath}`;
|
|
247
255
|
} else {
|
|
248
|
-
let defaultName = fileMetadata.name;
|
|
256
|
+
let defaultName = sanitizeFileName(fileMetadata.name);
|
|
249
257
|
if (isWorkspaceDocument) {
|
|
250
258
|
const ext = extensionByMime[effectiveMimeType];
|
|
251
259
|
if (ext && !defaultName.toLowerCase().endsWith(`.${ext.toLowerCase()}`)) {
|
|
252
260
|
defaultName = `${defaultName}.${ext}`;
|
|
253
261
|
}
|
|
254
262
|
}
|
|
255
|
-
filePath = `/tmp/${defaultName}
|
|
263
|
+
filePath = reserveUniqueFilePath(`/tmp/${defaultName}`, usedFilePaths);
|
|
256
264
|
}
|
|
257
265
|
|
|
258
266
|
await pipeline(file, fs.createWriteStream(filePath));
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
key: "google_drive-find-file",
|
|
7
7
|
name: "Find File",
|
|
8
8
|
description: "Search for a specific file by name. The `Search Name` field uses Google Drive's tokenized full-text matching — pass a distinctive word or short phrase rather than the full title when the name contains special characters like `&` or `'`. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information",
|
|
9
|
-
version: "0.1.
|
|
9
|
+
version: "0.1.28",
|
|
10
10
|
annotations: {
|
|
11
11
|
destructiveHint: false,
|
|
12
12
|
openWorldHint: true,
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
key: "google_drive-find-folder",
|
|
8
8
|
name: "Find Folder",
|
|
9
9
|
description: "Search for a specific folder by name. The `Search Name` field uses Google Drive's tokenized full-text matching — pass a distinctive word or short phrase rather than the full title when the name contains special characters like `&` or `'`. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information",
|
|
10
|
-
version: "0.1.
|
|
10
|
+
version: "0.1.28",
|
|
11
11
|
annotations: {
|
|
12
12
|
destructiveHint: false,
|
|
13
13
|
openWorldHint: true,
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
key: "google_drive-find-forms",
|
|
7
7
|
name: "Find Forms",
|
|
8
8
|
description: "List Google Form documents or search for a Form by name. The `Search Name` field uses Google Drive's tokenized full-text matching — pass a distinctive word or short phrase rather than the full title when the name contains special characters like `&` or `'`. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information",
|
|
9
|
-
version: "0.0.
|
|
9
|
+
version: "0.0.29",
|
|
10
10
|
annotations: {
|
|
11
11
|
destructiveHint: false,
|
|
12
12
|
openWorldHint: true,
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
key: "google_drive-find-spreadsheets",
|
|
7
7
|
name: "Find Spreadsheets",
|
|
8
8
|
description: "Search for a specific spreadsheet by name. The `Search Name` field uses Google Drive's tokenized full-text matching — pass a distinctive word or short phrase rather than the full title when the name contains special characters like `&` or `'`. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information",
|
|
9
|
-
version: "0.1.
|
|
9
|
+
version: "0.1.28",
|
|
10
10
|
annotations: {
|
|
11
11
|
destructiveHint: false,
|
|
12
12
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-get-comment",
|
|
5
5
|
name: "Get Comment By ID",
|
|
6
6
|
description: "Get comment by ID on a specific file. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/get) for more information",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.13",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
key: "google_drive-get-current-user",
|
|
7
7
|
name: "Get Current User",
|
|
8
8
|
description: "Retrieve Google Drive account metadata for the authenticated user via `about.get`, including display name, email, permission ID, and storage quota. Useful when flows or agents need to confirm the active Google identity or understand available storage. [See the documentation](https://developers.google.com/drive/api/v3/reference/about/get).",
|
|
9
|
-
version: "0.0.
|
|
9
|
+
version: "0.0.14",
|
|
10
10
|
type: "action",
|
|
11
11
|
ai: "optimized",
|
|
12
12
|
annotations: {
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
+ "\n\nCommon fields: `id`, `name`, `mimeType`, `size`, `parents`, `webViewLink`, `webContentLink`,"
|
|
12
12
|
+ " `createdTime`, `modifiedTime`, `owners`, `permissions`, `description`, `trashed`."
|
|
13
13
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/files/get)",
|
|
14
|
-
version: "0.0.
|
|
14
|
+
version: "0.0.6",
|
|
15
15
|
type: "action",
|
|
16
16
|
ai: "optimized",
|
|
17
17
|
annotations: {
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "google_drive-get-file-by-id",
|
|
6
6
|
name: "Get File By ID",
|
|
7
7
|
description: "Get info on a specific file. [See the documentation](https://developers.google.com/drive/api/reference/rest/v3/files/get) for more information",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.24",
|
|
9
9
|
annotations: {
|
|
10
10
|
destructiveHint: false,
|
|
11
11
|
openWorldHint: true,
|
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
key: "google_drive-get-folder-id-for-path",
|
|
13
13
|
name: "Get Folder ID for a Path",
|
|
14
14
|
description: "Retrieve a folderId for a path. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information",
|
|
15
|
-
version: "0.1.
|
|
15
|
+
version: "0.1.29",
|
|
16
16
|
annotations: {
|
|
17
17
|
destructiveHint: false,
|
|
18
18
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-get-reply",
|
|
5
5
|
name: "Get Reply By ID",
|
|
6
6
|
description: "Get reply by ID on a specific comment. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/get) for more information",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.13",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-get-shared-drive",
|
|
5
5
|
name: "Get Shared Drive",
|
|
6
6
|
description: "Get metadata for one or all shared drives. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/get) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.27",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
+ " When the user says 'my files' or 'my documents', call this first to get the owner email,"
|
|
11
11
|
+ " then pass it to **Search Files** with a query like `'user@example.com' in owners`."
|
|
12
12
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/about/get)",
|
|
13
|
-
version: "0.0.
|
|
13
|
+
version: "0.0.6",
|
|
14
14
|
type: "action",
|
|
15
15
|
ai: "optimized",
|
|
16
16
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-is-folder-ancestor",
|
|
5
5
|
name: "Is Folder Ancestor",
|
|
6
6
|
description: "Check if a specific folder is anywhere in the parent hierarchy of a file or folder. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/get)",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.8",
|
|
8
8
|
type: "action",
|
|
9
9
|
ai: "optimized",
|
|
10
10
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-list-access-proposals",
|
|
5
5
|
name: "List Access Proposals",
|
|
6
6
|
description: "List access proposals for a file or folder. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/accessproposals/list)",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.20",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
key: "google_drive-list-comments",
|
|
9
9
|
name: "List Comments",
|
|
10
10
|
description: "List the comments on a file, including each comment's author, plain text and HTML content, the file text it is anchored to, whether it is resolved, and its full reply thread. Use **Find File** first to resolve a file's name to its ID. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/list)",
|
|
11
|
-
version: "0.1.
|
|
11
|
+
version: "0.1.3",
|
|
12
12
|
annotations: {
|
|
13
13
|
destructiveHint: false,
|
|
14
14
|
openWorldHint: true,
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
key: "google_drive-list-files",
|
|
10
10
|
name: "List Files",
|
|
11
11
|
description: "List files from a specific folder. Set `Max Results` to cap how many files are returned per run, then pass the returned `nextPageToken` back in as `Page Token` on the next run to page through a large folder in fixed-size batches. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/list) for more information",
|
|
12
|
-
version: "1.0.
|
|
12
|
+
version: "1.0.4",
|
|
13
13
|
annotations: {
|
|
14
14
|
destructiveHint: false,
|
|
15
15
|
openWorldHint: true,
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
+ " Use this tool when the user asks 'who has access to this file?' or needs to audit sharing."
|
|
11
11
|
+ " Pass permission IDs from this response to **Remove Sharing** to revoke access."
|
|
12
12
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/permissions/list)",
|
|
13
|
-
version: "0.0.
|
|
13
|
+
version: "0.0.6",
|
|
14
14
|
type: "action",
|
|
15
15
|
ai: "optimized",
|
|
16
16
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-list-replies",
|
|
5
5
|
name: "List Replies",
|
|
6
6
|
description: "List replies to a specific comment. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/list) for more information",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.13",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
+ " Pass a drive ID to **Search Files** `driveId` parameter to search within a specific shared drive."
|
|
11
11
|
+ " Optionally filter by name using the `query` parameter (e.g., `name contains 'Engineering'`)."
|
|
12
12
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/list)",
|
|
13
|
-
version: "0.0.
|
|
13
|
+
version: "0.0.6",
|
|
14
14
|
type: "action",
|
|
15
15
|
ai: "optimized",
|
|
16
16
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-move-file",
|
|
5
5
|
name: "Move File",
|
|
6
6
|
description: "Move a file from one folder to another. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.27",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: true,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "google_drive-move-file-to-trash",
|
|
6
6
|
name: "Move File to Trash",
|
|
7
7
|
description: "Move a file or folder to trash. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update) for more information",
|
|
8
|
-
version: "0.1.
|
|
8
|
+
version: "0.1.27",
|
|
9
9
|
annotations: {
|
|
10
10
|
destructiveHint: true,
|
|
11
11
|
openWorldHint: true,
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
name: "Remove File Sharing Permission",
|
|
7
7
|
description:
|
|
8
8
|
"Remove a [sharing permission](https://support.google.com/drive/answer/7166529) from the sharing preferences of a file or folder. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/permissions/delete)",
|
|
9
|
-
version: "0.0.
|
|
9
|
+
version: "0.0.11",
|
|
10
10
|
annotations: {
|
|
11
11
|
destructiveHint: true,
|
|
12
12
|
openWorldHint: true,
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
+ " The owner permission cannot be removed."
|
|
11
11
|
+ " Use **Search Files** to find the file ID by name if needed."
|
|
12
12
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/permissions/delete)",
|
|
13
|
-
version: "0.0.
|
|
13
|
+
version: "0.0.6",
|
|
14
14
|
type: "action",
|
|
15
15
|
ai: "optimized",
|
|
16
16
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-reply-to-comment",
|
|
5
5
|
name: "Reply to Comment",
|
|
6
6
|
description: "Add a reply to an existing comment. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/create)",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.16",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "google_drive-resolve-access-proposal",
|
|
6
6
|
name: "Resolve Access Proposals",
|
|
7
7
|
description: "Accept or deny a request for access to a file or folder in Google Drive. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/accessproposals/resolve)",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.20",
|
|
9
9
|
annotations: {
|
|
10
10
|
destructiveHint: false,
|
|
11
11
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-resolve-comment",
|
|
5
5
|
name: "Resolve Comment",
|
|
6
6
|
description: "Mark a comment as resolved. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/update)",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.16",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: true,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -36,7 +36,7 @@ export default {
|
|
|
36
36
|
+ " missing and paging will not recover them — narrow the search with `driveId`."
|
|
37
37
|
+ " Prefer narrowing the `query` over paging through many batches."
|
|
38
38
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/search-files)",
|
|
39
|
-
version: "1.0.
|
|
39
|
+
version: "1.0.1",
|
|
40
40
|
type: "action",
|
|
41
41
|
ai: "optimized",
|
|
42
42
|
annotations: {
|
|
@@ -51,14 +51,14 @@ export default {
|
|
|
51
51
|
label: "Query",
|
|
52
52
|
description:
|
|
53
53
|
"A Drive search query string. See the tool description for syntax examples."
|
|
54
|
-
+ "
|
|
55
|
-
+ " `
|
|
54
|
+
+ " Conditions combine with `and`, e.g. `name contains 'keyword' and mimeType = 'application/pdf' and 'FOLDER_ID' in parents and trashed = false`."
|
|
55
|
+
+ " Use **Find Folder** to get a `FOLDER_ID` for the `in parents` filter, and **Get User Details** to get an owner email for the `in owners` filter.",
|
|
56
56
|
},
|
|
57
57
|
driveId: {
|
|
58
58
|
type: "string",
|
|
59
59
|
label: "Drive ID",
|
|
60
60
|
description:
|
|
61
|
-
"Optional. Scope the search to a specific shared drive."
|
|
61
|
+
"Optional. Scope the search to a specific shared drive, e.g. `0AIxaGWpaZzyZUk9PVA`."
|
|
62
62
|
+ " Use **List Shared Drives** to find available drive IDs."
|
|
63
63
|
+ " Omit to search across all drives (My Drive and shared drives). Example: `0AExampleDriveId`.",
|
|
64
64
|
optional: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-search-shared-drives",
|
|
5
5
|
name: "Search for Shared Drives",
|
|
6
6
|
description: "Search for shared drives with query options. [See the documentation](https://developers.google.com/drive/api/v3/search-shareddrives) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.28",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -15,7 +15,7 @@ export default {
|
|
|
15
15
|
+ "\n\n**Roles:** `reader` (view only), `commenter` (can comment), `writer` (can edit)."
|
|
16
16
|
+ " Use **List Permissions** to see existing sharing on a file."
|
|
17
17
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/permissions/create)",
|
|
18
|
-
version: "0.0.
|
|
18
|
+
version: "0.0.6",
|
|
19
19
|
type: "action",
|
|
20
20
|
ai: "optimized",
|
|
21
21
|
annotations: {
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
+ " Use this instead of permanent deletion as the safer default."
|
|
11
11
|
+ " To find trashed files, use **Search Files** with `trashed = true`."
|
|
12
12
|
+ " [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update)",
|
|
13
|
-
version: "0.0.
|
|
13
|
+
version: "0.0.6",
|
|
14
14
|
type: "action",
|
|
15
15
|
ai: "optimized",
|
|
16
16
|
annotations: {
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-update-comment",
|
|
5
5
|
name: "Update Comment",
|
|
6
6
|
description: "Update the content of a specific comment. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/comments/update) for more information",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.13",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
key: "google_drive-update-file",
|
|
7
7
|
name: "Update File",
|
|
8
8
|
description: "Update a file's metadata and/or content. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update) for more information",
|
|
9
|
-
version: "2.0.
|
|
9
|
+
version: "2.0.19",
|
|
10
10
|
annotations: {
|
|
11
11
|
destructiveHint: true,
|
|
12
12
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-update-reply",
|
|
5
5
|
name: "Update Reply",
|
|
6
6
|
description: "Update a reply on a specific comment. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/replies/update) for more information",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.13",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: false,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -4,7 +4,7 @@ export default {
|
|
|
4
4
|
key: "google_drive-update-shared-drive",
|
|
5
5
|
name: "Update Shared Drive",
|
|
6
6
|
description: "Update an existing shared drive. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/update) for more information",
|
|
7
|
-
version: "0.1.
|
|
7
|
+
version: "0.1.27",
|
|
8
8
|
annotations: {
|
|
9
9
|
destructiveHint: true,
|
|
10
10
|
openWorldHint: true,
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
key: "google_drive-upload-file",
|
|
14
14
|
name: "Upload File",
|
|
15
15
|
description: "Upload a file to Google Drive. [See the documentation](https://developers.google.com/drive/api/v3/manage-uploads) for more information",
|
|
16
|
-
version: "2.0.
|
|
16
|
+
version: "2.0.19",
|
|
17
17
|
annotations: {
|
|
18
18
|
destructiveHint: false,
|
|
19
19
|
openWorldHint: true,
|
package/common/utils.mjs
CHANGED
|
@@ -62,15 +62,14 @@ function getListFilesOpts(drive, baseOpts = {}) {
|
|
|
62
62
|
|
|
63
63
|
if (drive && !isMyDrive(drive)) {
|
|
64
64
|
return {
|
|
65
|
-
// Google's `files.list` API requires `includeItemsFromAllDrives: true`
|
|
66
|
-
// whenever `driveId` is set or `corpora` is `drive`/`allDrives`.
|
|
67
|
-
// Placed before the spread so callers (e.g. list-files's
|
|
68
|
-
// `limitToMyDrive` toggle) can still override.
|
|
69
|
-
includeItemsFromAllDrives: true,
|
|
70
65
|
...rest,
|
|
71
66
|
corpora: "drive",
|
|
72
67
|
driveId: getDriveId(drive),
|
|
73
68
|
supportsAllDrives: true,
|
|
69
|
+
// Google's `files.list` API requires `includeItemsFromAllDrives: true`
|
|
70
|
+
// whenever `driveId` is set or `corpora` is `drive`/`allDrives`.
|
|
71
|
+
// Placed AFTER the spread so callers cannot downgrade this required value.
|
|
72
|
+
includeItemsFromAllDrives: true,
|
|
74
73
|
};
|
|
75
74
|
}
|
|
76
75
|
|
|
@@ -81,12 +80,15 @@ function getListFilesOpts(drive, baseOpts = {}) {
|
|
|
81
80
|
};
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
// No specific drive selected
|
|
83
|
+
// No specific drive selected - search across all drives by default.
|
|
85
84
|
return {
|
|
86
|
-
includeItemsFromAllDrives: true,
|
|
87
85
|
...rest,
|
|
88
86
|
corpora: "allDrives",
|
|
89
87
|
supportsAllDrives: true,
|
|
88
|
+
// Google's `files.list` API requires `includeItemsFromAllDrives: true`
|
|
89
|
+
// when `corpora` is `allDrives`. Placed AFTER the spread so callers
|
|
90
|
+
// cannot downgrade this required value.
|
|
91
|
+
includeItemsFromAllDrives: true,
|
|
90
92
|
};
|
|
91
93
|
}
|
|
92
94
|
|
|
@@ -297,6 +299,56 @@ function parseObjectEntries(value = {}) {
|
|
|
297
299
|
);
|
|
298
300
|
}
|
|
299
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Reserves a unique path among a set of paths already used in the current run,
|
|
304
|
+
* appending a numeric suffix (before the extension, if any) when `candidatePath`
|
|
305
|
+
* collides with one already reserved. Useful when generating file paths from
|
|
306
|
+
* user-controlled or duplicate-prone names (e.g. two Drive files sharing a
|
|
307
|
+
* name), so they don't silently overwrite one another on disk.
|
|
308
|
+
*
|
|
309
|
+
* @param {String} candidatePath the path to reserve
|
|
310
|
+
* @param {Set<String>} usedPaths paths already reserved in the current run;
|
|
311
|
+
* mutated in place to add whichever path is returned
|
|
312
|
+
* @returns `candidatePath` unchanged if it hasn't been used yet, otherwise a
|
|
313
|
+
* variant with a `" (n)"` suffix inserted before the extension
|
|
314
|
+
*/
|
|
315
|
+
function reserveUniqueFilePath(candidatePath, usedPaths) {
|
|
316
|
+
if (!usedPaths.has(candidatePath)) {
|
|
317
|
+
usedPaths.add(candidatePath);
|
|
318
|
+
return candidatePath;
|
|
319
|
+
}
|
|
320
|
+
const lastDot = candidatePath.lastIndexOf(".");
|
|
321
|
+
const lastSlash = candidatePath.lastIndexOf("/");
|
|
322
|
+
const hasExt = lastDot > lastSlash;
|
|
323
|
+
const base = hasExt
|
|
324
|
+
? candidatePath.slice(0, lastDot)
|
|
325
|
+
: candidatePath;
|
|
326
|
+
const ext = hasExt
|
|
327
|
+
? candidatePath.slice(lastDot)
|
|
328
|
+
: "";
|
|
329
|
+
let suffix = 2;
|
|
330
|
+
let uniquePath;
|
|
331
|
+
do {
|
|
332
|
+
uniquePath = `${base} (${suffix})${ext}`;
|
|
333
|
+
suffix += 1;
|
|
334
|
+
} while (usedPaths.has(uniquePath));
|
|
335
|
+
usedPaths.add(uniquePath);
|
|
336
|
+
return uniquePath;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// Drive allows "/" and arbitrary length in names; neither is valid in a single path segment.
|
|
340
|
+
function sanitizeFileName(name) {
|
|
341
|
+
const safe = Buffer.from(name.replace(/[/\\\0]/g, "_"))
|
|
342
|
+
.subarray(0, 200)
|
|
343
|
+
.toString()
|
|
344
|
+
// Drop a multi-byte character split by the byte cut.
|
|
345
|
+
.replace(/�+$/, "");
|
|
346
|
+
if (!safe || safe === "." || safe === "..") {
|
|
347
|
+
return "_";
|
|
348
|
+
}
|
|
349
|
+
return safe;
|
|
350
|
+
}
|
|
351
|
+
|
|
300
352
|
async function stashFile(item, googleDrive, dir) {
|
|
301
353
|
const fileMetadata = await googleDrive.getFile(item.id, {
|
|
302
354
|
fields: "name,mimeType",
|
|
@@ -396,6 +448,8 @@ export {
|
|
|
396
448
|
omitEmptyStringValues,
|
|
397
449
|
parseObjectEntries,
|
|
398
450
|
parseRfc3339,
|
|
451
|
+
reserveUniqueFilePath,
|
|
452
|
+
sanitizeFileName,
|
|
399
453
|
stashFile,
|
|
400
454
|
streamToBuffer,
|
|
401
455
|
toSingleLineString,
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@ export default {
|
|
|
14
14
|
key: "google_drive-changes-to-files-in-drive",
|
|
15
15
|
name: "Changes to Files in Drive",
|
|
16
16
|
description: "Emit new event when a change is made to one of the specified files. [See the documentation](https://developers.google.com/drive/api/v3/reference/changes/watch)",
|
|
17
|
-
version: "0.0.
|
|
17
|
+
version: "0.0.15",
|
|
18
18
|
type: "source",
|
|
19
19
|
dedupe: "unique",
|
|
20
20
|
props: {
|
|
@@ -16,7 +16,7 @@ export default {
|
|
|
16
16
|
key: "google_drive-changes-to-specific-files",
|
|
17
17
|
name: "Changes to Specific Files",
|
|
18
18
|
description: "Watches for changes to specific files, emitting an event when a change is made to one of those files. To watch for changes to [shared drive](https://support.google.com/a/users/answer/9310351) files, use the **Changes to Specific Files (Shared Drive)** source instead.",
|
|
19
|
-
version: "0.3.
|
|
19
|
+
version: "0.3.13",
|
|
20
20
|
type: "source",
|
|
21
21
|
// Dedupe events based on the "x-goog-message-number" header for the target channel:
|
|
22
22
|
// https://developers.google.com/drive/api/v3/push#making-watch-requests
|
package/sources/changes-to-specific-files-shared-drive/changes-to-specific-files-shared-drive.mjs
CHANGED
|
@@ -29,7 +29,7 @@ export default {
|
|
|
29
29
|
key: "google_drive-changes-to-specific-files-shared-drive",
|
|
30
30
|
name: "Changes to Specific Files (Shared Drive)",
|
|
31
31
|
description: "Watches for changes to specific files in a shared drive, emitting an event when a change is made to one of those files",
|
|
32
|
-
version: "0.3.
|
|
32
|
+
version: "0.3.15",
|
|
33
33
|
type: "source",
|
|
34
34
|
// Dedupe events based on the "x-goog-message-number" header for the target channel:
|
|
35
35
|
// https://developers.google.com/drive/api/v3/push#making-watch-requests
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
key: "google_drive-new-access-proposal",
|
|
7
7
|
name: "New Access Proposal",
|
|
8
8
|
description: "Emit new event when a new access proposal is requested in Google Drive",
|
|
9
|
-
version: "0.0.
|
|
9
|
+
version: "0.0.18",
|
|
10
10
|
type: "source",
|
|
11
11
|
dedupe: "unique",
|
|
12
12
|
props: {
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
key: "google_drive-new-files-instant",
|
|
12
12
|
name: "New Files (Instant)",
|
|
13
13
|
description: "Emit new event when a new file is added in your linked Google Drive",
|
|
14
|
-
version: "0.2.
|
|
14
|
+
version: "0.2.15",
|
|
15
15
|
type: "source",
|
|
16
16
|
dedupe: "unique",
|
|
17
17
|
props: {
|
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
key: "google_drive-new-files-instant-polling",
|
|
9
9
|
name: "New Files (Polling)",
|
|
10
10
|
description: "Emit new event when a new file is added in your linked Google Drive",
|
|
11
|
-
version: "0.0.
|
|
11
|
+
version: "0.0.13",
|
|
12
12
|
type: "source",
|
|
13
13
|
dedupe: "unique",
|
|
14
14
|
props: {
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
key: "google_drive-new-files-shared-drive",
|
|
8
8
|
name: "New Files (Shared Drive)",
|
|
9
9
|
description: "Emit new event when a new file is added in your shared Google Drive",
|
|
10
|
-
version: "0.1.
|
|
10
|
+
version: "0.1.15",
|
|
11
11
|
type: "source",
|
|
12
12
|
dedupe: "unique",
|
|
13
13
|
props: {
|
|
@@ -18,7 +18,7 @@ export default {
|
|
|
18
18
|
name: "New or Modified Comments (Instant)",
|
|
19
19
|
description:
|
|
20
20
|
"Emit new event when a comment is created or modified in the selected file",
|
|
21
|
-
version: "1.0.
|
|
21
|
+
version: "1.0.24",
|
|
22
22
|
type: "source",
|
|
23
23
|
// Dedupe events based on the "x-goog-message-number" header for the target channel:
|
|
24
24
|
// https://developers.google.com/drive/api/v3/push#making-watch-requests
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
key: "google_drive-new-or-modified-comments-polling",
|
|
8
8
|
name: "New or Modified Comments (Polling)",
|
|
9
9
|
description: "Emit new event when a comment is created or modified in the selected file",
|
|
10
|
-
version: "0.0.
|
|
10
|
+
version: "0.0.13",
|
|
11
11
|
type: "source",
|
|
12
12
|
dedupe: "unique",
|
|
13
13
|
props: {
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
key: "google_drive-new-or-modified-files",
|
|
27
27
|
name: "New or Modified Files (Instant)",
|
|
28
28
|
description: "Emit new event when a file in the selected Drive is created, modified or trashed.",
|
|
29
|
-
version: "0.4.
|
|
29
|
+
version: "0.4.15",
|
|
30
30
|
type: "source",
|
|
31
31
|
// Dedupe events based on the "x-goog-message-number" header for the target channel:
|
|
32
32
|
// https://developers.google.com/drive/api/v3/push#making-watch-requests
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
key: "google_drive-new-or-modified-files-polling",
|
|
10
10
|
name: "New or Modified Files (Polling)",
|
|
11
11
|
description: "Emit new event when a file in the selected Drive is created, modified or trashed. [See the documentation](https://developers.google.com/drive/api/v3/reference/changes/list)",
|
|
12
|
-
version: "0.0.
|
|
12
|
+
version: "0.0.15",
|
|
13
13
|
type: "source",
|
|
14
14
|
dedupe: "unique",
|
|
15
15
|
props: {
|
|
@@ -21,7 +21,7 @@ export default {
|
|
|
21
21
|
key: "google_drive-new-or-modified-folders",
|
|
22
22
|
name: "New or Modified Folders (Instant)",
|
|
23
23
|
description: "Emit new event when a folder is created or modified in the selected Drive",
|
|
24
|
-
version: "0.2.
|
|
24
|
+
version: "0.2.18",
|
|
25
25
|
type: "source",
|
|
26
26
|
// Dedupe events based on the "x-goog-message-number" header for the target channel:
|
|
27
27
|
// https://developers.google.com/drive/api/v3/push#making-watch-requests
|
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
key: "google_drive-new-or-modified-folders-polling",
|
|
13
13
|
name: "New or Modified Folders (Polling)",
|
|
14
14
|
description: "Emit new event when a folder is created or modified in the selected Drive",
|
|
15
|
-
version: "0.0.
|
|
15
|
+
version: "0.0.14",
|
|
16
16
|
type: "source",
|
|
17
17
|
dedupe: "unique",
|
|
18
18
|
props: {
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
type: "source",
|
|
7
7
|
name: "New Spreadsheet (Instant)",
|
|
8
8
|
description: "Emit new event when a new spreadsheet is created in a drive.",
|
|
9
|
-
version: "0.1.
|
|
9
|
+
version: "0.1.28",
|
|
10
10
|
props: {
|
|
11
11
|
googleDrive: newFilesInstant.props.googleDrive,
|
|
12
12
|
db: newFilesInstant.props.db,
|
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
key: "google_drive-new-spreadsheet-polling",
|
|
9
9
|
name: "New Spreadsheet (Polling)",
|
|
10
10
|
description: "Emit new event when a new spreadsheet is created in a drive.",
|
|
11
|
-
version: "0.0.
|
|
11
|
+
version: "0.0.13",
|
|
12
12
|
type: "source",
|
|
13
13
|
dedupe: "unique",
|
|
14
14
|
props: {
|