mcp-google-multi 6.0.0-alpha.2 → 6.0.0-alpha.21
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 +5 -3
- package/dist/api-probe.d.ts +18 -0
- package/dist/api-probe.js +68 -0
- package/dist/arg-normalize.d.ts +19 -0
- package/dist/arg-normalize.js +90 -0
- package/dist/auth.js +15 -72
- package/dist/client.js +3 -1
- package/dist/discover.js +35 -14
- package/dist/discovery-client.d.ts +8 -1
- package/dist/discovery-client.js +67 -15
- package/dist/doctor.d.ts +12 -0
- package/dist/doctor.js +98 -15
- package/dist/http-transport.d.ts +3 -0
- package/dist/http-transport.js +2 -1
- package/dist/index.js +4 -1
- package/dist/oauth-consent.d.ts +25 -10
- package/dist/oauth-consent.js +85 -39
- package/dist/registry.d.ts +12 -0
- package/dist/registry.js +61 -3
- package/dist/scope-catalog.d.ts +1 -0
- package/dist/scope-catalog.js +17 -1
- package/dist/services.js +3 -1
- package/dist/tools/_errors.js +69 -5
- package/dist/tools/_local-files.d.ts +3 -0
- package/dist/tools/_local-files.js +34 -0
- package/dist/tools/account-wizard.d.ts +10 -0
- package/dist/tools/account-wizard.js +52 -19
- package/dist/tools/analytics.d.ts +18 -0
- package/dist/tools/analytics.js +279 -0
- package/dist/tools/drive.d.ts +2 -1
- package/dist/tools/drive.js +75 -33
- package/dist/tools/generated/_shared.d.ts +6 -0
- package/dist/tools/generated/_shared.js +11 -1
- package/dist/tools/generated/admin.js +160 -29
- package/dist/tools/generated/analytics.d.ts +2 -0
- package/dist/tools/generated/analytics.js +981 -0
- package/dist/tools/generated/chat.js +39 -12
- package/dist/tools/generated/classroom.js +56 -14
- package/dist/tools/generated/cloudidentity.js +18 -10
- package/dist/tools/generated/cloudsearch.js +4 -3
- package/dist/tools/generated/contacts.js +13 -4
- package/dist/tools/generated/drive.js +15 -6
- package/dist/tools/generated/drivelabels.js +33 -5
- package/dist/tools/generated/forms.js +1 -1
- package/dist/tools/generated/gmail.js +39 -12
- package/dist/tools/generated/index.js +2 -0
- package/dist/tools/generated/keep.js +3 -2
- package/dist/tools/generated/licensing.js +20 -4
- package/dist/tools/generated/meet.js +1 -1
- package/dist/tools/generated/reseller.js +8 -2
- package/dist/tools/generated/script.js +13 -3
- package/dist/tools/generated/searchconsole.js +4 -2
- package/dist/tools/generated/sheets.js +2 -1
- package/dist/tools/generated/tasks.js +7 -1
- package/dist/tools/generated/vault.js +18 -9
- package/dist/tools/generated/workspaceevents.js +3 -2
- package/dist/tools/gmail.js +3 -3
- package/dist/tools/google-api.d.ts +4 -1
- package/dist/tools/google-api.js +59 -15
- package/package.json +22 -17
|
@@ -15,7 +15,7 @@ export function registerCloudsearchGeneratedTools(registry) {
|
|
|
15
15
|
];
|
|
16
16
|
registerGeneratedTool(registry, {
|
|
17
17
|
name: "cloudsearch_debug_datasources_items_check_access",
|
|
18
|
-
cud: "
|
|
18
|
+
cud: "read",
|
|
19
19
|
description: "Checks whether an item is accessible by specified principal. Principal must be a user; groups and domain values aren't supported. **Note:** This API requires an",
|
|
20
20
|
method: { id: "cloudsearch.debug.datasources.items.checkAccess", httpMethod: "POST", path: "v1/debug/{+name}:checkAccess", baseUrl: "https://cloudsearch.googleapis.com/", requiredParams: ["name"], scopes: S_cloudsearch_v1[0] },
|
|
21
21
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "debugOptions.enableDebugging", "api": "debugOptions.enableDebugging", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
@@ -276,9 +276,9 @@ export function registerCloudsearchGeneratedTools(registry) {
|
|
|
276
276
|
method: { id: "cloudsearch.initializeCustomer", httpMethod: "POST", path: "v1:initializeCustomer", baseUrl: "https://cloudsearch.googleapis.com/", requiredParams: [], scopes: S_cloudsearch_v1[1] },
|
|
277
277
|
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
278
278
|
hasBody: true,
|
|
279
|
+
bodyParams: [],
|
|
279
280
|
shape: {
|
|
280
281
|
account: accountField(),
|
|
281
|
-
body: coerceJson(z.record(z.string(), z.unknown())).describe("InitializeCustomerRequest JSON request body."),
|
|
282
282
|
fields: z.string().optional().describe('Response field mask.'),
|
|
283
283
|
},
|
|
284
284
|
});
|
|
@@ -289,10 +289,11 @@ export function registerCloudsearchGeneratedTools(registry) {
|
|
|
289
289
|
method: { id: "cloudsearch.media.upload", httpMethod: "POST", path: "v1/media/{+resourceName}", baseUrl: "https://cloudsearch.googleapis.com/", requiredParams: ["resourceName"], scopes: S_cloudsearch_v1[2] },
|
|
290
290
|
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
291
291
|
hasBody: true,
|
|
292
|
+
bodyParams: [{ "field": "resourceName_", "api": "resourceName" }],
|
|
292
293
|
shape: {
|
|
293
294
|
account: accountField(),
|
|
294
295
|
resourceName: z.string().describe("Name of the media that is being downloaded. See ReadRequest.resource_name."),
|
|
295
|
-
|
|
296
|
+
resourceName_: z.string().describe("Name of the media resource.").optional(),
|
|
296
297
|
fields: z.string().optional().describe('Response field mask.'),
|
|
297
298
|
},
|
|
298
299
|
});
|
|
@@ -47,10 +47,12 @@ export function registerContactsGeneratedTools(registry) {
|
|
|
47
47
|
method: { id: "people.contactGroups.members.modify", httpMethod: "POST", path: "v1/{+resourceName}/members:modify", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"], scopes: S_people_v1[1] },
|
|
48
48
|
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
49
49
|
hasBody: true,
|
|
50
|
+
bodyParams: [{ "field": "resourceNamesToAdd", "api": "resourceNamesToAdd" }, { "field": "resourceNamesToRemove", "api": "resourceNamesToRemove" }],
|
|
50
51
|
shape: {
|
|
51
52
|
account: accountField(),
|
|
52
53
|
resourceName: z.string().describe("Required. The resource name of the contact group to modify."),
|
|
53
|
-
|
|
54
|
+
resourceNamesToAdd: coerceArray(z.string()).describe("Optional. The resource names of the contact people to add in the form of `people/{person_id}`. The total number of resource names in `resource_names_to_add` and `resource_names_to_remove` must be less").optional(),
|
|
55
|
+
resourceNamesToRemove: coerceArray(z.string()).describe("Optional. The resource names of the contact people to remove in the form of `people/{person_id}`. The total number of resource names in `resource_names_to_add` and `resource_names_to_remove` must be l").optional(),
|
|
54
56
|
fields: z.string().optional().describe('Response field mask.'),
|
|
55
57
|
},
|
|
56
58
|
});
|
|
@@ -75,10 +77,13 @@ export function registerContactsGeneratedTools(registry) {
|
|
|
75
77
|
method: { id: "people.otherContacts.copyOtherContactToMyContactsGroup", httpMethod: "POST", path: "v1/{+resourceName}:copyOtherContactToMyContactsGroup", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"], scopes: S_people_v1[2] },
|
|
76
78
|
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
77
79
|
hasBody: true,
|
|
80
|
+
bodyParams: [{ "field": "copyMask", "api": "copyMask" }, { "field": "readMask", "api": "readMask" }, { "field": "sources", "api": "sources" }],
|
|
78
81
|
shape: {
|
|
79
82
|
account: accountField(),
|
|
80
83
|
resourceName: z.string().describe("Required. The resource name of the \"Other contact\" to copy."),
|
|
81
|
-
|
|
84
|
+
copyMask: z.string().describe("Required. A field mask to restrict which fields are copied into the new contact. Valid values are: * emailAddresses * names * phoneNumbers").optional(),
|
|
85
|
+
readMask: z.string().describe("Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to the copy mask with metadata and membership fiel").optional(),
|
|
86
|
+
sources: coerceArray(z.enum(["READ_SOURCE_TYPE_UNSPECIFIED", "READ_SOURCE_TYPE_PROFILE", "READ_SOURCE_TYPE_CONTACT", "READ_SOURCE_TYPE_DOMAIN_CONTACT", "READ_SOURCE_TYPE_OTHER_CONTACT"])).describe("Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.").optional(),
|
|
82
87
|
fields: z.string().optional().describe('Response field mask.'),
|
|
83
88
|
},
|
|
84
89
|
});
|
|
@@ -135,9 +140,10 @@ export function registerContactsGeneratedTools(registry) {
|
|
|
135
140
|
method: { id: "people.people.batchDeleteContacts", httpMethod: "POST", path: "v1/people:batchDeleteContacts", baseUrl: "https://people.googleapis.com/", requiredParams: [], scopes: S_people_v1[1] },
|
|
136
141
|
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
137
142
|
hasBody: true,
|
|
143
|
+
bodyParams: [{ "field": "resourceNames", "api": "resourceNames" }],
|
|
138
144
|
shape: {
|
|
139
145
|
account: accountField(),
|
|
140
|
-
|
|
146
|
+
resourceNames: coerceArray(z.string()).describe("Required. The resource names of the contact to delete. It's repeatable. Allows up to 500 resource names in a single request.").optional(),
|
|
141
147
|
fields: z.string().optional().describe('Response field mask.'),
|
|
142
148
|
},
|
|
143
149
|
});
|
|
@@ -213,10 +219,13 @@ export function registerContactsGeneratedTools(registry) {
|
|
|
213
219
|
method: { id: "people.people.updateContactPhoto", httpMethod: "PATCH", path: "v1/{+resourceName}:updateContactPhoto", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"], scopes: S_people_v1[1] },
|
|
214
220
|
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
215
221
|
hasBody: true,
|
|
222
|
+
bodyParams: [{ "field": "personFields", "api": "personFields" }, { "field": "photoBytes", "api": "photoBytes" }, { "field": "sources", "api": "sources" }],
|
|
216
223
|
shape: {
|
|
217
224
|
account: accountField(),
|
|
218
225
|
resourceName: z.string().describe("Required. Person resource name"),
|
|
219
|
-
|
|
226
|
+
personFields: z.string().describe("Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post muta").optional(),
|
|
227
|
+
photoBytes: z.string().describe("Required. Raw photo bytes").optional(),
|
|
228
|
+
sources: coerceArray(z.enum(["READ_SOURCE_TYPE_UNSPECIFIED", "READ_SOURCE_TYPE_PROFILE", "READ_SOURCE_TYPE_CONTACT", "READ_SOURCE_TYPE_DOMAIN_CONTACT", "READ_SOURCE_TYPE_OTHER_CONTACT"])).describe("Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.").optional(),
|
|
220
229
|
fields: z.string().optional().describe('Response field mask.'),
|
|
221
230
|
},
|
|
222
231
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// GENERATED by scripts/gen-tools.ts — do not edit. Regenerate: npm run gen:tools
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { coerceBoolean, coerceJson } from '../_coerce.js';
|
|
3
|
+
import { coerceArray, coerceBoolean, coerceJson } from '../_coerce.js';
|
|
4
4
|
import { accountField, registerGeneratedTool } from './_shared.js';
|
|
5
5
|
export function registerDriveGeneratedTools(registry) {
|
|
6
6
|
// Interned method scope sets (shared across tools; see scope-observability).
|
|
@@ -40,11 +40,12 @@ export function registerDriveGeneratedTools(registry) {
|
|
|
40
40
|
method: { id: "drive.approvals.approve", httpMethod: "POST", path: "files/{fileId}/approvals/{approvalId}:approve", baseUrl: "https://www.googleapis.com/drive/v3/", requiredParams: ["fileId", "approvalId"], scopes: S_drive_v3[1] },
|
|
41
41
|
params: [{ "field": "approvalId", "api": "approvalId", "location": "path" }, { "field": "fileId", "api": "fileId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
42
42
|
hasBody: true,
|
|
43
|
+
bodyParams: [{ "field": "message", "api": "message" }],
|
|
43
44
|
shape: {
|
|
44
45
|
account: accountField(),
|
|
45
46
|
approvalId: z.string().describe("Required. The ID of the approval to approve."),
|
|
46
47
|
fileId: z.string().describe("Required. The ID of the file that the approval is on."),
|
|
47
|
-
|
|
48
|
+
message: z.string().describe("Optional. A message to accompany the reviewer response on the approval. This message is included in notifications for the action and in the approval activity log.").optional(),
|
|
48
49
|
fields: z.string().optional().describe('Response field mask.'),
|
|
49
50
|
},
|
|
50
51
|
});
|
|
@@ -55,11 +56,12 @@ export function registerDriveGeneratedTools(registry) {
|
|
|
55
56
|
method: { id: "drive.approvals.cancel", httpMethod: "POST", path: "files/{fileId}/approvals/{approvalId}:cancel", baseUrl: "https://www.googleapis.com/drive/v3/", requiredParams: ["fileId", "approvalId"], scopes: S_drive_v3[1] },
|
|
56
57
|
params: [{ "field": "approvalId", "api": "approvalId", "location": "path" }, { "field": "fileId", "api": "fileId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
57
58
|
hasBody: true,
|
|
59
|
+
bodyParams: [{ "field": "message", "api": "message" }],
|
|
58
60
|
shape: {
|
|
59
61
|
account: accountField(),
|
|
60
62
|
approvalId: z.string().describe("Required. The ID of the approval to cancel."),
|
|
61
63
|
fileId: z.string().describe("Required. The ID of the file that the approval is on."),
|
|
62
|
-
|
|
64
|
+
message: z.string().describe("Optional. A message to accompany the cancellation of the approval. This message is included in notifications for the action and in the approval activity log.").optional(),
|
|
63
65
|
fields: z.string().optional().describe('Response field mask.'),
|
|
64
66
|
},
|
|
65
67
|
});
|
|
@@ -70,11 +72,12 @@ export function registerDriveGeneratedTools(registry) {
|
|
|
70
72
|
method: { id: "drive.approvals.comment", httpMethod: "POST", path: "files/{fileId}/approvals/{approvalId}:comment", baseUrl: "https://www.googleapis.com/drive/v3/", requiredParams: ["fileId", "approvalId"], scopes: S_drive_v3[1] },
|
|
71
73
|
params: [{ "field": "approvalId", "api": "approvalId", "location": "path" }, { "field": "fileId", "api": "fileId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
72
74
|
hasBody: true,
|
|
75
|
+
bodyParams: [{ "field": "message", "api": "message" }],
|
|
73
76
|
shape: {
|
|
74
77
|
account: accountField(),
|
|
75
78
|
approvalId: z.string().describe("Required. The ID of the approval to comment on."),
|
|
76
79
|
fileId: z.string().describe("Required. The ID of the file that the approval is on."),
|
|
77
|
-
|
|
80
|
+
message: z.string().describe("Required. A message to comment on the approval. This message is included in notifications for the action and in the approval activity log.").optional(),
|
|
78
81
|
fields: z.string().optional().describe('Response field mask.'),
|
|
79
82
|
},
|
|
80
83
|
});
|
|
@@ -85,11 +88,12 @@ export function registerDriveGeneratedTools(registry) {
|
|
|
85
88
|
method: { id: "drive.approvals.decline", httpMethod: "POST", path: "files/{fileId}/approvals/{approvalId}:decline", baseUrl: "https://www.googleapis.com/drive/v3/", requiredParams: ["fileId", "approvalId"], scopes: S_drive_v3[1] },
|
|
86
89
|
params: [{ "field": "approvalId", "api": "approvalId", "location": "path" }, { "field": "fileId", "api": "fileId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
87
90
|
hasBody: true,
|
|
91
|
+
bodyParams: [{ "field": "message", "api": "message" }],
|
|
88
92
|
shape: {
|
|
89
93
|
account: accountField(),
|
|
90
94
|
approvalId: z.string().describe("Required. The ID of the approval to decline."),
|
|
91
95
|
fileId: z.string().describe("Required. The ID of the file that the approval is on."),
|
|
92
|
-
|
|
96
|
+
message: z.string().describe("Optional. A message to accompany the reviewer response on the approval. This message is included in notifications for the action and in the approval activity log.").optional(),
|
|
93
97
|
fields: z.string().optional().describe('Response field mask.'),
|
|
94
98
|
},
|
|
95
99
|
});
|
|
@@ -144,10 +148,15 @@ export function registerDriveGeneratedTools(registry) {
|
|
|
144
148
|
method: { id: "drive.approvals.start", httpMethod: "POST", path: "files/{fileId}/approvals:start", baseUrl: "https://www.googleapis.com/drive/v3/", requiredParams: ["fileId"], scopes: S_drive_v3[1] },
|
|
145
149
|
params: [{ "field": "fileId", "api": "fileId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
146
150
|
hasBody: true,
|
|
151
|
+
bodyParams: [{ "field": "dueTime", "api": "dueTime" }, { "field": "fileContentChangeBehavior", "api": "fileContentChangeBehavior" }, { "field": "lockFile", "api": "lockFile" }, { "field": "message", "api": "message" }, { "field": "reviewerEmails", "api": "reviewerEmails" }],
|
|
147
152
|
shape: {
|
|
148
153
|
account: accountField(),
|
|
149
154
|
fileId: z.string().describe("Required. The ID of the file that the approval is created on."),
|
|
150
|
-
|
|
155
|
+
dueTime: z.string().describe("Optional. The time that the approval is due.").optional(),
|
|
156
|
+
fileContentChangeBehavior: z.enum(["FILE_CONTENT_CHANGE_BEHAVIOR_UNSPECIFIED", "RESET_APPROVAL", "NO_APPROVAL_ACTION"]).describe("Optional. The behavior of the approval when the file content changes.").optional(),
|
|
157
|
+
lockFile: coerceBoolean.describe("Optional. Whether to lock the file when starting the approval.").optional(),
|
|
158
|
+
message: z.string().describe("Optional. A message to send to reviewers when notifying them of the approval request.").optional(),
|
|
159
|
+
reviewerEmails: coerceArray(z.string()).describe("Required. The emails of the users who are set to review the approval.").optional(),
|
|
151
160
|
fields: z.string().optional().describe('Response field mask.'),
|
|
152
161
|
},
|
|
153
162
|
});
|
|
@@ -166,11 +166,17 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
166
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] },
|
|
167
167
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
168
168
|
hasBody: true,
|
|
169
|
+
bodyParams: [{ "field": "audience", "api": "audience" }, { "field": "email", "api": "email" }, { "field": "group", "api": "group" }, { "field": "name", "api": "name" }, { "field": "person", "api": "person" }, { "field": "role", "api": "role" }],
|
|
169
170
|
shape: {
|
|
170
171
|
account: accountField(),
|
|
171
172
|
parent: z.string().describe("Required. The parent label resource name on the label permission is created. Format: `labels/{label}`."),
|
|
172
173
|
useAdminAccess: coerceBoolean.describe("Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.").optional(),
|
|
173
|
-
|
|
174
|
+
audience: z.string().describe("Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label.").optional(),
|
|
175
|
+
email: z.string().describe("Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email a").optional(),
|
|
176
|
+
group: z.string().describe("Group resource name.").optional(),
|
|
177
|
+
name: z.string().describe("Resource name of this permission.").optional(),
|
|
178
|
+
person: z.string().describe("Person resource name.").optional(),
|
|
179
|
+
role: z.enum(["LABEL_ROLE_UNSPECIFIED", "READER", "APPLIER", "ORGANIZER", "EDITOR"]).describe("The role the principal should have.").optional(),
|
|
174
180
|
fields: z.string().optional().describe('Response field mask.'),
|
|
175
181
|
},
|
|
176
182
|
});
|
|
@@ -268,11 +274,17 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
268
274
|
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] },
|
|
269
275
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
270
276
|
hasBody: true,
|
|
277
|
+
bodyParams: [{ "field": "audience", "api": "audience" }, { "field": "email", "api": "email" }, { "field": "group", "api": "group" }, { "field": "name", "api": "name" }, { "field": "person", "api": "person" }, { "field": "role", "api": "role" }],
|
|
271
278
|
shape: {
|
|
272
279
|
account: accountField(),
|
|
273
280
|
parent: z.string().describe("Required. The parent label resource name on the label permission is created. Format: `labels/{label}`."),
|
|
274
281
|
useAdminAccess: coerceBoolean.describe("Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.").optional(),
|
|
275
|
-
|
|
282
|
+
audience: z.string().describe("Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label.").optional(),
|
|
283
|
+
email: z.string().describe("Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email a").optional(),
|
|
284
|
+
group: z.string().describe("Group resource name.").optional(),
|
|
285
|
+
name: z.string().describe("Resource name of this permission.").optional(),
|
|
286
|
+
person: z.string().describe("Person resource name.").optional(),
|
|
287
|
+
role: z.enum(["LABEL_ROLE_UNSPECIFIED", "READER", "APPLIER", "ORGANIZER", "EDITOR"]).describe("The role the principal should have.").optional(),
|
|
276
288
|
fields: z.string().optional().describe('Response field mask.'),
|
|
277
289
|
},
|
|
278
290
|
});
|
|
@@ -313,11 +325,17 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
313
325
|
method: { id: "drivelabels.labels.revisions.updatePermissions", httpMethod: "PATCH", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
314
326
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
315
327
|
hasBody: true,
|
|
328
|
+
bodyParams: [{ "field": "audience", "api": "audience" }, { "field": "email", "api": "email" }, { "field": "group", "api": "group" }, { "field": "name", "api": "name" }, { "field": "person", "api": "person" }, { "field": "role", "api": "role" }],
|
|
316
329
|
shape: {
|
|
317
330
|
account: accountField(),
|
|
318
331
|
parent: z.string().describe("Required. The parent label resource name."),
|
|
319
332
|
useAdminAccess: coerceBoolean.describe("Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.").optional(),
|
|
320
|
-
|
|
333
|
+
audience: z.string().describe("Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label.").optional(),
|
|
334
|
+
email: z.string().describe("Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email a").optional(),
|
|
335
|
+
group: z.string().describe("Group resource name.").optional(),
|
|
336
|
+
name: z.string().describe("Resource name of this permission.").optional(),
|
|
337
|
+
person: z.string().describe("Person resource name.").optional(),
|
|
338
|
+
role: z.enum(["LABEL_ROLE_UNSPECIFIED", "READER", "APPLIER", "ORGANIZER", "EDITOR"]).describe("The role the principal should have.").optional(),
|
|
321
339
|
fields: z.string().optional().describe('Response field mask.'),
|
|
322
340
|
},
|
|
323
341
|
});
|
|
@@ -328,10 +346,14 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
328
346
|
method: { id: "drivelabels.labels.updateLabelCopyMode", httpMethod: "POST", path: "v2/{+name}:updateLabelCopyMode", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["name"], scopes: S_drivelabels_v2[0] },
|
|
329
347
|
params: [{ "field": "name", "api": "name", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
330
348
|
hasBody: true,
|
|
349
|
+
bodyParams: [{ "field": "copyMode", "api": "copyMode" }, { "field": "languageCode", "api": "languageCode" }, { "field": "useAdminAccess", "api": "useAdminAccess" }, { "field": "view", "api": "view" }],
|
|
331
350
|
shape: {
|
|
332
351
|
account: accountField(),
|
|
333
352
|
name: z.string().describe("Required. The resource name of the label to update."),
|
|
334
|
-
|
|
353
|
+
copyMode: z.enum(["COPY_MODE_UNSPECIFIED", "DO_NOT_COPY", "ALWAYS_COPY", "COPY_APPLIABLE"]).describe("Required. Indicates how the applied label and field values should be copied when a Drive item is copied.").optional(),
|
|
354
|
+
languageCode: z.string().describe("The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.").optional(),
|
|
355
|
+
useAdminAccess: coerceBoolean.describe("Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.").optional(),
|
|
356
|
+
view: z.enum(["LABEL_VIEW_BASIC", "LABEL_VIEW_FULL"]).describe("When specified, only certain fields belonging to the indicated view will be returned.").optional(),
|
|
335
357
|
fields: z.string().optional().describe('Response field mask.'),
|
|
336
358
|
},
|
|
337
359
|
});
|
|
@@ -356,11 +378,17 @@ export function registerDrivelabelsGeneratedTools(registry) {
|
|
|
356
378
|
method: { id: "drivelabels.labels.updatePermissions", httpMethod: "PATCH", path: "v2/{+parent}/permissions", baseUrl: "https://drivelabels.googleapis.com/", requiredParams: ["parent"], scopes: S_drivelabels_v2[0] },
|
|
357
379
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "useAdminAccess", "api": "useAdminAccess", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
358
380
|
hasBody: true,
|
|
381
|
+
bodyParams: [{ "field": "audience", "api": "audience" }, { "field": "email", "api": "email" }, { "field": "group", "api": "group" }, { "field": "name", "api": "name" }, { "field": "person", "api": "person" }, { "field": "role", "api": "role" }],
|
|
359
382
|
shape: {
|
|
360
383
|
account: accountField(),
|
|
361
384
|
parent: z.string().describe("Required. The parent label resource name."),
|
|
362
385
|
useAdminAccess: coerceBoolean.describe("Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the label before allowing access.").optional(),
|
|
363
|
-
|
|
386
|
+
audience: z.string().describe("Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the label.").optional(),
|
|
387
|
+
email: z.string().describe("Specifies the email address for a user or group principal. Not populated for audience principals. User and group permissions may only be inserted using an email address. On update requests, if email a").optional(),
|
|
388
|
+
group: z.string().describe("Group resource name.").optional(),
|
|
389
|
+
name: z.string().describe("Resource name of this permission.").optional(),
|
|
390
|
+
person: z.string().describe("Person resource name.").optional(),
|
|
391
|
+
role: z.enum(["LABEL_ROLE_UNSPECIFIED", "READER", "APPLIER", "ORGANIZER", "EDITOR"]).describe("The role the principal should have.").optional(),
|
|
364
392
|
fields: z.string().optional().describe('Response field mask.'),
|
|
365
393
|
},
|
|
366
394
|
});
|
|
@@ -42,11 +42,11 @@ export function registerFormsGeneratedTools(registry) {
|
|
|
42
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] },
|
|
43
43
|
params: [{ "field": "formId", "api": "formId", "location": "path" }, { "field": "watchId", "api": "watchId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
44
44
|
hasBody: true,
|
|
45
|
+
bodyParams: [],
|
|
45
46
|
shape: {
|
|
46
47
|
account: accountField(),
|
|
47
48
|
formId: z.string().describe("Required. The ID of the Form."),
|
|
48
49
|
watchId: z.string().describe("Required. The ID of the Watch to renew."),
|
|
49
|
-
body: coerceJson(z.record(z.string(), z.unknown())).describe("RenewWatchRequest JSON request body."),
|
|
50
50
|
fields: z.string().optional().describe('Response field mask.'),
|
|
51
51
|
},
|
|
52
52
|
});
|
|
@@ -233,11 +233,11 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
233
233
|
method: { id: "gmail.users.settings.cse.keypairs.disable", httpMethod: "POST", path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId", "keyPairId"], scopes: S_gmail_v1[5] },
|
|
234
234
|
params: [{ "field": "keyPairId", "api": "keyPairId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
235
235
|
hasBody: true,
|
|
236
|
+
bodyParams: [],
|
|
236
237
|
shape: {
|
|
237
238
|
account: accountField(),
|
|
238
239
|
keyPairId: z.string().describe("The identifier of the key pair to turn off."),
|
|
239
240
|
userId: z.string().describe("The requester's primary email address. To indicate the authenticated user, you can use the special value `me`."),
|
|
240
|
-
body: coerceJson(z.record(z.string(), z.unknown())).describe("DisableCseKeyPairRequest JSON request body."),
|
|
241
241
|
fields: z.string().optional().describe('Response field mask.'),
|
|
242
242
|
},
|
|
243
243
|
});
|
|
@@ -248,11 +248,11 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
248
248
|
method: { id: "gmail.users.settings.cse.keypairs.enable", httpMethod: "POST", path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId", "keyPairId"], scopes: S_gmail_v1[5] },
|
|
249
249
|
params: [{ "field": "keyPairId", "api": "keyPairId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
250
250
|
hasBody: true,
|
|
251
|
+
bodyParams: [],
|
|
251
252
|
shape: {
|
|
252
253
|
account: accountField(),
|
|
253
254
|
keyPairId: z.string().describe("The identifier of the key pair to turn on."),
|
|
254
255
|
userId: z.string().describe("The requester's primary email address. To indicate the authenticated user, you can use the special value `me`."),
|
|
255
|
-
body: coerceJson(z.record(z.string(), z.unknown())).describe("EnableCseKeyPairRequest JSON request body."),
|
|
256
256
|
fields: z.string().optional().describe('Response field mask.'),
|
|
257
257
|
},
|
|
258
258
|
});
|
|
@@ -292,11 +292,11 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
292
292
|
method: { id: "gmail.users.settings.cse.keypairs.obliterate", httpMethod: "POST", path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId", "keyPairId"], scopes: S_gmail_v1[5] },
|
|
293
293
|
params: [{ "field": "keyPairId", "api": "keyPairId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
294
294
|
hasBody: true,
|
|
295
|
+
bodyParams: [],
|
|
295
296
|
shape: {
|
|
296
297
|
account: accountField(),
|
|
297
298
|
keyPairId: z.string().describe("The identifier of the key pair to obliterate."),
|
|
298
299
|
userId: z.string().describe("The requester's primary email address. To indicate the authenticated user, you can use the special value `me`."),
|
|
299
|
-
body: coerceJson(z.record(z.string(), z.unknown())).describe("ObliterateCseKeyPairRequest JSON request body."),
|
|
300
300
|
fields: z.string().optional().describe('Response field mask.'),
|
|
301
301
|
},
|
|
302
302
|
});
|
|
@@ -307,10 +307,12 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
307
307
|
method: { id: "gmail.users.settings.delegates.create", httpMethod: "POST", path: "gmail/v1/users/{userId}/settings/delegates", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[7] },
|
|
308
308
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
309
309
|
hasBody: true,
|
|
310
|
+
bodyParams: [{ "field": "delegateEmail", "api": "delegateEmail" }, { "field": "verificationStatus", "api": "verificationStatus" }],
|
|
310
311
|
shape: {
|
|
311
312
|
account: accountField(),
|
|
312
313
|
userId: z.string().describe("User's email address. The special value \"me\" can be used to indicate the authenticated user."),
|
|
313
|
-
|
|
314
|
+
delegateEmail: z.string().describe("The email address of the delegate.").optional(),
|
|
315
|
+
verificationStatus: z.enum(["verificationStatusUnspecified", "accepted", "pending", "rejected", "expired"]).describe("Indicates whether this address has been verified and can act as a delegate for the account. Read-only.").optional(),
|
|
314
316
|
fields: z.string().optional().describe('Response field mask.'),
|
|
315
317
|
},
|
|
316
318
|
});
|
|
@@ -417,10 +419,12 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
417
419
|
method: { id: "gmail.users.settings.forwardingAddresses.create", httpMethod: "POST", path: "gmail/v1/users/{userId}/settings/forwardingAddresses", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[7] },
|
|
418
420
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
419
421
|
hasBody: true,
|
|
422
|
+
bodyParams: [{ "field": "forwardingEmail", "api": "forwardingEmail" }, { "field": "verificationStatus", "api": "verificationStatus" }],
|
|
420
423
|
shape: {
|
|
421
424
|
account: accountField(),
|
|
422
425
|
userId: z.string().describe("User's email address. The special value \"me\" can be used to indicate the authenticated user."),
|
|
423
|
-
|
|
426
|
+
forwardingEmail: z.string().describe("An email address to which messages can be forwarded.").optional(),
|
|
427
|
+
verificationStatus: z.enum(["verificationStatusUnspecified", "accepted", "pending"]).describe("Indicates whether this address has been verified and is usable for forwarding. Read-only.").optional(),
|
|
424
428
|
fields: z.string().optional().describe('Response field mask.'),
|
|
425
429
|
},
|
|
426
430
|
});
|
|
@@ -624,11 +628,18 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
624
628
|
method: { id: "gmail.users.settings.sendAs.smimeInfo.insert", httpMethod: "POST", path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId", "sendAsEmail"], scopes: S_gmail_v1[5] },
|
|
625
629
|
params: [{ "field": "sendAsEmail", "api": "sendAsEmail", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
626
630
|
hasBody: true,
|
|
631
|
+
bodyParams: [{ "field": "encryptedKeyPassword", "api": "encryptedKeyPassword" }, { "field": "expiration", "api": "expiration" }, { "field": "id", "api": "id" }, { "field": "isDefault", "api": "isDefault" }, { "field": "issuerCn", "api": "issuerCn" }, { "field": "pem", "api": "pem" }, { "field": "pkcs12", "api": "pkcs12" }],
|
|
627
632
|
shape: {
|
|
628
633
|
account: accountField(),
|
|
629
634
|
sendAsEmail: z.string().describe("The email address that appears in the \"From:\" header for mail sent using this alias."),
|
|
630
635
|
userId: z.string().describe("The user's email address. The special value `me` can be used to indicate the authenticated user."),
|
|
631
|
-
|
|
636
|
+
encryptedKeyPassword: z.string().describe("Encrypted key password, when key is encrypted.").optional(),
|
|
637
|
+
expiration: z.string().describe("When the certificate expires (in milliseconds since epoch).").optional(),
|
|
638
|
+
id: z.string().describe("The immutable ID for the SmimeInfo.").optional(),
|
|
639
|
+
isDefault: coerceBoolean.describe("Whether this SmimeInfo is the default one for this user's send-as address.").optional(),
|
|
640
|
+
issuerCn: z.string().describe("The S/MIME certificate issuer's common name.").optional(),
|
|
641
|
+
pem: z.string().describe("PEM formatted X509 concatenated certificate string (standard base64 encoding). Format used for returning key, which includes public key as well as certificate chain (not private key).").optional(),
|
|
642
|
+
pkcs12: z.string().describe("PKCS#12 format containing a single private/public key pair and certificate chain. This format is only accepted from client for creating a new SmimeInfo and is never returned, because the private key i").optional(),
|
|
632
643
|
fields: z.string().optional().describe('Response field mask.'),
|
|
633
644
|
},
|
|
634
645
|
});
|
|
@@ -697,10 +708,13 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
697
708
|
method: { id: "gmail.users.settings.updateAutoForwarding", httpMethod: "PUT", path: "gmail/v1/users/{userId}/settings/autoForwarding", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[7] },
|
|
698
709
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
699
710
|
hasBody: true,
|
|
711
|
+
bodyParams: [{ "field": "disposition", "api": "disposition" }, { "field": "emailAddress", "api": "emailAddress" }, { "field": "enabled", "api": "enabled" }],
|
|
700
712
|
shape: {
|
|
701
713
|
account: accountField(),
|
|
702
714
|
userId: z.string().describe("User's email address. The special value \"me\" can be used to indicate the authenticated user."),
|
|
703
|
-
|
|
715
|
+
disposition: z.enum(["dispositionUnspecified", "leaveInInbox", "archive", "trash", "markRead"]).describe("The state that a message should be left in after it has been forwarded.").optional(),
|
|
716
|
+
emailAddress: z.string().describe("Email address to which all incoming messages are forwarded. This email address must be a verified member of the forwarding addresses.").optional(),
|
|
717
|
+
enabled: coerceBoolean.describe("Whether all incoming mail is automatically forwarded to another address.").optional(),
|
|
704
718
|
fields: z.string().optional().describe('Response field mask.'),
|
|
705
719
|
},
|
|
706
720
|
});
|
|
@@ -711,10 +725,14 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
711
725
|
method: { id: "gmail.users.settings.updateImap", httpMethod: "PUT", path: "gmail/v1/users/{userId}/settings/imap", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[9] },
|
|
712
726
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
713
727
|
hasBody: true,
|
|
728
|
+
bodyParams: [{ "field": "autoExpunge", "api": "autoExpunge" }, { "field": "enabled", "api": "enabled" }, { "field": "expungeBehavior", "api": "expungeBehavior" }, { "field": "maxFolderSize", "api": "maxFolderSize" }],
|
|
714
729
|
shape: {
|
|
715
730
|
account: accountField(),
|
|
716
731
|
userId: z.string().describe("User's email address. The special value \"me\" can be used to indicate the authenticated user."),
|
|
717
|
-
|
|
732
|
+
autoExpunge: coerceBoolean.describe("If this value is true, Gmail will immediately expunge a message when it is marked as deleted in IMAP. Otherwise, Gmail will wait for an update from the client before expunging messages marked as delet").optional(),
|
|
733
|
+
enabled: coerceBoolean.describe("Whether IMAP is enabled for the account.").optional(),
|
|
734
|
+
expungeBehavior: z.enum(["expungeBehaviorUnspecified", "archive", "trash", "deleteForever"]).describe("The action that will be executed on a message when it is marked as deleted and expunged from the last visible IMAP folder.").optional(),
|
|
735
|
+
maxFolderSize: z.number().describe("An optional limit on the number of messages that an IMAP folder may contain. Legal values are 0, 1000, 2000, 5000 or 10000. A value of zero is interpreted to mean that there is no limit.").optional(),
|
|
718
736
|
fields: z.string().optional().describe('Response field mask.'),
|
|
719
737
|
},
|
|
720
738
|
});
|
|
@@ -725,10 +743,11 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
725
743
|
method: { id: "gmail.users.settings.updateLanguage", httpMethod: "PUT", path: "gmail/v1/users/{userId}/settings/language", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[9] },
|
|
726
744
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
727
745
|
hasBody: true,
|
|
746
|
+
bodyParams: [{ "field": "displayLanguage", "api": "displayLanguage" }],
|
|
728
747
|
shape: {
|
|
729
748
|
account: accountField(),
|
|
730
749
|
userId: z.string().describe("User's email address. The special value \"me\" can be used to indicate the authenticated user."),
|
|
731
|
-
|
|
750
|
+
displayLanguage: z.string().describe("The language to display Gmail in, formatted as an RFC 3066 Language Tag (for example `en-GB`, `fr` or `ja` for British English, French, or Japanese respectively). The set of languages supported by Gma").optional(),
|
|
732
751
|
fields: z.string().optional().describe('Response field mask.'),
|
|
733
752
|
},
|
|
734
753
|
});
|
|
@@ -739,10 +758,12 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
739
758
|
method: { id: "gmail.users.settings.updatePop", httpMethod: "PUT", path: "gmail/v1/users/{userId}/settings/pop", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[9] },
|
|
740
759
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
741
760
|
hasBody: true,
|
|
761
|
+
bodyParams: [{ "field": "accessWindow", "api": "accessWindow" }, { "field": "disposition", "api": "disposition" }],
|
|
742
762
|
shape: {
|
|
743
763
|
account: accountField(),
|
|
744
764
|
userId: z.string().describe("User's email address. The special value \"me\" can be used to indicate the authenticated user."),
|
|
745
|
-
|
|
765
|
+
accessWindow: z.enum(["accessWindowUnspecified", "disabled", "fromNowOn", "allMail"]).describe("The range of messages which are accessible via POP.").optional(),
|
|
766
|
+
disposition: z.enum(["dispositionUnspecified", "leaveInInbox", "archive", "trash", "markRead"]).describe("The action that will be executed on a message after it has been fetched via POP.").optional(),
|
|
746
767
|
fields: z.string().optional().describe('Response field mask.'),
|
|
747
768
|
},
|
|
748
769
|
});
|
|
@@ -798,11 +819,13 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
798
819
|
method: { id: "gmail.users.threads.modify", httpMethod: "POST", path: "gmail/v1/users/{userId}/threads/{id}/modify", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId", "id"], scopes: S_gmail_v1[4] },
|
|
799
820
|
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
800
821
|
hasBody: true,
|
|
822
|
+
bodyParams: [{ "field": "addLabelIds", "api": "addLabelIds" }, { "field": "removeLabelIds", "api": "removeLabelIds" }],
|
|
801
823
|
shape: {
|
|
802
824
|
account: accountField(),
|
|
803
825
|
id: z.string().describe("The ID of the thread to modify."),
|
|
804
826
|
userId: z.string().describe("The user's email address. The special value `me` can be used to indicate the authenticated user."),
|
|
805
|
-
|
|
827
|
+
addLabelIds: coerceArray(z.string()).describe("A list of IDs of labels to add to this thread. You can add up to 100 labels with each update.").optional(),
|
|
828
|
+
removeLabelIds: coerceArray(z.string()).describe("A list of IDs of labels to remove from this thread. You can remove up to 100 labels with each update.").optional(),
|
|
806
829
|
fields: z.string().optional().describe('Response field mask.'),
|
|
807
830
|
},
|
|
808
831
|
});
|
|
@@ -841,10 +864,14 @@ export function registerGmailGeneratedTools(registry) {
|
|
|
841
864
|
method: { id: "gmail.users.watch", httpMethod: "POST", path: "gmail/v1/users/{userId}/watch", baseUrl: "https://gmail.googleapis.com/", requiredParams: ["userId"], scopes: S_gmail_v1[10] },
|
|
842
865
|
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
843
866
|
hasBody: true,
|
|
867
|
+
bodyParams: [{ "field": "labelFilterAction", "api": "labelFilterAction" }, { "field": "labelFilterBehavior", "api": "labelFilterBehavior" }, { "field": "labelIds", "api": "labelIds" }, { "field": "topicName", "api": "topicName" }],
|
|
844
868
|
shape: {
|
|
845
869
|
account: accountField(),
|
|
846
870
|
userId: z.string().describe("The user's email address. The special value `me` can be used to indicate the authenticated user."),
|
|
847
|
-
|
|
871
|
+
labelFilterAction: z.enum(["include", "exclude"]).describe("Filtering behavior of `labelIds list` specified. This field is deprecated because it caused incorrect behavior in some cases; use `label_filter_behavior` instead.").optional(),
|
|
872
|
+
labelFilterBehavior: z.enum(["include", "exclude"]).describe("Filtering behavior of `labelIds list` specified. This field replaces `label_filter_action`; if set, `label_filter_action` is ignored.").optional(),
|
|
873
|
+
labelIds: coerceArray(z.string()).describe("List of label_ids to restrict notifications about. By default, if unspecified, all changes are pushed out. If specified then dictates which labels are required for a push notification to be generated.").optional(),
|
|
874
|
+
topicName: z.string().describe("A fully qualified Google Cloud Pub/Sub API topic name to publish the events to. This topic name **must** already exist in Cloud Pub/Sub and you **must** have already granted gmail \"publish\" permission").optional(),
|
|
848
875
|
fields: z.string().optional().describe('Response field mask.'),
|
|
849
876
|
},
|
|
850
877
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { registerAdminGeneratedTools } from './admin.js';
|
|
2
|
+
import { registerAnalyticsGeneratedTools } from './analytics.js';
|
|
2
3
|
import { registerAppsmarketGeneratedTools } from './appsmarket.js';
|
|
3
4
|
import { registerCalendarGeneratedTools } from './calendar.js';
|
|
4
5
|
import { registerChatGeneratedTools } from './chat.js';
|
|
@@ -26,6 +27,7 @@ import { registerVaultGeneratedTools } from './vault.js';
|
|
|
26
27
|
import { registerWorkspaceeventsGeneratedTools } from './workspaceevents.js';
|
|
27
28
|
export const GENERATED_SERVICES = [
|
|
28
29
|
{ name: "admin", register: registerAdminGeneratedTools },
|
|
30
|
+
{ name: "analytics", register: registerAnalyticsGeneratedTools },
|
|
29
31
|
{ name: "appsmarket", register: registerAppsmarketGeneratedTools },
|
|
30
32
|
{ name: "calendar", register: registerCalendarGeneratedTools },
|
|
31
33
|
{ name: "chat", register: registerChatGeneratedTools },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// GENERATED by scripts/gen-tools.ts — do not edit. Regenerate: npm run gen:tools
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { coerceJson } from '../_coerce.js';
|
|
3
|
+
import { coerceArray, coerceJson } from '../_coerce.js';
|
|
4
4
|
import { accountField, registerGeneratedTool } from './_shared.js';
|
|
5
5
|
export function registerKeepGeneratedTools(registry) {
|
|
6
6
|
// Interned method scope sets (shared across tools; see scope-observability).
|
|
@@ -97,10 +97,11 @@ export function registerKeepGeneratedTools(registry) {
|
|
|
97
97
|
method: { id: "keep.notes.permissions.batchDelete", httpMethod: "POST", path: "v1/{+parent}/permissions:batchDelete", baseUrl: "https://keep.googleapis.com/", requiredParams: ["parent"], scopes: S_keep_v1[1] },
|
|
98
98
|
params: [{ "field": "parent", "api": "parent", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
99
99
|
hasBody: true,
|
|
100
|
+
bodyParams: [{ "field": "names", "api": "names" }],
|
|
100
101
|
shape: {
|
|
101
102
|
account: accountField(),
|
|
102
103
|
parent: z.string().describe("The parent resource shared by all permissions being deleted. Format: `notes/{note}` If this is set, the parent of all of the permissions specified in the DeletePermissionRequest messages must match th"),
|
|
103
|
-
|
|
104
|
+
names: coerceArray(z.string()).describe("Required. The names of the permissions to delete. Format: `notes/{note}/permissions/{permission}`").optional(),
|
|
104
105
|
fields: z.string().optional().describe('Response field mask.'),
|
|
105
106
|
},
|
|
106
107
|
});
|