mcp-google-multi 5.4.1-alpha.2 → 6.0.0-alpha.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 +21 -16
- package/dist/accounts.d.ts +44 -5
- package/dist/accounts.js +267 -25
- package/dist/auth.d.ts +11 -4
- package/dist/auth.js +85 -78
- package/dist/client-config.d.ts +90 -0
- package/dist/client-config.js +282 -0
- package/dist/client.js +10 -4
- package/dist/config-file.d.ts +38 -0
- package/dist/config-file.js +117 -0
- package/dist/discover.js +57 -3
- package/dist/doctor.d.ts +86 -0
- package/dist/doctor.js +384 -0
- package/dist/env-load.d.ts +11 -0
- package/dist/env-load.js +52 -0
- package/dist/executor.d.ts +2 -0
- package/dist/executor.js +2 -1
- package/dist/fanout.js +8 -5
- package/dist/fs-atomic.d.ts +3 -0
- package/dist/fs-atomic.js +123 -0
- package/dist/http-config.d.ts +35 -0
- package/dist/http-config.js +113 -0
- package/dist/http-transport.d.ts +59 -0
- package/dist/http-transport.js +269 -0
- package/dist/identity.d.ts +24 -0
- package/dist/identity.js +19 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +199 -18
- package/dist/master-key.d.ts +53 -0
- package/dist/master-key.js +242 -0
- package/dist/mcp-token.d.ts +81 -0
- package/dist/mcp-token.js +176 -0
- package/dist/migrate-config.d.ts +7 -0
- package/dist/migrate-config.js +103 -0
- package/dist/migrate-tokens.js +4 -3
- package/dist/net-tuning.d.ts +8 -0
- package/dist/net-tuning.js +25 -0
- package/dist/oauth-as.d.ts +52 -0
- package/dist/oauth-as.js +457 -0
- package/dist/oauth-consent.d.ts +28 -0
- package/dist/oauth-consent.js +109 -0
- package/dist/open-url.d.ts +1 -0
- package/dist/open-url.js +30 -0
- package/dist/reauth-hint.d.ts +2 -0
- package/dist/reauth-hint.js +15 -0
- package/dist/registry-transfer.d.ts +41 -0
- package/dist/registry-transfer.js +219 -0
- package/dist/registry.d.ts +27 -1
- package/dist/registry.js +117 -6
- package/dist/scope-catalog.d.ts +19 -0
- package/dist/scope-catalog.js +182 -0
- package/dist/scope-observability.d.ts +78 -0
- package/dist/scope-observability.js +192 -0
- package/dist/services.js +1 -1
- package/dist/setup-prompt.d.ts +9 -0
- package/dist/setup-prompt.js +59 -0
- package/dist/ssrf-guard.d.ts +48 -0
- package/dist/ssrf-guard.js +242 -0
- package/dist/token-store.js +23 -125
- package/dist/tools/_errors.d.ts +8 -2
- package/dist/tools/_errors.js +97 -6
- package/dist/tools/account-wizard.d.ts +33 -0
- package/dist/tools/account-wizard.js +284 -0
- package/dist/tools/accounts-tool.d.ts +8 -5
- package/dist/tools/accounts-tool.js +38 -15
- package/dist/tools/admin.js +2 -2
- package/dist/tools/calendar.js +2 -2
- package/dist/tools/chat.js +2 -2
- package/dist/tools/contacts.d.ts +40 -0
- package/dist/tools/contacts.js +135 -2
- package/dist/tools/docs.d.ts +3 -0
- package/dist/tools/docs.js +60 -9
- package/dist/tools/drive.d.ts +3 -0
- package/dist/tools/drive.js +60 -8
- package/dist/tools/forms.js +4 -2
- package/dist/tools/generated/_shared.d.ts +1 -3
- package/dist/tools/generated/_shared.js +3 -3
- package/dist/tools/generated/admin.js +175 -132
- package/dist/tools/generated/appsmarket.js +6 -2
- package/dist/tools/generated/calendar.js +45 -27
- package/dist/tools/generated/chat.js +81 -47
- package/dist/tools/generated/classroom.js +131 -104
- package/dist/tools/generated/cloudidentity.js +73 -61
- package/dist/tools/generated/cloudsearch.js +59 -49
- package/dist/tools/generated/contacts.js +22 -14
- package/dist/tools/generated/drive.js +51 -35
- package/dist/tools/generated/driveactivity.js +5 -1
- package/dist/tools/generated/drivelabels.js +30 -25
- package/dist/tools/generated/forms.js +7 -3
- package/dist/tools/generated/gmail.js +73 -58
- package/dist/tools/generated/groupsmigration.js +5 -1
- package/dist/tools/generated/groupssettings.js +7 -3
- package/dist/tools/generated/keep.js +12 -7
- package/dist/tools/generated/licensing.js +11 -7
- package/dist/tools/generated/meet.js +20 -13
- package/dist/tools/generated/postmaster.js +8 -4
- package/dist/tools/generated/reseller.js +22 -17
- package/dist/tools/generated/script.js +26 -16
- package/dist/tools/generated/sheets.js +11 -7
- package/dist/tools/generated/tasks.js +6 -2
- package/dist/tools/generated/vault.js +38 -33
- package/dist/tools/generated/workspaceevents.js +12 -7
- package/dist/tools/gmail-mime.d.ts +38 -8
- package/dist/tools/gmail-mime.js +75 -71
- package/dist/tools/gmail.d.ts +31 -0
- package/dist/tools/gmail.js +483 -99
- package/dist/tools/google-api.js +7 -4
- package/dist/tools/meet.js +2 -2
- package/dist/tools/searchconsole.js +2 -2
- package/dist/tools/sheets.js +6 -2
- package/dist/tools/slides.js +4 -2
- package/dist/tools/tasks.js +2 -2
- package/dist/types.d.ts +1 -1
- package/dist/write-control.d.ts +24 -1
- package/dist/write-control.js +26 -1
- package/package.json +26 -7
|
@@ -3,11 +3,16 @@ import { z } from 'zod';
|
|
|
3
3
|
import { coerceBoolean, coerceJson } from '../_coerce.js';
|
|
4
4
|
import { accountField, registerGeneratedTool } from './_shared.js';
|
|
5
5
|
export function registerDrivelabelsGeneratedTools(registry) {
|
|
6
|
+
// Interned method scope sets (shared across tools; see scope-observability).
|
|
7
|
+
const S_drivelabels_v2 = [
|
|
8
|
+
["https://www.googleapis.com/auth/drive.admin.labels", "https://www.googleapis.com/auth/drive.labels"],
|
|
9
|
+
["https://www.googleapis.com/auth/drive.admin.labels", "https://www.googleapis.com/auth/drive.admin.labels.readonly", "https://www.googleapis.com/auth/drive.labels", "https://www.googleapis.com/auth/drive.labels.readonly"],
|
|
10
|
+
];
|
|
6
11
|
registerGeneratedTool(registry, {
|
|
7
12
|
name: "drivelabels_labels_create",
|
|
8
13
|
cud: "create",
|
|
9
14
|
description: "Creates a label. For more information, see [Create and publish a label](https://developers.google.com/workspace/drive/labels/guides/create-label).",
|
|
10
|
-
method: { id: "drivelabels.labels.create", httpMethod: "POST", path: "v2/labels", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: [] },
|
|
15
|
+
method: { id: "drivelabels.labels.create", httpMethod: "POST", path: "v2/labels", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: [], scopes: S_drivelabels_v2[0] },
|
|
11
16
|
params: [{ "field": "languageCode", "api": "languageCode", "location": "query" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
12
17
|
hasBody: true,
|
|
13
18
|
shape: {
|
|
@@ -22,7 +27,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
22
27
|
name: "drivelabels_labels_delete",
|
|
23
28
|
cud: "delete",
|
|
24
29
|
description: "Permanently deletes a label and related metadata on Drive items. For more information, see [Disable, enable, and delete a label](https://developers.google.com/w",
|
|
25
|
-
method: { id: "drivelabels.labels.delete", httpMethod: "DELETE", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
30
|
+
method: { id: "drivelabels.labels.delete", httpMethod: "DELETE", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
26
31
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "writeControl.requiredRevisionId", "api": "writeControl.requiredRevisionId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
27
32
|
hasBody: false,
|
|
28
33
|
shape: {
|
|
@@ -37,7 +42,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
37
42
|
name: "drivelabels_labels_delta",
|
|
38
43
|
cud: "create",
|
|
39
44
|
description: "Updates a single label by applying a set of update requests resulting in a new draft revision. For more information, see [Update a label](https://developers.goo",
|
|
40
|
-
method: { id: "drivelabels.labels.delta", httpMethod: "POST", path: "v2/{+name}:delta", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
45
|
+
method: { id: "drivelabels.labels.delta", httpMethod: "POST", path: "v2/{+name}:delta", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
41
46
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
42
47
|
hasBody: true,
|
|
43
48
|
shape: {
|
|
@@ -51,7 +56,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
51
56
|
name: "drivelabels_labels_disable",
|
|
52
57
|
cud: "create",
|
|
53
58
|
description: "Disable a published label. For more information, see [Disable, enable, and delete a label](https://developers.google.com/workspace/drive/labels/guides/disable-d",
|
|
54
|
-
method: { id: "drivelabels.labels.disable", httpMethod: "POST", path: "v2/{+name}:disable", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
59
|
+
method: { id: "drivelabels.labels.disable", httpMethod: "POST", path: "v2/{+name}:disable", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
55
60
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
56
61
|
hasBody: true,
|
|
57
62
|
shape: {
|
|
@@ -65,7 +70,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
65
70
|
name: "drivelabels_labels_enable",
|
|
66
71
|
cud: "create",
|
|
67
72
|
description: "Enable a disabled label and restore it to its published state. For more information, see [Disable, enable, and delete a label](https://developers.google.com/wor",
|
|
68
|
-
method: { id: "drivelabels.labels.enable", httpMethod: "POST", path: "v2/{+name}:enable", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
73
|
+
method: { id: "drivelabels.labels.enable", httpMethod: "POST", path: "v2/{+name}:enable", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
69
74
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
70
75
|
hasBody: true,
|
|
71
76
|
shape: {
|
|
@@ -79,7 +84,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
79
84
|
name: "drivelabels_labels_get",
|
|
80
85
|
cud: "read",
|
|
81
86
|
description: "Get a label by its resource name. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label). Resou",
|
|
82
|
-
method: { id: "drivelabels.labels.get", httpMethod: "GET", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
87
|
+
method: { id: "drivelabels.labels.get", httpMethod: "GET", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[1] },
|
|
83
88
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "languageCode", "api": "languageCode", "location": "query" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "view", "api": "view", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
84
89
|
hasBody: false,
|
|
85
90
|
shape: {
|
|
@@ -95,7 +100,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
95
100
|
name: "drivelabels_labels_list",
|
|
96
101
|
cud: "read",
|
|
97
102
|
description: "List labels. For more information, see [Search for labels](https://developers.google.com/workspace/drive/labels/guides/search-label).",
|
|
98
|
-
method: { id: "drivelabels.labels.list", httpMethod: "GET", path: "v2/labels", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: [] },
|
|
103
|
+
method: { id: "drivelabels.labels.list", httpMethod: "GET", path: "v2/labels", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: [], scopes: S_drivelabels_v2[1] },
|
|
99
104
|
params: [{ "field": "customer", "api": "customer", "location": "query" }, { "field": "languageCode", "api": "languageCode", "location": "query" }, { "field": "minimumRole", "api": "minimumRole", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "publishedOnly", "api": "publishedOnly", "location": "query" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "view", "api": "view", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
100
105
|
hasBody: false,
|
|
101
106
|
shape: {
|
|
@@ -115,7 +120,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
115
120
|
name: "drivelabels_labels_locks_list",
|
|
116
121
|
cud: "read",
|
|
117
122
|
description: "Lists the label locks on a label.",
|
|
118
|
-
method: { id: "drivelabels.labels.locks.list", httpMethod: "GET", path: "v2/{+parent}/locks", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
123
|
+
method: { id: "drivelabels.labels.locks.list", httpMethod: "GET", path: "v2/{+parent}/locks", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[1] },
|
|
119
124
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
120
125
|
hasBody: false,
|
|
121
126
|
shape: {
|
|
@@ -130,7 +135,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
130
135
|
name: "drivelabels_labels_permissions_batch_delete",
|
|
131
136
|
cud: "delete",
|
|
132
137
|
description: "Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.",
|
|
133
|
-
method: { id: "drivelabels.labels.permissions.batchDelete", httpMethod: "POST", path: "v2/{+parent}/permissions:batchDelete", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
138
|
+
method: { id: "drivelabels.labels.permissions.batchDelete", httpMethod: "POST", path: "v2/{+parent}/permissions:batchDelete", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
134
139
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
135
140
|
hasBody: true,
|
|
136
141
|
shape: {
|
|
@@ -144,7 +149,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
144
149
|
name: "drivelabels_labels_permissions_batch_update",
|
|
145
150
|
cud: "create",
|
|
146
151
|
description: "Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is update",
|
|
147
|
-
method: { id: "drivelabels.labels.permissions.batchUpdate", httpMethod: "POST", path: "v2/{+parent}/permissions:batchUpdate", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
152
|
+
method: { id: "drivelabels.labels.permissions.batchUpdate", httpMethod: "POST", path: "v2/{+parent}/permissions:batchUpdate", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
148
153
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
149
154
|
hasBody: true,
|
|
150
155
|
shape: {
|
|
@@ -158,7 +163,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
158
163
|
name: "drivelabels_labels_permissions_create",
|
|
159
164
|
cud: "create",
|
|
160
165
|
description: "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is up",
|
|
161
|
-
method: { id: "drivelabels.labels.permissions.create", httpMethod: "POST", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
166
|
+
method: { id: "drivelabels.labels.permissions.create", httpMethod: "POST", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
162
167
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
163
168
|
hasBody: true,
|
|
164
169
|
shape: {
|
|
@@ -173,7 +178,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
173
178
|
name: "drivelabels_labels_permissions_delete",
|
|
174
179
|
cud: "delete",
|
|
175
180
|
description: "Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.",
|
|
176
|
-
method: { id: "drivelabels.labels.permissions.delete", httpMethod: "DELETE", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
181
|
+
method: { id: "drivelabels.labels.permissions.delete", httpMethod: "DELETE", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
177
182
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
178
183
|
hasBody: false,
|
|
179
184
|
shape: {
|
|
@@ -187,7 +192,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
187
192
|
name: "drivelabels_labels_permissions_list",
|
|
188
193
|
cud: "read",
|
|
189
194
|
description: "Lists a label's permissions.",
|
|
190
|
-
method: { id: "drivelabels.labels.permissions.list", httpMethod: "GET", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
195
|
+
method: { id: "drivelabels.labels.permissions.list", httpMethod: "GET", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[1] },
|
|
191
196
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
192
197
|
hasBody: false,
|
|
193
198
|
shape: {
|
|
@@ -203,7 +208,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
203
208
|
name: "drivelabels_labels_publish",
|
|
204
209
|
cud: "update",
|
|
205
210
|
description: "Publish all draft changes to the label. Once published, the label may not return to its draft state. For more information, see [Create and publish a label](http",
|
|
206
|
-
method: { id: "drivelabels.labels.publish", httpMethod: "POST", path: "v2/{+name}:publish", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
211
|
+
method: { id: "drivelabels.labels.publish", httpMethod: "POST", path: "v2/{+name}:publish", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
207
212
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
208
213
|
hasBody: true,
|
|
209
214
|
shape: {
|
|
@@ -217,7 +222,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
217
222
|
name: "drivelabels_labels_revisions_locks_list",
|
|
218
223
|
cud: "read",
|
|
219
224
|
description: "Lists the label locks on a label.",
|
|
220
|
-
method: { id: "drivelabels.labels.revisions.locks.list", httpMethod: "GET", path: "v2/{+parent}/locks", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
225
|
+
method: { id: "drivelabels.labels.revisions.locks.list", httpMethod: "GET", path: "v2/{+parent}/locks", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[1] },
|
|
221
226
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
222
227
|
hasBody: false,
|
|
223
228
|
shape: {
|
|
@@ -232,7 +237,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
232
237
|
name: "drivelabels_labels_revisions_permissions_batch_delete",
|
|
233
238
|
cud: "delete",
|
|
234
239
|
description: "Deletes label permissions. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.",
|
|
235
|
-
method: { id: "drivelabels.labels.revisions.permissions.batchDelete", httpMethod: "POST", path: "v2/{+parent}/permissions:batchDelete", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
240
|
+
method: { id: "drivelabels.labels.revisions.permissions.batchDelete", httpMethod: "POST", path: "v2/{+parent}/permissions:batchDelete", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
236
241
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
237
242
|
hasBody: true,
|
|
238
243
|
shape: {
|
|
@@ -246,7 +251,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
246
251
|
name: "drivelabels_labels_revisions_permissions_batch_update",
|
|
247
252
|
cud: "create",
|
|
248
253
|
description: "Updates label permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is update",
|
|
249
|
-
method: { id: "drivelabels.labels.revisions.permissions.batchUpdate", httpMethod: "POST", path: "v2/{+parent}/permissions:batchUpdate", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
254
|
+
method: { id: "drivelabels.labels.revisions.permissions.batchUpdate", httpMethod: "POST", path: "v2/{+parent}/permissions:batchUpdate", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
250
255
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
251
256
|
hasBody: true,
|
|
252
257
|
shape: {
|
|
@@ -260,7 +265,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
260
265
|
name: "drivelabels_labels_revisions_permissions_create",
|
|
261
266
|
cud: "create",
|
|
262
267
|
description: "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is up",
|
|
263
|
-
method: { id: "drivelabels.labels.revisions.permissions.create", httpMethod: "POST", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
268
|
+
method: { id: "drivelabels.labels.revisions.permissions.create", httpMethod: "POST", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
264
269
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
265
270
|
hasBody: true,
|
|
266
271
|
shape: {
|
|
@@ -275,7 +280,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
275
280
|
name: "drivelabels_labels_revisions_permissions_delete",
|
|
276
281
|
cud: "delete",
|
|
277
282
|
description: "Deletes a label's permission. Permissions affect the label resource as a whole, aren't revisioned, and don't require publishing.",
|
|
278
|
-
method: { id: "drivelabels.labels.revisions.permissions.delete", httpMethod: "DELETE", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
283
|
+
method: { id: "drivelabels.labels.revisions.permissions.delete", httpMethod: "DELETE", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
279
284
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
280
285
|
hasBody: false,
|
|
281
286
|
shape: {
|
|
@@ -289,7 +294,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
289
294
|
name: "drivelabels_labels_revisions_permissions_list",
|
|
290
295
|
cud: "read",
|
|
291
296
|
description: "Lists a label's permissions.",
|
|
292
|
-
method: { id: "drivelabels.labels.revisions.permissions.list", httpMethod: "GET", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
297
|
+
method: { id: "drivelabels.labels.revisions.permissions.list", httpMethod: "GET", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[1] },
|
|
293
298
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
294
299
|
hasBody: false,
|
|
295
300
|
shape: {
|
|
@@ -305,7 +310,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
305
310
|
name: "drivelabels_labels_revisions_update_permissions",
|
|
306
311
|
cud: "update",
|
|
307
312
|
description: "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is up",
|
|
308
|
-
method: { id: "drivelabels.labels.revisions.updatePermissions", httpMethod: "PATCH", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
313
|
+
method: { id: "drivelabels.labels.revisions.updatePermissions", httpMethod: "PATCH", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
309
314
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
310
315
|
hasBody: true,
|
|
311
316
|
shape: {
|
|
@@ -320,7 +325,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
320
325
|
name: "drivelabels_labels_update_label_copy_mode",
|
|
321
326
|
cud: "update",
|
|
322
327
|
description: "Updates a label's `CopyMode`. Changes to this policy aren't revisioned, don't require publishing, and take effect immediately.",
|
|
323
|
-
method: { id: "drivelabels.labels.updateLabelCopyMode", httpMethod: "POST", path: "v2/{+name}:updateLabelCopyMode", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
328
|
+
method: { id: "drivelabels.labels.updateLabelCopyMode", httpMethod: "POST", path: "v2/{+name}:updateLabelCopyMode", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
324
329
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
325
330
|
hasBody: true,
|
|
326
331
|
shape: {
|
|
@@ -348,7 +353,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
348
353
|
name: "drivelabels_labels_update_permissions",
|
|
349
354
|
cud: "update",
|
|
350
355
|
description: "Updates a label's permissions. If a permission for the indicated principal doesn't exist, a label permission is created, otherwise the existing permission is up",
|
|
351
|
-
method: { id: "drivelabels.labels.updatePermissions", httpMethod: "PATCH", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"] },
|
|
356
|
+
method: { id: "drivelabels.labels.updatePermissions", httpMethod: "PATCH", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
352
357
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
353
358
|
hasBody: true,
|
|
354
359
|
shape: {
|
|
@@ -363,7 +368,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
363
368
|
name: "drivelabels_limits_get_label",
|
|
364
369
|
cud: "read",
|
|
365
370
|
description: "Get the constraints on the structure of a label; such as, the maximum number of fields allowed and maximum length of the label title.",
|
|
366
|
-
method: { id: "drivelabels.limits.getLabel", httpMethod: "GET", path: "v2/limits/label", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: [] },
|
|
371
|
+
method: { id: "drivelabels.limits.getLabel", httpMethod: "GET", path: "v2/limits/label", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: [], scopes: S_drivelabels_v2[1] },
|
|
367
372
|
params: [{ "field": "name", "api": "name", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
368
373
|
hasBody: false,
|
|
369
374
|
shape: {
|
|
@@ -376,7 +381,7 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
376
381
|
name: "drivelabels_users_get_capabilities",
|
|
377
382
|
cud: "read",
|
|
378
383
|
description: "Gets the user capabilities.",
|
|
379
|
-
method: { id: "drivelabels.users.getCapabilities", httpMethod: "GET", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"] },
|
|
384
|
+
method: { id: "drivelabels.users.getCapabilities", httpMethod: "GET", path: "v2/{+name}", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[1] },
|
|
380
385
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "customer", "api": "customer", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
381
386
|
hasBody: false,
|
|
382
387
|
shape: {
|
|
@@ -3,11 +3,15 @@ import { z } from 'zod';
|
|
|
3
3
|
import { coerceJson } from '../_coerce.js';
|
|
4
4
|
import { accountField, registerGeneratedTool } from './_shared.js';
|
|
5
5
|
export function registerFormsGeneratedTools(registry) {
|
|
6
|
+
// Interned method scope sets (shared across tools; see scope-observability).
|
|
7
|
+
const S_forms_v1 = [
|
|
8
|
+
["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly"],
|
|
9
|
+
];
|
|
6
10
|
registerGeneratedTool(registry, {
|
|
7
11
|
name: "forms_forms_watches_create",
|
|
8
12
|
cud: "create",
|
|
9
13
|
description: "Create a new watch. If a watch ID is provided, it must be unused. For each invoking project, the per form limit is one watch per Watch.EventType. A watch expire",
|
|
10
|
-
method: { id: "forms.forms.watches.create", httpMethod: "POST", path: "v1/forms/{formId}/watches", baseUrl: "https://forms.googleapis.com/", requiredParams: ["formId"] },
|
|
14
|
+
method: { id: "forms.forms.watches.create", httpMethod: "POST", path: "v1/forms/{formId}/watches", baseUrl: "https://forms.googleapis.com/", requiredParams: ["formId"], scopes: S_forms_v1[0] },
|
|
11
15
|
params: [{ "field": "formId", "api": "formId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
12
16
|
hasBody: true,
|
|
13
17
|
shape: {
|
|
@@ -21,7 +25,7 @@ export function registerFormsGeneratedTools(registry) {
|
|
|
21
25
|
name: "forms_forms_watches_delete",
|
|
22
26
|
cud: "delete",
|
|
23
27
|
description: "Delete a watch.",
|
|
24
|
-
method: { id: "forms.forms.watches.delete", httpMethod: "DELETE", path: "v1/forms/{formId}/watches/{watchId}", baseUrl: "https://forms.googleapis.com/", requiredParams: ["formId", "watchId"] },
|
|
28
|
+
method: { id: "forms.forms.watches.delete", httpMethod: "DELETE", path: "v1/forms/{formId}/watches/{watchId}", baseUrl: "https://forms.googleapis.com/", requiredParams: ["formId", "watchId"], scopes: S_forms_v1[0] },
|
|
25
29
|
params: [{ "field": "formId", "api": "formId", "location": "path" }, { "field": "watchId", "api": "watchId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
26
30
|
hasBody: false,
|
|
27
31
|
shape: {
|
|
@@ -35,7 +39,7 @@ export function registerFormsGeneratedTools(registry) {
|
|
|
35
39
|
name: "forms_forms_watches_renew",
|
|
36
40
|
cud: "create",
|
|
37
41
|
description: "Renew an existing watch for seven days. The state of the watch after renewal is `ACTIVE`, and the `expire_time` is seven days from the renewal. Renewing a watch",
|
|
38
|
-
method: { id: "forms.forms.watches.renew", httpMethod: "POST", path: "v1/forms/{formId}/watches/{watchId}:renew", baseUrl: "https://forms.googleapis.com/", requiredParams: ["formId", "watchId"] },
|
|
42
|
+
method: { id: "forms.forms.watches.renew", httpMethod: "POST", path: "v1/forms/{formId}/watches/{watchId}:renew", baseUrl: "https://forms.googleapis.com/", requiredParams: ["formId", "watchId"], scopes: S_forms_v1[0] },
|
|
39
43
|
params: [{ "field": "formId", "api": "formId", "location": "path" }, { "field": "watchId", "api": "watchId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
40
44
|
hasBody: true,
|
|
41
45
|
shape: {
|