mcp-google-multi 5.2.0-alpha.1 → 5.2.0-alpha.3
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/dist/auth.js +33 -0
- package/dist/discovery-client.js +13 -0
- package/dist/executor.d.ts +39 -0
- package/dist/executor.js +75 -0
- package/dist/index.js +42 -3
- package/dist/registry.js +3 -2
- package/dist/tools/generated/_shared.d.ts +21 -0
- package/dist/tools/generated/_shared.js +35 -0
- package/dist/tools/generated/admin.d.ts +2 -0
- package/dist/tools/generated/admin.js +1937 -0
- package/dist/tools/generated/appsmarket.d.ts +2 -0
- package/dist/tools/generated/appsmarket.js +33 -0
- package/dist/tools/generated/calendar.d.ts +2 -0
- package/dist/tools/generated/calendar.js +428 -0
- package/dist/tools/generated/chat.d.ts +2 -0
- package/dist/tools/generated/chat.js +666 -0
- package/dist/tools/generated/classroom.d.ts +2 -0
- package/dist/tools/generated/classroom.js +1610 -0
- package/dist/tools/generated/cloudidentity.d.ts +2 -0
- package/dist/tools/generated/cloudidentity.js +955 -0
- package/dist/tools/generated/cloudsearch.d.ts +2 -0
- package/dist/tools/generated/cloudsearch.js +754 -0
- package/dist/tools/generated/contacts.d.ts +2 -0
- package/dist/tools/generated/contacts.js +215 -0
- package/dist/tools/generated/drive.d.ts +2 -0
- package/dist/tools/generated/drive.js +543 -0
- package/dist/tools/generated/driveactivity.d.ts +2 -0
- package/dist/tools/generated/driveactivity.js +19 -0
- package/dist/tools/generated/drivelabels.d.ts +2 -0
- package/dist/tools/generated/drivelabels.js +389 -0
- package/dist/tools/generated/forms.d.ts +2 -0
- package/dist/tools/generated/forms.js +49 -0
- package/dist/tools/generated/gmail.d.ts +2 -0
- package/dist/tools/generated/gmail.js +835 -0
- package/dist/tools/generated/groupsmigration.d.ts +2 -0
- package/dist/tools/generated/groupsmigration.js +18 -0
- package/dist/tools/generated/groupssettings.d.ts +2 -0
- package/dist/tools/generated/groupssettings.js +47 -0
- package/dist/tools/generated/index.d.ts +5 -0
- package/dist/tools/generated/index.js +54 -0
- package/dist/tools/generated/keep.d.ts +2 -0
- package/dist/tools/generated/keep.js +102 -0
- package/dist/tools/generated/licensing.d.ts +2 -0
- package/dist/tools/generated/licensing.js +116 -0
- package/dist/tools/generated/meet.d.ts +2 -0
- package/dist/tools/generated/meet.js +186 -0
- package/dist/tools/generated/postmaster.d.ts +2 -0
- package/dist/tools/generated/postmaster.js +66 -0
- package/dist/tools/generated/reseller.d.ts +2 -0
- package/dist/tools/generated/reseller.js +249 -0
- package/dist/tools/generated/script.d.ts +2 -0
- package/dist/tools/generated/script.js +249 -0
- package/dist/tools/generated/searchconsole.d.ts +2 -0
- package/dist/tools/generated/searchconsole.js +19 -0
- package/dist/tools/generated/sheets.d.ts +2 -0
- package/dist/tools/generated/sheets.js +105 -0
- package/dist/tools/generated/tasks.d.ts +2 -0
- package/dist/tools/generated/tasks.js +35 -0
- package/dist/tools/generated/vault.d.ts +2 -0
- package/dist/tools/generated/vault.js +479 -0
- package/dist/tools/generated/workspaceevents.d.ts +2 -0
- package/dist/tools/generated/workspaceevents.js +223 -0
- package/dist/tools/google-api.js +9 -71
- package/package.json +3 -2
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
// GENERATED by scripts/gen-tools.ts — do not edit. Regenerate: npm run gen:tools
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { coerceArray, coerceBoolean, coerceJson } from '../_coerce.js';
|
|
4
|
+
import { accountField, registerGeneratedTool } from './_shared.js';
|
|
5
|
+
export function registerContactsGeneratedTools(registry) {
|
|
6
|
+
registerGeneratedTool(registry, {
|
|
7
|
+
name: "contacts_contact_groups_batch_get",
|
|
8
|
+
cud: "read",
|
|
9
|
+
description: "Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names.",
|
|
10
|
+
method: { id: "people.contactGroups.batchGet", httpMethod: "GET", path: "v1/contactGroups:batchGet", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
11
|
+
params: [{ "field": "groupFields", "api": "groupFields", "location": "query" }, { "field": "maxMembers", "api": "maxMembers", "location": "query" }, { "field": "resourceNames", "api": "resourceNames", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
12
|
+
hasBody: false,
|
|
13
|
+
shape: {
|
|
14
|
+
account: accountField(),
|
|
15
|
+
groupFields: z.string().describe("Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, `memberCount`, and `name` if not set or set to empty. Valid fields are: * clientData * g").optional(),
|
|
16
|
+
maxMembers: z.number().describe("Optional. Specifies the maximum number of members to return for each group. Defaults to 0 if not set, which will return zero members.").optional(),
|
|
17
|
+
resourceNames: coerceArray(z.string()).describe("Required. The resource names of the contact groups to get. There is a maximum of 200 resource names.").optional(),
|
|
18
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
registerGeneratedTool(registry, {
|
|
22
|
+
name: "contacts_contact_groups_delete",
|
|
23
|
+
cud: "delete",
|
|
24
|
+
description: "Delete an existing contact group owned by the authenticated user by specifying a contact group resource name. Mutate requests for the same user should be sent s",
|
|
25
|
+
method: { id: "people.contactGroups.delete", httpMethod: "DELETE", path: "v1/{+resourceName}", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"] },
|
|
26
|
+
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "deleteContacts", "api": "deleteContacts", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
27
|
+
hasBody: false,
|
|
28
|
+
shape: {
|
|
29
|
+
account: accountField(),
|
|
30
|
+
resourceName: z.string().describe("Required. The resource name of the contact group to delete."),
|
|
31
|
+
deleteContacts: coerceBoolean.describe("Optional. Set to true to also delete the contacts in the specified group.").optional(),
|
|
32
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
registerGeneratedTool(registry, {
|
|
36
|
+
name: "contacts_contact_groups_members_modify",
|
|
37
|
+
cud: "update",
|
|
38
|
+
description: "Modify the members of a contact group owned by the authenticated user. The only system contact groups that can have members added are `contactGroups/myContacts`",
|
|
39
|
+
method: { id: "people.contactGroups.members.modify", httpMethod: "POST", path: "v1/{+resourceName}/members:modify", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"] },
|
|
40
|
+
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
41
|
+
hasBody: true,
|
|
42
|
+
shape: {
|
|
43
|
+
account: accountField(),
|
|
44
|
+
resourceName: z.string().describe("Required. The resource name of the contact group to modify."),
|
|
45
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("ModifyContactGroupMembersRequest JSON request body. Top-level fields: resourceNamesToAdd, resourceNamesToRemove."),
|
|
46
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
registerGeneratedTool(registry, {
|
|
50
|
+
name: "contacts_contact_groups_update",
|
|
51
|
+
cud: "update",
|
|
52
|
+
description: "Update the name of an existing contact group owned by the authenticated user. Updated contact group names must be unique to the users contact groups. Attempting",
|
|
53
|
+
method: { id: "people.contactGroups.update", httpMethod: "PUT", path: "v1/{+resourceName}", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"] },
|
|
54
|
+
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
55
|
+
hasBody: true,
|
|
56
|
+
shape: {
|
|
57
|
+
account: accountField(),
|
|
58
|
+
resourceName: z.string().describe("The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`."),
|
|
59
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("UpdateContactGroupRequest JSON request body. Top-level fields: contactGroup, readGroupFields, updateGroupFields."),
|
|
60
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
registerGeneratedTool(registry, {
|
|
64
|
+
name: "contacts_other_contacts_copy_other_contact_to_my_contacts_group",
|
|
65
|
+
cud: "create",
|
|
66
|
+
description: "Copies an \"Other contact\" to a new contact in the user's \"myContacts\" group Mutate requests for the same user should be sent sequentially to avoid increased lat",
|
|
67
|
+
method: { id: "people.otherContacts.copyOtherContactToMyContactsGroup", httpMethod: "POST", path: "v1/{+resourceName}:copyOtherContactToMyContactsGroup", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"] },
|
|
68
|
+
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
69
|
+
hasBody: true,
|
|
70
|
+
shape: {
|
|
71
|
+
account: accountField(),
|
|
72
|
+
resourceName: z.string().describe("Required. The resource name of the \"Other contact\" to copy."),
|
|
73
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("CopyOtherContactToMyContactsGroupRequest JSON request body. Top-level fields: copyMask, readMask, sources."),
|
|
74
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
registerGeneratedTool(registry, {
|
|
78
|
+
name: "contacts_other_contacts_list",
|
|
79
|
+
cud: "read",
|
|
80
|
+
description: "List all \"Other contacts\", that is contacts that are not in a contact group. \"Other contacts\" are typically auto created contacts from interactions. Sync tokens",
|
|
81
|
+
method: { id: "people.otherContacts.list", httpMethod: "GET", path: "v1/otherContacts", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
82
|
+
params: [{ "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "readMask", "api": "readMask", "location": "query" }, { "field": "requestSyncToken", "api": "requestSyncToken", "location": "query" }, { "field": "sources", "api": "sources", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
83
|
+
hasBody: false,
|
|
84
|
+
shape: {
|
|
85
|
+
account: accountField(),
|
|
86
|
+
pageSize: z.number().describe("Optional. The number of \"Other contacts\" to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0.").optional(),
|
|
87
|
+
pageToken: z.string().describe("Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `otherContacts.list` must m").optional(),
|
|
88
|
+
readMask: z.string().describe("Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. What values are valid depend on what ReadSourceType is use").optional(),
|
|
89
|
+
requestSyncToken: coerceBoolean.describe("Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. ").optional(),
|
|
90
|
+
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 if not set. Possible values for this field are: * READ_SOURCE_TYPE_CONTACT * READ_SOURCE_TYPE_CONTACT,READ_SOURCE_").optional(),
|
|
91
|
+
syncToken: z.string().describe("Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `").optional(),
|
|
92
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
registerGeneratedTool(registry, {
|
|
96
|
+
name: "contacts_other_contacts_search",
|
|
97
|
+
cud: "read",
|
|
98
|
+
description: "Provides a list of contacts in the authenticated user's other contacts that matches the search query. The query matches on a contact's `names`, `emailAddresses`",
|
|
99
|
+
method: { id: "people.otherContacts.search", httpMethod: "GET", path: "v1/otherContacts:search", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
100
|
+
params: [{ "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "query", "api": "query", "location": "query" }, { "field": "readMask", "api": "readMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
101
|
+
hasBody: false,
|
|
102
|
+
shape: {
|
|
103
|
+
account: accountField(),
|
|
104
|
+
pageSize: z.number().describe("Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30.").optional(),
|
|
105
|
+
query: z.string().describe("Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name \"foo name\" matches queries such as \"f\", \"fo\", \"foo\"").optional(),
|
|
106
|
+
readMask: z.string().describe("Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * metadata * names * ph").optional(),
|
|
107
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
registerGeneratedTool(registry, {
|
|
111
|
+
name: "contacts_people_batch_create_contacts",
|
|
112
|
+
cud: "create",
|
|
113
|
+
description: "Create a batch of new contacts and return the PersonResponses for the newly Mutate requests for the same user should be sent sequentially to avoid increased lat",
|
|
114
|
+
method: { id: "people.people.batchCreateContacts", httpMethod: "POST", path: "v1/people:batchCreateContacts", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
115
|
+
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
116
|
+
hasBody: true,
|
|
117
|
+
shape: {
|
|
118
|
+
account: accountField(),
|
|
119
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("BatchCreateContactsRequest JSON request body. Top-level fields: contacts, readMask, sources."),
|
|
120
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
registerGeneratedTool(registry, {
|
|
124
|
+
name: "contacts_people_batch_delete_contacts",
|
|
125
|
+
cud: "delete",
|
|
126
|
+
description: "Delete a batch of contacts. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency a",
|
|
127
|
+
method: { id: "people.people.batchDeleteContacts", httpMethod: "POST", path: "v1/people:batchDeleteContacts", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
128
|
+
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
129
|
+
hasBody: true,
|
|
130
|
+
shape: {
|
|
131
|
+
account: accountField(),
|
|
132
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("BatchDeleteContactsRequest JSON request body. Top-level fields: resourceNames."),
|
|
133
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
registerGeneratedTool(registry, {
|
|
137
|
+
name: "contacts_people_batch_update_contacts",
|
|
138
|
+
cud: "create",
|
|
139
|
+
description: "Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts. Mutate requests for the same user should be sent sequ",
|
|
140
|
+
method: { id: "people.people.batchUpdateContacts", httpMethod: "POST", path: "v1/people:batchUpdateContacts", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
141
|
+
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
142
|
+
hasBody: true,
|
|
143
|
+
shape: {
|
|
144
|
+
account: accountField(),
|
|
145
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("BatchUpdateContactsRequest JSON request body. Top-level fields: contacts, readMask, sources, updateMask."),
|
|
146
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
registerGeneratedTool(registry, {
|
|
150
|
+
name: "contacts_people_delete_contact_photo",
|
|
151
|
+
cud: "delete",
|
|
152
|
+
description: "Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention.",
|
|
153
|
+
method: { id: "people.people.deleteContactPhoto", httpMethod: "DELETE", path: "v1/{+resourceName}:deleteContactPhoto", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"] },
|
|
154
|
+
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "personFields", "api": "personFields", "location": "query" }, { "field": "sources", "api": "sources", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
155
|
+
hasBody: false,
|
|
156
|
+
shape: {
|
|
157
|
+
account: accountField(),
|
|
158
|
+
resourceName: z.string().describe("Required. The resource name of the contact whose photo will be deleted."),
|
|
159
|
+
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(),
|
|
160
|
+
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(),
|
|
161
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
registerGeneratedTool(registry, {
|
|
165
|
+
name: "contacts_people_list_directory_people",
|
|
166
|
+
cud: "read",
|
|
167
|
+
description: "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory. When the `sync_token` is specified, resources deleted since",
|
|
168
|
+
method: { id: "people.people.listDirectoryPeople", httpMethod: "GET", path: "v1/people:listDirectoryPeople", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
169
|
+
params: [{ "field": "mergeSources", "api": "mergeSources", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "readMask", "api": "readMask", "location": "query" }, { "field": "requestSyncToken", "api": "requestSyncToken", "location": "query" }, { "field": "sources", "api": "sources", "location": "query" }, { "field": "syncToken", "api": "syncToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
170
|
+
hasBody: false,
|
|
171
|
+
shape: {
|
|
172
|
+
account: accountField(),
|
|
173
|
+
mergeSources: coerceArray(z.enum(["DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED", "DIRECTORY_MERGE_SOURCE_TYPE_CONTACT"])).describe("Optional. Additional data to merge into the directory sources if they are connected through verified join keys such as email addresses or phone numbers.").optional(),
|
|
174
|
+
pageSize: z.number().describe("Optional. The number of people to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0.").optional(),
|
|
175
|
+
pageToken: z.string().describe("Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.listDirectoryPeople").optional(),
|
|
176
|
+
readMask: z.string().describe("Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * ").optional(),
|
|
177
|
+
requestSyncToken: coerceBoolean.describe("Optional. Whether the response should return `next_sync_token`. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync beha").optional(),
|
|
178
|
+
sources: coerceArray(z.enum(["DIRECTORY_SOURCE_TYPE_UNSPECIFIED", "DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT", "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE"])).describe("Required. Directory sources to return.").optional(),
|
|
179
|
+
syncToken: z.string().describe("Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `").optional(),
|
|
180
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
registerGeneratedTool(registry, {
|
|
184
|
+
name: "contacts_people_search_directory_people",
|
|
185
|
+
cud: "read",
|
|
186
|
+
description: "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query.",
|
|
187
|
+
method: { id: "people.people.searchDirectoryPeople", httpMethod: "GET", path: "v1/people:searchDirectoryPeople", baseUrl: "https://people.googleapis.com/", requiredParams: [] },
|
|
188
|
+
params: [{ "field": "mergeSources", "api": "mergeSources", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "query", "api": "query", "location": "query" }, { "field": "readMask", "api": "readMask", "location": "query" }, { "field": "sources", "api": "sources", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
189
|
+
hasBody: false,
|
|
190
|
+
shape: {
|
|
191
|
+
account: accountField(),
|
|
192
|
+
mergeSources: coerceArray(z.enum(["DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED", "DIRECTORY_MERGE_SOURCE_TYPE_CONTACT"])).describe("Optional. Additional data to merge into the directory sources if they are connected through verified join keys such as email addresses or phone numbers.").optional(),
|
|
193
|
+
pageSize: z.number().describe("Optional. The number of people to include in the response. Valid values are between 1 and 500, inclusive. Defaults to 100 if not set or set to 0.").optional(),
|
|
194
|
+
pageToken: z.string().describe("Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchDirectoryPeople` mus").optional(),
|
|
195
|
+
query: z.string().describe("Required. Prefix query that matches fields in the person. Does NOT use the read_mask for determining what fields to match.").optional(),
|
|
196
|
+
readMask: z.string().describe("Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * ").optional(),
|
|
197
|
+
sources: coerceArray(z.enum(["DIRECTORY_SOURCE_TYPE_UNSPECIFIED", "DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT", "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE"])).describe("Required. Directory sources to return.").optional(),
|
|
198
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
199
|
+
},
|
|
200
|
+
});
|
|
201
|
+
registerGeneratedTool(registry, {
|
|
202
|
+
name: "contacts_people_update_contact_photo",
|
|
203
|
+
cud: "update",
|
|
204
|
+
description: "Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.",
|
|
205
|
+
method: { id: "people.people.updateContactPhoto", httpMethod: "PATCH", path: "v1/{+resourceName}:updateContactPhoto", baseUrl: "https://people.googleapis.com/", requiredParams: ["resourceName"] },
|
|
206
|
+
params: [{ "field": "resourceName", "api": "resourceName", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
207
|
+
hasBody: true,
|
|
208
|
+
shape: {
|
|
209
|
+
account: accountField(),
|
|
210
|
+
resourceName: z.string().describe("Required. Person resource name"),
|
|
211
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("UpdateContactPhotoRequest JSON request body. Top-level fields: personFields, photoBytes, sources."),
|
|
212
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
}
|