mcp-google-multi 5.2.0-alpha.2 → 5.2.0-alpha.4
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 +2 -2
- package/dist/auth.js +33 -0
- package/dist/discovery-client.js +13 -0
- package/dist/index.js +4 -34
- package/dist/services.d.ts +11 -0
- package/dist/services.js +53 -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.js +50 -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/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 +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,1610 @@
|
|
|
1
|
+
// GENERATED by scripts/gen-tools.ts — do not edit. Regenerate: npm run gen:tools
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { coerceArray, coerceJson } from '../_coerce.js';
|
|
4
|
+
import { accountField, registerGeneratedTool } from './_shared.js';
|
|
5
|
+
export function registerClassroomGeneratedTools(registry) {
|
|
6
|
+
registerGeneratedTool(registry, {
|
|
7
|
+
name: "classroom_courses_aliases_create",
|
|
8
|
+
cud: "create",
|
|
9
|
+
description: "Creates an alias for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create the alias",
|
|
10
|
+
method: { id: "classroom.courses.aliases.create", httpMethod: "POST", path: "v1/courses/{courseId}/aliases", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
11
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
12
|
+
hasBody: true,
|
|
13
|
+
shape: {
|
|
14
|
+
account: accountField(),
|
|
15
|
+
courseId: z.string().describe("Identifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
16
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("CourseAlias JSON request body. Top-level fields: alias."),
|
|
17
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
registerGeneratedTool(registry, {
|
|
21
|
+
name: "classroom_courses_aliases_delete",
|
|
22
|
+
cud: "delete",
|
|
23
|
+
description: "Deletes an alias of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to remove the alias o",
|
|
24
|
+
method: { id: "classroom.courses.aliases.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/aliases/{alias}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["alias", "courseId"] },
|
|
25
|
+
params: [{ "field": "alias", "api": "alias", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
26
|
+
hasBody: false,
|
|
27
|
+
shape: {
|
|
28
|
+
account: accountField(),
|
|
29
|
+
alias: z.string().describe("Alias to delete. This may not be the Classroom-assigned identifier."),
|
|
30
|
+
courseId: z.string().describe("Identifier of the course whose alias should be deleted. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
31
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
registerGeneratedTool(registry, {
|
|
35
|
+
name: "classroom_courses_aliases_list",
|
|
36
|
+
cud: "read",
|
|
37
|
+
description: "Returns a list of aliases for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access t",
|
|
38
|
+
method: { id: "classroom.courses.aliases.list", httpMethod: "GET", path: "v1/courses/{courseId}/aliases", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
39
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
40
|
+
hasBody: false,
|
|
41
|
+
shape: {
|
|
42
|
+
account: accountField(),
|
|
43
|
+
courseId: z.string().describe("The identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
44
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
45
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
46
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
registerGeneratedTool(registry, {
|
|
50
|
+
name: "classroom_courses_announcements_add_on_attachments_create",
|
|
51
|
+
cud: "create",
|
|
52
|
+
description: "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error",
|
|
53
|
+
method: { id: "classroom.courses.announcements.addOnAttachments.create", httpMethod: "POST", path: "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId"] },
|
|
54
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
55
|
+
hasBody: true,
|
|
56
|
+
shape: {
|
|
57
|
+
account: accountField(),
|
|
58
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
59
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
60
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classr").optional(),
|
|
61
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
62
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
63
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
registerGeneratedTool(registry, {
|
|
67
|
+
name: "classroom_courses_announcements_add_on_attachments_delete",
|
|
68
|
+
cud: "delete",
|
|
69
|
+
description: "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
70
|
+
method: { id: "classroom.courses.announcements.addOnAttachments.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "attachmentId", "itemId"] },
|
|
71
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
72
|
+
hasBody: false,
|
|
73
|
+
shape: {
|
|
74
|
+
account: accountField(),
|
|
75
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
76
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
77
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
78
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
79
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
registerGeneratedTool(registry, {
|
|
83
|
+
name: "classroom_courses_announcements_add_on_attachments_get",
|
|
84
|
+
cud: "read",
|
|
85
|
+
description: "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following erro",
|
|
86
|
+
method: { id: "classroom.courses.announcements.addOnAttachments.get", httpMethod: "GET", path: "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "attachmentId", "itemId"] },
|
|
87
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
88
|
+
hasBody: false,
|
|
89
|
+
shape: {
|
|
90
|
+
account: accountField(),
|
|
91
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
92
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
93
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
94
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
95
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
registerGeneratedTool(registry, {
|
|
99
|
+
name: "classroom_courses_announcements_add_on_attachments_list",
|
|
100
|
+
cud: "read",
|
|
101
|
+
description: "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachm",
|
|
102
|
+
method: { id: "classroom.courses.announcements.addOnAttachments.list", httpMethod: "GET", path: "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId"] },
|
|
103
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
104
|
+
hasBody: false,
|
|
105
|
+
shape: {
|
|
106
|
+
account: accountField(),
|
|
107
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
108
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
109
|
+
pageSize: z.number().describe("The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coe").optional(),
|
|
110
|
+
pageToken: z.string().describe("A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match th").optional(),
|
|
111
|
+
postId: z.string().describe("Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.").optional(),
|
|
112
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
registerGeneratedTool(registry, {
|
|
116
|
+
name: "classroom_courses_announcements_add_on_attachments_patch",
|
|
117
|
+
cud: "update",
|
|
118
|
+
description: "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
119
|
+
method: { id: "classroom.courses.announcements.addOnAttachments.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId", "attachmentId"] },
|
|
120
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
121
|
+
hasBody: true,
|
|
122
|
+
shape: {
|
|
123
|
+
account: accountField(),
|
|
124
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
125
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
126
|
+
itemId: z.string().describe("Identifier of the post under which the attachment is attached."),
|
|
127
|
+
postId: z.string().describe("Required. Identifier of the post under which the attachment is attached.").optional(),
|
|
128
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the u").optional(),
|
|
129
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
130
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
registerGeneratedTool(registry, {
|
|
134
|
+
name: "classroom_courses_announcements_create",
|
|
135
|
+
cud: "create",
|
|
136
|
+
description: "Creates an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested co",
|
|
137
|
+
method: { id: "classroom.courses.announcements.create", httpMethod: "POST", path: "v1/courses/{courseId}/announcements", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
138
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
139
|
+
hasBody: true,
|
|
140
|
+
shape: {
|
|
141
|
+
account: accountField(),
|
|
142
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
143
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Announcement JSON request body. Top-level fields: alternateLink, assigneeMode, courseId, creationTime, creatorUserId, id, individualStudentsOptions, materials, scheduledTime, state, text, updateTime."),
|
|
144
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
registerGeneratedTool(registry, {
|
|
148
|
+
name: "classroom_courses_announcements_delete",
|
|
149
|
+
cud: "delete",
|
|
150
|
+
description: "Deletes an announcement. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) us",
|
|
151
|
+
method: { id: "classroom.courses.announcements.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/announcements/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
152
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
153
|
+
hasBody: false,
|
|
154
|
+
shape: {
|
|
155
|
+
account: accountField(),
|
|
156
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
157
|
+
id: z.string().describe("Identifier of the announcement to delete. This identifier is a Classroom-assigned identifier."),
|
|
158
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
registerGeneratedTool(registry, {
|
|
162
|
+
name: "classroom_courses_announcements_get",
|
|
163
|
+
cud: "read",
|
|
164
|
+
description: "Returns an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested co",
|
|
165
|
+
method: { id: "classroom.courses.announcements.get", httpMethod: "GET", path: "v1/courses/{courseId}/announcements/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
166
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
167
|
+
hasBody: false,
|
|
168
|
+
shape: {
|
|
169
|
+
account: accountField(),
|
|
170
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
171
|
+
id: z.string().describe("Identifier of the announcement."),
|
|
172
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
registerGeneratedTool(registry, {
|
|
176
|
+
name: "classroom_courses_announcements_get_add_on_context",
|
|
177
|
+
cud: "read",
|
|
178
|
+
description: "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call th",
|
|
179
|
+
method: { id: "classroom.courses.announcements.getAddOnContext", httpMethod: "GET", path: "v1/courses/{courseId}/announcements/{itemId}/addOnContext", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId"] },
|
|
180
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "attachmentId", "api": "attachmentId", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
181
|
+
hasBody: false,
|
|
182
|
+
shape: {
|
|
183
|
+
account: accountField(),
|
|
184
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
185
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
186
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither o").optional(),
|
|
187
|
+
attachmentId: z.string().describe("Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/workspace/classroom/add-o").optional(),
|
|
188
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
189
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
registerGeneratedTool(registry, {
|
|
193
|
+
name: "classroom_courses_announcements_list",
|
|
194
|
+
cud: "read",
|
|
195
|
+
description: "Returns a list of announcements that the requester is permitted to view. Course students may only view `PUBLISHED` announcements. Course teachers and domain adm",
|
|
196
|
+
method: { id: "classroom.courses.announcements.list", httpMethod: "GET", path: "v1/courses/{courseId}/announcements", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
197
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "announcementStates", "api": "announcementStates", "location": "query" }, { "field": "orderBy", "api": "orderBy", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
198
|
+
hasBody: false,
|
|
199
|
+
shape: {
|
|
200
|
+
account: accountField(),
|
|
201
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
202
|
+
announcementStates: coerceArray(z.enum(["ANNOUNCEMENT_STATE_UNSPECIFIED", "PUBLISHED", "DRAFT", "DELETED"])).describe("Restriction on the `state` of announcements returned. If this argument is left unspecified, the default value is `PUBLISHED`.").optional(),
|
|
203
|
+
orderBy: z.string().describe("Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not").optional(),
|
|
204
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
205
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
206
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
registerGeneratedTool(registry, {
|
|
210
|
+
name: "classroom_courses_announcements_modify_assignees",
|
|
211
|
+
cud: "update",
|
|
212
|
+
description: "Modifies assignee mode and options of an announcement. Only a teacher of the course that contains the announcement may call this method. This method returns the",
|
|
213
|
+
method: { id: "classroom.courses.announcements.modifyAssignees", httpMethod: "POST", path: "v1/courses/{courseId}/announcements/{id}:modifyAssignees", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
214
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
215
|
+
hasBody: true,
|
|
216
|
+
shape: {
|
|
217
|
+
account: accountField(),
|
|
218
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
219
|
+
id: z.string().describe("Identifier of the announcement."),
|
|
220
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("ModifyAnnouncementAssigneesRequest JSON request body. Top-level fields: assigneeMode, modifyIndividualStudentsOptions."),
|
|
221
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
222
|
+
},
|
|
223
|
+
});
|
|
224
|
+
registerGeneratedTool(registry, {
|
|
225
|
+
name: "classroom_courses_announcements_patch",
|
|
226
|
+
cud: "update",
|
|
227
|
+
description: "Updates one or more fields of an announcement. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not",
|
|
228
|
+
method: { id: "classroom.courses.announcements.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/announcements/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "id"] },
|
|
229
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
230
|
+
hasBody: true,
|
|
231
|
+
shape: {
|
|
232
|
+
account: accountField(),
|
|
233
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
234
|
+
id: z.string().describe("Identifier of the announcement."),
|
|
235
|
+
updateMask: z.string().describe("Mask that identifies which fields on the announcement to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be c").optional(),
|
|
236
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Announcement JSON request body. Top-level fields: alternateLink, assigneeMode, courseId, creationTime, creatorUserId, id, individualStudentsOptions, materials, scheduledTime, state, text, updateTime."),
|
|
237
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
registerGeneratedTool(registry, {
|
|
241
|
+
name: "classroom_courses_course_work_add_on_attachments_create",
|
|
242
|
+
cud: "create",
|
|
243
|
+
description: "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error",
|
|
244
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.create", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId"] },
|
|
245
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
246
|
+
hasBody: true,
|
|
247
|
+
shape: {
|
|
248
|
+
account: accountField(),
|
|
249
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
250
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
251
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classr").optional(),
|
|
252
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
253
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
254
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
registerGeneratedTool(registry, {
|
|
258
|
+
name: "classroom_courses_course_work_add_on_attachments_delete",
|
|
259
|
+
cud: "delete",
|
|
260
|
+
description: "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
261
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId", "attachmentId"] },
|
|
262
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
263
|
+
hasBody: false,
|
|
264
|
+
shape: {
|
|
265
|
+
account: accountField(),
|
|
266
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
267
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
268
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
269
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
270
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
registerGeneratedTool(registry, {
|
|
274
|
+
name: "classroom_courses_course_work_add_on_attachments_get",
|
|
275
|
+
cud: "read",
|
|
276
|
+
description: "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following erro",
|
|
277
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "attachmentId", "itemId"] },
|
|
278
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
279
|
+
hasBody: false,
|
|
280
|
+
shape: {
|
|
281
|
+
account: accountField(),
|
|
282
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
283
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
284
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
285
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
286
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
287
|
+
},
|
|
288
|
+
});
|
|
289
|
+
registerGeneratedTool(registry, {
|
|
290
|
+
name: "classroom_courses_course_work_add_on_attachments_list",
|
|
291
|
+
cud: "read",
|
|
292
|
+
description: "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachm",
|
|
293
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.list", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId"] },
|
|
294
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
295
|
+
hasBody: false,
|
|
296
|
+
shape: {
|
|
297
|
+
account: accountField(),
|
|
298
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
299
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
300
|
+
pageSize: z.number().describe("The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coe").optional(),
|
|
301
|
+
pageToken: z.string().describe("A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match th").optional(),
|
|
302
|
+
postId: z.string().describe("Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.").optional(),
|
|
303
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
304
|
+
},
|
|
305
|
+
});
|
|
306
|
+
registerGeneratedTool(registry, {
|
|
307
|
+
name: "classroom_courses_course_work_add_on_attachments_patch",
|
|
308
|
+
cud: "update",
|
|
309
|
+
description: "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
310
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId", "attachmentId"] },
|
|
311
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
312
|
+
hasBody: true,
|
|
313
|
+
shape: {
|
|
314
|
+
account: accountField(),
|
|
315
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
316
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
317
|
+
itemId: z.string().describe("Identifier of the post under which the attachment is attached."),
|
|
318
|
+
postId: z.string().describe("Required. Identifier of the post under which the attachment is attached.").optional(),
|
|
319
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the u").optional(),
|
|
320
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
321
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
registerGeneratedTool(registry, {
|
|
325
|
+
name: "classroom_coursework_addon_submissions_get",
|
|
326
|
+
cud: "read",
|
|
327
|
+
description: "Returns a student submission for an add-on attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUME",
|
|
328
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.studentSubmissions.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["attachmentId", "itemId", "courseId", "submissionId"] },
|
|
329
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "submissionId", "api": "submissionId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
330
|
+
hasBody: false,
|
|
331
|
+
shape: {
|
|
332
|
+
account: accountField(),
|
|
333
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
334
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
335
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
336
|
+
submissionId: z.string().describe("Required. Identifier of the student’s submission."),
|
|
337
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
338
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
339
|
+
},
|
|
340
|
+
});
|
|
341
|
+
registerGeneratedTool(registry, {
|
|
342
|
+
name: "classroom_coursework_addon_submissions_patch",
|
|
343
|
+
cud: "update",
|
|
344
|
+
description: "Updates data associated with an add-on attachment submission. Requires the add-on to have been the original creator of the attachment and the attachment to have",
|
|
345
|
+
method: { id: "classroom.courses.courseWork.addOnAttachments.studentSubmissions.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId", "submissionId", "attachmentId"] },
|
|
346
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "submissionId", "api": "submissionId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
347
|
+
hasBody: true,
|
|
348
|
+
shape: {
|
|
349
|
+
account: accountField(),
|
|
350
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
351
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
352
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
353
|
+
submissionId: z.string().describe("Required. Identifier of the student's submission."),
|
|
354
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
355
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the u").optional(),
|
|
356
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachmentStudentSubmission JSON request body. Top-level fields: courseWorkSubmissionId, id, pointsEarned, postSubmissionState, userId."),
|
|
357
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
358
|
+
},
|
|
359
|
+
});
|
|
360
|
+
registerGeneratedTool(registry, {
|
|
361
|
+
name: "classroom_courses_course_work_create",
|
|
362
|
+
cud: "create",
|
|
363
|
+
description: "Creates course work. The resulting course work (and corresponding student submissions) are associated with the Developer Console project of the [OAuth client ID",
|
|
364
|
+
method: { id: "classroom.courses.courseWork.create", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
365
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
366
|
+
hasBody: true,
|
|
367
|
+
shape: {
|
|
368
|
+
account: accountField(),
|
|
369
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
370
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("CourseWork JSON request body. Top-level fields: alternateLink, assigneeMode, assignment, associatedWithDeveloper, courseId, creationTime, creatorUserId, description, dueDate, dueTime, gradeCategory, gradingPeriodId, +12 more."),
|
|
371
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
372
|
+
},
|
|
373
|
+
});
|
|
374
|
+
registerGeneratedTool(registry, {
|
|
375
|
+
name: "classroom_courses_course_work_delete",
|
|
376
|
+
cud: "delete",
|
|
377
|
+
description: "Deletes a course work. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used",
|
|
378
|
+
method: { id: "classroom.courses.courseWork.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/courseWork/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "id"] },
|
|
379
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
380
|
+
hasBody: false,
|
|
381
|
+
shape: {
|
|
382
|
+
account: accountField(),
|
|
383
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
384
|
+
id: z.string().describe("Identifier of the course work to delete. This identifier is a Classroom-assigned identifier."),
|
|
385
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
386
|
+
},
|
|
387
|
+
});
|
|
388
|
+
registerGeneratedTool(registry, {
|
|
389
|
+
name: "classroom_courses_course_work_get",
|
|
390
|
+
cud: "read",
|
|
391
|
+
description: "Returns course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course",
|
|
392
|
+
method: { id: "classroom.courses.courseWork.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
393
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
394
|
+
hasBody: false,
|
|
395
|
+
shape: {
|
|
396
|
+
account: accountField(),
|
|
397
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
398
|
+
id: z.string().describe("Identifier of the course work."),
|
|
399
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
400
|
+
},
|
|
401
|
+
});
|
|
402
|
+
registerGeneratedTool(registry, {
|
|
403
|
+
name: "classroom_courses_course_work_get_add_on_context",
|
|
404
|
+
cud: "read",
|
|
405
|
+
description: "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call th",
|
|
406
|
+
method: { id: "classroom.courses.courseWork.getAddOnContext", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{itemId}/addOnContext", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId"] },
|
|
407
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "attachmentId", "api": "attachmentId", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
408
|
+
hasBody: false,
|
|
409
|
+
shape: {
|
|
410
|
+
account: accountField(),
|
|
411
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
412
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
413
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither o").optional(),
|
|
414
|
+
attachmentId: z.string().describe("Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/workspace/classroom/add-o").optional(),
|
|
415
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
416
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
417
|
+
},
|
|
418
|
+
});
|
|
419
|
+
registerGeneratedTool(registry, {
|
|
420
|
+
name: "classroom_courses_course_work_list",
|
|
421
|
+
cud: "read",
|
|
422
|
+
description: "Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain adminis",
|
|
423
|
+
method: { id: "classroom.courses.courseWork.list", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
424
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkStates", "api": "courseWorkStates", "location": "query" }, { "field": "orderBy", "api": "orderBy", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
425
|
+
hasBody: false,
|
|
426
|
+
shape: {
|
|
427
|
+
account: accountField(),
|
|
428
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
429
|
+
courseWorkStates: coerceArray(z.enum(["COURSE_WORK_STATE_UNSPECIFIED", "PUBLISHED", "DRAFT", "DELETED"])).describe("Restriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.").optional(),
|
|
430
|
+
orderBy: z.string().describe("Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` an").optional(),
|
|
431
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
432
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
433
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
434
|
+
},
|
|
435
|
+
});
|
|
436
|
+
registerGeneratedTool(registry, {
|
|
437
|
+
name: "classroom_courses_course_work_modify_assignees",
|
|
438
|
+
cud: "update",
|
|
439
|
+
description: "Modifies assignee mode and options of a coursework. Only a teacher of the course that contains the coursework may call this method. This method returns the foll",
|
|
440
|
+
method: { id: "classroom.courses.courseWork.modifyAssignees", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{id}:modifyAssignees", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "id"] },
|
|
441
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
442
|
+
hasBody: true,
|
|
443
|
+
shape: {
|
|
444
|
+
account: accountField(),
|
|
445
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
446
|
+
id: z.string().describe("Identifier of the coursework."),
|
|
447
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("ModifyCourseWorkAssigneesRequest JSON request body. Top-level fields: assigneeMode, modifyIndividualStudentsOptions."),
|
|
448
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
449
|
+
},
|
|
450
|
+
});
|
|
451
|
+
registerGeneratedTool(registry, {
|
|
452
|
+
name: "classroom_courses_course_work_patch",
|
|
453
|
+
cud: "update",
|
|
454
|
+
description: "Updates one or more fields of a course work. See google.classroom.v1.CourseWork for details of which fields may be updated and who may change them. This request",
|
|
455
|
+
method: { id: "classroom.courses.courseWork.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWork/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "id"] },
|
|
456
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
457
|
+
hasBody: true,
|
|
458
|
+
shape: {
|
|
459
|
+
account: accountField(),
|
|
460
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
461
|
+
id: z.string().describe("Identifier of the course work."),
|
|
462
|
+
updateMask: z.string().describe("Mask that identifies which fields on the course work to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cl").optional(),
|
|
463
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("CourseWork JSON request body. Top-level fields: alternateLink, assigneeMode, assignment, associatedWithDeveloper, courseId, creationTime, creatorUserId, description, dueDate, dueTime, gradeCategory, gradingPeriodId, +12 more."),
|
|
464
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
465
|
+
},
|
|
466
|
+
});
|
|
467
|
+
registerGeneratedTool(registry, {
|
|
468
|
+
name: "classroom_courses_course_work_rubrics_create",
|
|
469
|
+
cud: "create",
|
|
470
|
+
description: "Creates a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.goo",
|
|
471
|
+
method: { id: "classroom.courses.courseWork.rubrics.create", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId"] },
|
|
472
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
473
|
+
hasBody: true,
|
|
474
|
+
shape: {
|
|
475
|
+
account: accountField(),
|
|
476
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
477
|
+
courseWorkId: z.string().describe("Required. Identifier of the course work."),
|
|
478
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Rubric JSON request body. Top-level fields: courseId, courseWorkId, creationTime, criteria, id, sourceSpreadsheetId, updateTime."),
|
|
479
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
480
|
+
},
|
|
481
|
+
});
|
|
482
|
+
registerGeneratedTool(registry, {
|
|
483
|
+
name: "classroom_courses_course_work_rubrics_delete",
|
|
484
|
+
cud: "delete",
|
|
485
|
+
description: "Deletes a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.goo",
|
|
486
|
+
method: { id: "classroom.courses.courseWork.rubrics.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId", "courseWorkId"] },
|
|
487
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
488
|
+
hasBody: false,
|
|
489
|
+
shape: {
|
|
490
|
+
account: accountField(),
|
|
491
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
492
|
+
courseWorkId: z.string().describe("Required. Identifier of the course work."),
|
|
493
|
+
id: z.string().describe("Required. Identifier of the rubric."),
|
|
494
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
495
|
+
},
|
|
496
|
+
});
|
|
497
|
+
registerGeneratedTool(registry, {
|
|
498
|
+
name: "classroom_courses_course_work_rubrics_get",
|
|
499
|
+
cud: "read",
|
|
500
|
+
description: "Returns a rubric. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `N",
|
|
501
|
+
method: { id: "classroom.courses.courseWork.rubrics.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId", "id"] },
|
|
502
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
503
|
+
hasBody: false,
|
|
504
|
+
shape: {
|
|
505
|
+
account: accountField(),
|
|
506
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
507
|
+
courseWorkId: z.string().describe("Required. Identifier of the course work."),
|
|
508
|
+
id: z.string().describe("Required. Identifier of the rubric."),
|
|
509
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
510
|
+
},
|
|
511
|
+
});
|
|
512
|
+
registerGeneratedTool(registry, {
|
|
513
|
+
name: "classroom_courses_course_work_rubrics_list",
|
|
514
|
+
cud: "read",
|
|
515
|
+
description: "Returns a list of rubrics that the requester is permitted to view. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `IN",
|
|
516
|
+
method: { id: "classroom.courses.courseWork.rubrics.list", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId"] },
|
|
517
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
518
|
+
hasBody: false,
|
|
519
|
+
shape: {
|
|
520
|
+
account: accountField(),
|
|
521
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
522
|
+
courseWorkId: z.string().describe("Required. Identifier of the course work."),
|
|
523
|
+
pageSize: z.number().describe("The maximum number of rubrics to return. If unspecified, at most 1 rubric is returned. The maximum value is 1; values above 1 are coerced to 1.").optional(),
|
|
524
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
525
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
526
|
+
},
|
|
527
|
+
});
|
|
528
|
+
registerGeneratedTool(registry, {
|
|
529
|
+
name: "classroom_courses_course_work_rubrics_patch",
|
|
530
|
+
cud: "update",
|
|
531
|
+
description: "Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitat",
|
|
532
|
+
method: { id: "classroom.courses.courseWork.rubrics.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId", "id"] },
|
|
533
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
534
|
+
hasBody: true,
|
|
535
|
+
shape: {
|
|
536
|
+
account: accountField(),
|
|
537
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
538
|
+
courseWorkId: z.string().describe("Required. Identifier of the course work."),
|
|
539
|
+
id: z.string().describe("Optional. Identifier of the rubric."),
|
|
540
|
+
updateMask: z.string().describe("Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the ").optional(),
|
|
541
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Rubric JSON request body. Top-level fields: courseId, courseWorkId, creationTime, criteria, id, sourceSpreadsheetId, updateTime."),
|
|
542
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
543
|
+
},
|
|
544
|
+
});
|
|
545
|
+
registerGeneratedTool(registry, {
|
|
546
|
+
name: "classroom_courses_course_work_student_submissions_get",
|
|
547
|
+
cud: "read",
|
|
548
|
+
description: "Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission o",
|
|
549
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId", "id"] },
|
|
550
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
551
|
+
hasBody: false,
|
|
552
|
+
shape: {
|
|
553
|
+
account: accountField(),
|
|
554
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
555
|
+
courseWorkId: z.string().describe("Identifier of the course work."),
|
|
556
|
+
id: z.string().describe("Identifier of the student submission."),
|
|
557
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
558
|
+
},
|
|
559
|
+
});
|
|
560
|
+
registerGeneratedTool(registry, {
|
|
561
|
+
name: "classroom_courses_course_work_student_submissions_list",
|
|
562
|
+
cud: "read",
|
|
563
|
+
description: "Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. A hyphen (`-`) may be specified as",
|
|
564
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.list", httpMethod: "GET", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId"] },
|
|
565
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "late", "api": "late", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "states", "api": "states", "location": "query" }, { "field": "userId", "api": "userId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
566
|
+
hasBody: false,
|
|
567
|
+
shape: {
|
|
568
|
+
account: accountField(),
|
|
569
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
570
|
+
courseWorkId: z.string().describe("Identifier of the student work to request. This may be set to the string literal `\"-\"` to request student work for all course work in the specified course."),
|
|
571
|
+
late: z.enum(["LATE_VALUES_UNSPECIFIED", "LATE_ONLY", "NOT_LATE_ONLY"]).describe("Requested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value.").optional(),
|
|
572
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
573
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
574
|
+
states: coerceArray(z.enum(["SUBMISSION_STATE_UNSPECIFIED", "NEW", "CREATED", "TURNED_IN", "RETURNED", "RECLAIMED_BY_STUDENT"])).describe("Requested submission states. If specified, returned student submissions match one of the specified submission states.").optional(),
|
|
575
|
+
userId: z.string().describe("Optional argument to restrict returned student work to those owned by the student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the").optional(),
|
|
576
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
577
|
+
},
|
|
578
|
+
});
|
|
579
|
+
registerGeneratedTool(registry, {
|
|
580
|
+
name: "classroom_coursework_submissions_modify_attachments",
|
|
581
|
+
cud: "update",
|
|
582
|
+
description: "Modifies attachments of student submission. Attachments may only be added to student submissions belonging to course work objects with a `workType` of `ASSIGNME",
|
|
583
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.modifyAttachments", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId", "courseWorkId"] },
|
|
584
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
585
|
+
hasBody: true,
|
|
586
|
+
shape: {
|
|
587
|
+
account: accountField(),
|
|
588
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
589
|
+
courseWorkId: z.string().describe("Identifier of the course work."),
|
|
590
|
+
id: z.string().describe("Identifier of the student submission."),
|
|
591
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("ModifyAttachmentsRequest JSON request body. Top-level fields: addAttachments."),
|
|
592
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
593
|
+
},
|
|
594
|
+
});
|
|
595
|
+
registerGeneratedTool(registry, {
|
|
596
|
+
name: "classroom_courses_course_work_student_submissions_patch",
|
|
597
|
+
cud: "update",
|
|
598
|
+
description: "Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them",
|
|
599
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId", "id"] },
|
|
600
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
601
|
+
hasBody: true,
|
|
602
|
+
shape: {
|
|
603
|
+
account: accountField(),
|
|
604
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
605
|
+
courseWorkId: z.string().describe("Identifier of the course work."),
|
|
606
|
+
id: z.string().describe("Identifier of the student submission."),
|
|
607
|
+
updateMask: z.string().describe("Mask that identifies which fields on the student submission to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields may be specified b").optional(),
|
|
608
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("StudentSubmission JSON request body. Top-level fields: alternateLink, assignedGrade, assignedRubricGrades, assignmentSubmission, associatedWithDeveloper, courseId, courseWorkId, courseWorkType, creationTime, draftGrade, draftRubricGrades, id, +7 more."),
|
|
609
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
610
|
+
},
|
|
611
|
+
});
|
|
612
|
+
registerGeneratedTool(registry, {
|
|
613
|
+
name: "classroom_courses_course_work_student_submissions_reclaim",
|
|
614
|
+
cud: "create",
|
|
615
|
+
description: "Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student",
|
|
616
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.reclaim", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId", "courseWorkId"] },
|
|
617
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
618
|
+
hasBody: true,
|
|
619
|
+
shape: {
|
|
620
|
+
account: accountField(),
|
|
621
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
622
|
+
courseWorkId: z.string().describe("Identifier of the course work."),
|
|
623
|
+
id: z.string().describe("Identifier of the student submission."),
|
|
624
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("ReclaimStudentSubmissionRequest JSON request body."),
|
|
625
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
626
|
+
},
|
|
627
|
+
});
|
|
628
|
+
registerGeneratedTool(registry, {
|
|
629
|
+
name: "classroom_courses_course_work_student_submissions_return",
|
|
630
|
+
cud: "create",
|
|
631
|
+
description: "Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state",
|
|
632
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.return", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId", "id"] },
|
|
633
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
634
|
+
hasBody: true,
|
|
635
|
+
shape: {
|
|
636
|
+
account: accountField(),
|
|
637
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
638
|
+
courseWorkId: z.string().describe("Identifier of the course work."),
|
|
639
|
+
id: z.string().describe("Identifier of the student submission."),
|
|
640
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("ReturnStudentSubmissionRequest JSON request body."),
|
|
641
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
642
|
+
},
|
|
643
|
+
});
|
|
644
|
+
registerGeneratedTool(registry, {
|
|
645
|
+
name: "classroom_courses_course_work_student_submissions_turn_in",
|
|
646
|
+
cud: "create",
|
|
647
|
+
description: "Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission sta",
|
|
648
|
+
method: { id: "classroom.courses.courseWork.studentSubmissions.turnIn", httpMethod: "POST", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId", "id"] },
|
|
649
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
650
|
+
hasBody: true,
|
|
651
|
+
shape: {
|
|
652
|
+
account: accountField(),
|
|
653
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
654
|
+
courseWorkId: z.string().describe("Identifier of the course work."),
|
|
655
|
+
id: z.string().describe("Identifier of the student submission."),
|
|
656
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("TurnInStudentSubmissionRequest JSON request body."),
|
|
657
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
658
|
+
},
|
|
659
|
+
});
|
|
660
|
+
registerGeneratedTool(registry, {
|
|
661
|
+
name: "classroom_courses_course_work_update_rubric",
|
|
662
|
+
cud: "update",
|
|
663
|
+
description: "Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitat",
|
|
664
|
+
method: { id: "classroom.courses.courseWork.updateRubric", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWork/{courseWorkId}/rubric", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "courseWorkId"] },
|
|
665
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkId", "api": "courseWorkId", "location": "path" }, { "field": "id", "api": "id", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
666
|
+
hasBody: true,
|
|
667
|
+
shape: {
|
|
668
|
+
account: accountField(),
|
|
669
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
670
|
+
courseWorkId: z.string().describe("Required. Identifier of the course work."),
|
|
671
|
+
id: z.string().describe("Optional. Identifier of the rubric.").optional(),
|
|
672
|
+
updateMask: z.string().describe("Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the ").optional(),
|
|
673
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Rubric JSON request body. Top-level fields: courseId, courseWorkId, creationTime, criteria, id, sourceSpreadsheetId, updateTime."),
|
|
674
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
675
|
+
},
|
|
676
|
+
});
|
|
677
|
+
registerGeneratedTool(registry, {
|
|
678
|
+
name: "classroom_coursework_materials_addons_create",
|
|
679
|
+
cud: "create",
|
|
680
|
+
description: "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error",
|
|
681
|
+
method: { id: "classroom.courses.courseWorkMaterials.addOnAttachments.create", httpMethod: "POST", path: "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId"] },
|
|
682
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
683
|
+
hasBody: true,
|
|
684
|
+
shape: {
|
|
685
|
+
account: accountField(),
|
|
686
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
687
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
688
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classr").optional(),
|
|
689
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
690
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
691
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
692
|
+
},
|
|
693
|
+
});
|
|
694
|
+
registerGeneratedTool(registry, {
|
|
695
|
+
name: "classroom_coursework_materials_addons_delete",
|
|
696
|
+
cud: "delete",
|
|
697
|
+
description: "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
698
|
+
method: { id: "classroom.courses.courseWorkMaterials.addOnAttachments.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["itemId", "courseId", "attachmentId"] },
|
|
699
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
700
|
+
hasBody: false,
|
|
701
|
+
shape: {
|
|
702
|
+
account: accountField(),
|
|
703
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
704
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
705
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
706
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
707
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
708
|
+
},
|
|
709
|
+
});
|
|
710
|
+
registerGeneratedTool(registry, {
|
|
711
|
+
name: "classroom_courses_course_work_materials_add_on_attachments_get",
|
|
712
|
+
cud: "read",
|
|
713
|
+
description: "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following erro",
|
|
714
|
+
method: { id: "classroom.courses.courseWorkMaterials.addOnAttachments.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "attachmentId", "itemId"] },
|
|
715
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
716
|
+
hasBody: false,
|
|
717
|
+
shape: {
|
|
718
|
+
account: accountField(),
|
|
719
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
720
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
721
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
722
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
723
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
724
|
+
},
|
|
725
|
+
});
|
|
726
|
+
registerGeneratedTool(registry, {
|
|
727
|
+
name: "classroom_courses_course_work_materials_add_on_attachments_list",
|
|
728
|
+
cud: "read",
|
|
729
|
+
description: "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachm",
|
|
730
|
+
method: { id: "classroom.courses.courseWorkMaterials.addOnAttachments.list", httpMethod: "GET", path: "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId"] },
|
|
731
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
732
|
+
hasBody: false,
|
|
733
|
+
shape: {
|
|
734
|
+
account: accountField(),
|
|
735
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
736
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
737
|
+
pageSize: z.number().describe("The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coe").optional(),
|
|
738
|
+
pageToken: z.string().describe("A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match th").optional(),
|
|
739
|
+
postId: z.string().describe("Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead.").optional(),
|
|
740
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
741
|
+
},
|
|
742
|
+
});
|
|
743
|
+
registerGeneratedTool(registry, {
|
|
744
|
+
name: "classroom_courses_course_work_materials_add_on_attachments_patch",
|
|
745
|
+
cud: "update",
|
|
746
|
+
description: "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
747
|
+
method: { id: "classroom.courses.courseWorkMaterials.addOnAttachments.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId", "attachmentId"] },
|
|
748
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
749
|
+
hasBody: true,
|
|
750
|
+
shape: {
|
|
751
|
+
account: accountField(),
|
|
752
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
753
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
754
|
+
itemId: z.string().describe("Identifier of the post under which the attachment is attached."),
|
|
755
|
+
postId: z.string().describe("Required. Identifier of the post under which the attachment is attached.").optional(),
|
|
756
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the u").optional(),
|
|
757
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
758
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
759
|
+
},
|
|
760
|
+
});
|
|
761
|
+
registerGeneratedTool(registry, {
|
|
762
|
+
name: "classroom_courses_course_work_materials_create",
|
|
763
|
+
cud: "create",
|
|
764
|
+
description: "Creates a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the reque",
|
|
765
|
+
method: { id: "classroom.courses.courseWorkMaterials.create", httpMethod: "POST", path: "v1/courses/{courseId}/courseWorkMaterials", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
766
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
767
|
+
hasBody: true,
|
|
768
|
+
shape: {
|
|
769
|
+
account: accountField(),
|
|
770
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
771
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("CourseWorkMaterial JSON request body. Top-level fields: alternateLink, assigneeMode, courseId, creationTime, creatorUserId, description, id, individualStudentsOptions, materials, scheduledTime, state, title, +2 more."),
|
|
772
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
773
|
+
},
|
|
774
|
+
});
|
|
775
|
+
registerGeneratedTool(registry, {
|
|
776
|
+
name: "classroom_courses_course_work_materials_delete",
|
|
777
|
+
cud: "delete",
|
|
778
|
+
description: "Deletes a course work material. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158",
|
|
779
|
+
method: { id: "classroom.courses.courseWorkMaterials.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/courseWorkMaterials/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
780
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
781
|
+
hasBody: false,
|
|
782
|
+
shape: {
|
|
783
|
+
account: accountField(),
|
|
784
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
785
|
+
id: z.string().describe("Identifier of the course work material to delete. This identifier is a Classroom-assigned identifier."),
|
|
786
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
787
|
+
},
|
|
788
|
+
});
|
|
789
|
+
registerGeneratedTool(registry, {
|
|
790
|
+
name: "classroom_courses_course_work_materials_get",
|
|
791
|
+
cud: "read",
|
|
792
|
+
description: "Returns a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the reque",
|
|
793
|
+
method: { id: "classroom.courses.courseWorkMaterials.get", httpMethod: "GET", path: "v1/courses/{courseId}/courseWorkMaterials/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "id"] },
|
|
794
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
795
|
+
hasBody: false,
|
|
796
|
+
shape: {
|
|
797
|
+
account: accountField(),
|
|
798
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
799
|
+
id: z.string().describe("Identifier of the course work material."),
|
|
800
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
801
|
+
},
|
|
802
|
+
});
|
|
803
|
+
registerGeneratedTool(registry, {
|
|
804
|
+
name: "classroom_courses_course_work_materials_get_add_on_context",
|
|
805
|
+
cud: "read",
|
|
806
|
+
description: "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call th",
|
|
807
|
+
method: { id: "classroom.courses.courseWorkMaterials.getAddOnContext", httpMethod: "GET", path: "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "itemId"] },
|
|
808
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "attachmentId", "api": "attachmentId", "location": "query" }, { "field": "postId", "api": "postId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
809
|
+
hasBody: false,
|
|
810
|
+
shape: {
|
|
811
|
+
account: accountField(),
|
|
812
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
813
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id."),
|
|
814
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither o").optional(),
|
|
815
|
+
attachmentId: z.string().describe("Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/workspace/classroom/add-o").optional(),
|
|
816
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead.").optional(),
|
|
817
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
818
|
+
},
|
|
819
|
+
});
|
|
820
|
+
registerGeneratedTool(registry, {
|
|
821
|
+
name: "classroom_courses_course_work_materials_list",
|
|
822
|
+
cud: "read",
|
|
823
|
+
description: "Returns a list of course work material that the requester is permitted to view. Course students may only view `PUBLISHED` course work material. Course teachers",
|
|
824
|
+
method: { id: "classroom.courses.courseWorkMaterials.list", httpMethod: "GET", path: "v1/courses/{courseId}/courseWorkMaterials", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
825
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "courseWorkMaterialStates", "api": "courseWorkMaterialStates", "location": "query" }, { "field": "materialDriveId", "api": "materialDriveId", "location": "query" }, { "field": "materialLink", "api": "materialLink", "location": "query" }, { "field": "orderBy", "api": "orderBy", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
826
|
+
hasBody: false,
|
|
827
|
+
shape: {
|
|
828
|
+
account: accountField(),
|
|
829
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
830
|
+
courseWorkMaterialStates: coerceArray(z.enum(["COURSEWORK_MATERIAL_STATE_UNSPECIFIED", "PUBLISHED", "DRAFT", "DELETED"])).describe("Restriction on the work status to return. Only course work material that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.").optional(),
|
|
831
|
+
materialDriveId: z.string().describe("Optional filtering for course work material with at least one Drive material whose ID matches the provided string. If `material_link` is also specified, course work material must have materials matchi").optional(),
|
|
832
|
+
materialLink: z.string().describe("Optional filtering for course work material with at least one link material whose URL partially matches the provided string.").optional(),
|
|
833
|
+
orderBy: z.string().describe("Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not").optional(),
|
|
834
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
835
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
836
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
837
|
+
},
|
|
838
|
+
});
|
|
839
|
+
registerGeneratedTool(registry, {
|
|
840
|
+
name: "classroom_courses_course_work_materials_patch",
|
|
841
|
+
cud: "update",
|
|
842
|
+
description: "Updates one or more fields of a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project f",
|
|
843
|
+
method: { id: "classroom.courses.courseWorkMaterials.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/courseWorkMaterials/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "id"] },
|
|
844
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
845
|
+
hasBody: true,
|
|
846
|
+
shape: {
|
|
847
|
+
account: accountField(),
|
|
848
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
849
|
+
id: z.string().describe("Identifier of the course work material."),
|
|
850
|
+
updateMask: z.string().describe("Mask that identifies which fields on the course work material to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it ").optional(),
|
|
851
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("CourseWorkMaterial JSON request body. Top-level fields: alternateLink, assigneeMode, courseId, creationTime, creatorUserId, description, id, individualStudentsOptions, materials, scheduledTime, state, title, +2 more."),
|
|
852
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
853
|
+
},
|
|
854
|
+
});
|
|
855
|
+
registerGeneratedTool(registry, {
|
|
856
|
+
name: "classroom_courses_create",
|
|
857
|
+
cud: "create",
|
|
858
|
+
description: "Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. A non-admin requesting user can only create a cours",
|
|
859
|
+
method: { id: "classroom.courses.create", httpMethod: "POST", path: "v1/courses", baseUrl: "https://classroom.googleapis.com/", requiredParams: [] },
|
|
860
|
+
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
861
|
+
hasBody: true,
|
|
862
|
+
shape: {
|
|
863
|
+
account: accountField(),
|
|
864
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Course JSON request body. Top-level fields: alternateLink, calendarId, courseGroupEmail, courseMaterialSets, courseState, creationTime, description, descriptionHeading, enrollmentCode, gradebookSettings, guardiansEnabled, id, +9 more."),
|
|
865
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
866
|
+
},
|
|
867
|
+
});
|
|
868
|
+
registerGeneratedTool(registry, {
|
|
869
|
+
name: "classroom_courses_delete",
|
|
870
|
+
cud: "delete",
|
|
871
|
+
description: "Deletes a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested course or",
|
|
872
|
+
method: { id: "classroom.courses.delete", httpMethod: "DELETE", path: "v1/courses/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
873
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
874
|
+
hasBody: false,
|
|
875
|
+
shape: {
|
|
876
|
+
account: accountField(),
|
|
877
|
+
id: z.string().describe("Identifier of the course to delete. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
878
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
879
|
+
},
|
|
880
|
+
});
|
|
881
|
+
registerGeneratedTool(registry, {
|
|
882
|
+
name: "classroom_courses_get",
|
|
883
|
+
cud: "read",
|
|
884
|
+
description: "Returns a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or",
|
|
885
|
+
method: { id: "classroom.courses.get", httpMethod: "GET", path: "v1/courses/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
886
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
887
|
+
hasBody: false,
|
|
888
|
+
shape: {
|
|
889
|
+
account: accountField(),
|
|
890
|
+
id: z.string().describe("Identifier of the course to return. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
891
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
892
|
+
},
|
|
893
|
+
});
|
|
894
|
+
registerGeneratedTool(registry, {
|
|
895
|
+
name: "classroom_courses_get_grading_period_settings",
|
|
896
|
+
cud: "read",
|
|
897
|
+
description: "Returns the grading period settings in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user isn't permitted to",
|
|
898
|
+
method: { id: "classroom.courses.getGradingPeriodSettings", httpMethod: "GET", path: "v1/courses/{courseId}/gradingPeriodSettings", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
899
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
900
|
+
hasBody: false,
|
|
901
|
+
shape: {
|
|
902
|
+
account: accountField(),
|
|
903
|
+
courseId: z.string().describe("Required. The identifier of the course."),
|
|
904
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
905
|
+
},
|
|
906
|
+
});
|
|
907
|
+
registerGeneratedTool(registry, {
|
|
908
|
+
name: "classroom_courses_list",
|
|
909
|
+
cud: "read",
|
|
910
|
+
description: "Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. Returned courses are ordered by creation ti",
|
|
911
|
+
method: { id: "classroom.courses.list", httpMethod: "GET", path: "v1/courses", baseUrl: "https://classroom.googleapis.com/", requiredParams: [] },
|
|
912
|
+
params: [{ "field": "courseStates", "api": "courseStates", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "studentId", "api": "studentId", "location": "query" }, { "field": "teacherId", "api": "teacherId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
913
|
+
hasBody: false,
|
|
914
|
+
shape: {
|
|
915
|
+
account: accountField(),
|
|
916
|
+
courseStates: coerceArray(z.enum(["COURSE_STATE_UNSPECIFIED", "ACTIVE", "ARCHIVED", "PROVISIONED", "DECLINED", "SUSPENDED"])).describe("Restricts returned courses to those in one of the specified states. If unspecified, Courses in any state are returned.").optional(),
|
|
917
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
918
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
919
|
+
studentId: z.string().describe("Restricts returned courses to those having a student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * ").optional(),
|
|
920
|
+
teacherId: z.string().describe("Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * ").optional(),
|
|
921
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
922
|
+
},
|
|
923
|
+
});
|
|
924
|
+
registerGeneratedTool(registry, {
|
|
925
|
+
name: "classroom_courses_patch",
|
|
926
|
+
cud: "update",
|
|
927
|
+
description: "Updates one or more fields in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify t",
|
|
928
|
+
method: { id: "classroom.courses.patch", httpMethod: "PATCH", path: "v1/courses/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
929
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
930
|
+
hasBody: true,
|
|
931
|
+
shape: {
|
|
932
|
+
account: accountField(),
|
|
933
|
+
id: z.string().describe("Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
934
|
+
updateMask: z.string().describe("Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `courseState`").optional(),
|
|
935
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Course JSON request body. Top-level fields: alternateLink, calendarId, courseGroupEmail, courseMaterialSets, courseState, creationTime, description, descriptionHeading, enrollmentCode, gradebookSettings, guardiansEnabled, id, +9 more."),
|
|
936
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
937
|
+
},
|
|
938
|
+
});
|
|
939
|
+
registerGeneratedTool(registry, {
|
|
940
|
+
name: "classroom_courses_posts_add_on_attachments_create",
|
|
941
|
+
cud: "create",
|
|
942
|
+
description: "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. This method returns the following error",
|
|
943
|
+
method: { id: "classroom.courses.posts.addOnAttachments.create", httpMethod: "POST", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["postId", "courseId"] },
|
|
944
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
945
|
+
hasBody: true,
|
|
946
|
+
shape: {
|
|
947
|
+
account: accountField(),
|
|
948
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
949
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead."),
|
|
950
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. This authorization token is required for in-Classr").optional(),
|
|
951
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
952
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
953
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
954
|
+
},
|
|
955
|
+
});
|
|
956
|
+
registerGeneratedTool(registry, {
|
|
957
|
+
name: "classroom_courses_posts_add_on_attachments_delete",
|
|
958
|
+
cud: "delete",
|
|
959
|
+
description: "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
960
|
+
method: { id: "classroom.courses.posts.addOnAttachments.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["postId", "courseId", "attachmentId"] },
|
|
961
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
962
|
+
hasBody: false,
|
|
963
|
+
shape: {
|
|
964
|
+
account: accountField(),
|
|
965
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
966
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
967
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead."),
|
|
968
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
969
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
970
|
+
},
|
|
971
|
+
});
|
|
972
|
+
registerGeneratedTool(registry, {
|
|
973
|
+
name: "classroom_courses_posts_add_on_attachments_get",
|
|
974
|
+
cud: "read",
|
|
975
|
+
description: "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. This method returns the following erro",
|
|
976
|
+
method: { id: "classroom.courses.posts.addOnAttachments.get", httpMethod: "GET", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "attachmentId", "postId"] },
|
|
977
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
978
|
+
hasBody: false,
|
|
979
|
+
shape: {
|
|
980
|
+
account: accountField(),
|
|
981
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
982
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
983
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead."),
|
|
984
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
985
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
986
|
+
},
|
|
987
|
+
});
|
|
988
|
+
registerGeneratedTool(registry, {
|
|
989
|
+
name: "classroom_courses_posts_add_on_attachments_list",
|
|
990
|
+
cud: "read",
|
|
991
|
+
description: "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachm",
|
|
992
|
+
method: { id: "classroom.courses.posts.addOnAttachments.list", httpMethod: "GET", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["postId", "courseId"] },
|
|
993
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
994
|
+
hasBody: false,
|
|
995
|
+
shape: {
|
|
996
|
+
account: accountField(),
|
|
997
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
998
|
+
postId: z.string().describe("Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use `item_id` instead."),
|
|
999
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
1000
|
+
pageSize: z.number().describe("The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coe").optional(),
|
|
1001
|
+
pageToken: z.string().describe("A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match th").optional(),
|
|
1002
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1003
|
+
},
|
|
1004
|
+
});
|
|
1005
|
+
registerGeneratedTool(registry, {
|
|
1006
|
+
name: "classroom_courses_posts_add_on_attachments_patch",
|
|
1007
|
+
cud: "update",
|
|
1008
|
+
description: "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. This method returns the following error codes: * `PERMISS",
|
|
1009
|
+
method: { id: "classroom.courses.posts.addOnAttachments.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "attachmentId", "postId"] },
|
|
1010
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1011
|
+
hasBody: true,
|
|
1012
|
+
shape: {
|
|
1013
|
+
account: accountField(),
|
|
1014
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
1015
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
1016
|
+
postId: z.string().describe("Required. Identifier of the post under which the attachment is attached."),
|
|
1017
|
+
itemId: z.string().describe("Identifier of the post under which the attachment is attached.").optional(),
|
|
1018
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the u").optional(),
|
|
1019
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachment JSON request body. Top-level fields: copyHistory, courseId, dueDate, dueTime, id, itemId, maxPoints, postId, studentViewUri, studentWorkReviewUri, teacherViewUri, title."),
|
|
1020
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1021
|
+
},
|
|
1022
|
+
});
|
|
1023
|
+
registerGeneratedTool(registry, {
|
|
1024
|
+
name: "classroom_posts_addon_submissions_get",
|
|
1025
|
+
cud: "read",
|
|
1026
|
+
description: "Returns a student submission for an add-on attachment. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUME",
|
|
1027
|
+
method: { id: "classroom.courses.posts.addOnAttachments.studentSubmissions.get", httpMethod: "GET", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["postId", "attachmentId", "submissionId", "courseId"] },
|
|
1028
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "submissionId", "api": "submissionId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1029
|
+
hasBody: false,
|
|
1030
|
+
shape: {
|
|
1031
|
+
account: accountField(),
|
|
1032
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
1033
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
1034
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead."),
|
|
1035
|
+
submissionId: z.string().describe("Required. Identifier of the student’s submission."),
|
|
1036
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
1037
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1038
|
+
},
|
|
1039
|
+
});
|
|
1040
|
+
registerGeneratedTool(registry, {
|
|
1041
|
+
name: "classroom_posts_addon_submissions_patch",
|
|
1042
|
+
cud: "update",
|
|
1043
|
+
description: "Updates data associated with an add-on attachment submission. Requires the add-on to have been the original creator of the attachment and the attachment to have",
|
|
1044
|
+
method: { id: "classroom.courses.posts.addOnAttachments.studentSubmissions.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["postId", "attachmentId", "courseId", "submissionId"] },
|
|
1045
|
+
params: [{ "field": "attachmentId", "api": "attachmentId", "location": "path" }, { "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "submissionId", "api": "submissionId", "location": "path" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1046
|
+
hasBody: true,
|
|
1047
|
+
shape: {
|
|
1048
|
+
account: accountField(),
|
|
1049
|
+
attachmentId: z.string().describe("Required. Identifier of the attachment."),
|
|
1050
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
1051
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead."),
|
|
1052
|
+
submissionId: z.string().describe("Required. Identifier of the student's submission."),
|
|
1053
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
1054
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the u").optional(),
|
|
1055
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("AddOnAttachmentStudentSubmission JSON request body. Top-level fields: courseWorkSubmissionId, id, pointsEarned, postSubmissionState, userId."),
|
|
1056
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1057
|
+
},
|
|
1058
|
+
});
|
|
1059
|
+
registerGeneratedTool(registry, {
|
|
1060
|
+
name: "classroom_courses_posts_get_add_on_context",
|
|
1061
|
+
cud: "read",
|
|
1062
|
+
description: "Gets metadata for Classroom add-ons in the context of a specific post. To maintain the integrity of its own data and permissions model, an add-on should call th",
|
|
1063
|
+
method: { id: "classroom.courses.posts.getAddOnContext", httpMethod: "GET", path: "v1/courses/{courseId}/posts/{postId}/addOnContext", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["postId", "courseId"] },
|
|
1064
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "postId", "api": "postId", "location": "path" }, { "field": "addOnToken", "api": "addOnToken", "location": "query" }, { "field": "attachmentId", "api": "attachmentId", "location": "query" }, { "field": "itemId", "api": "itemId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1065
|
+
hasBody: false,
|
|
1066
|
+
shape: {
|
|
1067
|
+
account: accountField(),
|
|
1068
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
1069
|
+
postId: z.string().describe("Optional. Deprecated, use `item_id` instead."),
|
|
1070
|
+
addOnToken: z.string().describe("Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither o").optional(),
|
|
1071
|
+
attachmentId: z.string().describe("Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/workspace/classroom/add-o").optional(),
|
|
1072
|
+
itemId: z.string().describe("Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from post_id.").optional(),
|
|
1073
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1074
|
+
},
|
|
1075
|
+
});
|
|
1076
|
+
registerGeneratedTool(registry, {
|
|
1077
|
+
name: "classroom_courses_student_groups_create",
|
|
1078
|
+
cud: "create",
|
|
1079
|
+
description: "Creates a student group for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create the",
|
|
1080
|
+
method: { id: "classroom.courses.studentGroups.create", httpMethod: "POST", path: "v1/courses/{courseId}/studentGroups", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1081
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1082
|
+
hasBody: true,
|
|
1083
|
+
shape: {
|
|
1084
|
+
account: accountField(),
|
|
1085
|
+
courseId: z.string().describe("Required. The identifier of the course."),
|
|
1086
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("StudentGroup JSON request body. Top-level fields: courseId, id, title."),
|
|
1087
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1088
|
+
},
|
|
1089
|
+
});
|
|
1090
|
+
registerGeneratedTool(registry, {
|
|
1091
|
+
name: "classroom_courses_student_groups_delete",
|
|
1092
|
+
cud: "delete",
|
|
1093
|
+
description: "Deletes a student group. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested st",
|
|
1094
|
+
method: { id: "classroom.courses.studentGroups.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/studentGroups/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
1095
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1096
|
+
hasBody: false,
|
|
1097
|
+
shape: {
|
|
1098
|
+
account: accountField(),
|
|
1099
|
+
courseId: z.string().describe("Required. The identifier of the course containing the student group to delete."),
|
|
1100
|
+
id: z.string().describe("Required. The identifier of the student group to delete."),
|
|
1101
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1102
|
+
},
|
|
1103
|
+
});
|
|
1104
|
+
registerGeneratedTool(registry, {
|
|
1105
|
+
name: "classroom_courses_student_groups_list",
|
|
1106
|
+
cud: "read",
|
|
1107
|
+
description: "Returns a list of groups in a course. This method returns the following error codes: * `NOT_FOUND` if the course does not exist.",
|
|
1108
|
+
method: { id: "classroom.courses.studentGroups.list", httpMethod: "GET", path: "v1/courses/{courseId}/studentGroups", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1109
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1110
|
+
hasBody: false,
|
|
1111
|
+
shape: {
|
|
1112
|
+
account: accountField(),
|
|
1113
|
+
courseId: z.string().describe("Required. The identifier of the course."),
|
|
1114
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum, which is currently set to 75 items. The server may return fewer than the specified number of resu").optional(),
|
|
1115
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1116
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1117
|
+
},
|
|
1118
|
+
});
|
|
1119
|
+
registerGeneratedTool(registry, {
|
|
1120
|
+
name: "classroom_courses_student_groups_patch",
|
|
1121
|
+
cud: "update",
|
|
1122
|
+
description: "Updates one or more fields in a student group. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to m",
|
|
1123
|
+
method: { id: "classroom.courses.studentGroups.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/studentGroups/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
1124
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1125
|
+
hasBody: true,
|
|
1126
|
+
shape: {
|
|
1127
|
+
account: accountField(),
|
|
1128
|
+
courseId: z.string().describe("Required. Identifier of the course."),
|
|
1129
|
+
id: z.string().describe("Required. Identifier of the student group."),
|
|
1130
|
+
updateMask: z.string().describe("Required. Mask that identifies which fields on the student group to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields can be specif").optional(),
|
|
1131
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("StudentGroup JSON request body. Top-level fields: courseId, id, title."),
|
|
1132
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1133
|
+
},
|
|
1134
|
+
});
|
|
1135
|
+
registerGeneratedTool(registry, {
|
|
1136
|
+
name: "classroom_courses_student_groups_student_group_members_create",
|
|
1137
|
+
cud: "create",
|
|
1138
|
+
description: "Creates a student group member for a student group. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted",
|
|
1139
|
+
method: { id: "classroom.courses.studentGroups.studentGroupMembers.create", httpMethod: "POST", path: "v1/courses/{courseId}/studentGroups/{studentGroupId}/studentGroupMembers", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "studentGroupId"] },
|
|
1140
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "studentGroupId", "api": "studentGroupId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1141
|
+
hasBody: true,
|
|
1142
|
+
shape: {
|
|
1143
|
+
account: accountField(),
|
|
1144
|
+
courseId: z.string().describe("Required. The identifier of the course."),
|
|
1145
|
+
studentGroupId: z.string().describe("Required. The identifier of the student group."),
|
|
1146
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("StudentGroupMember JSON request body. Top-level fields: courseId, studentGroupId, userId."),
|
|
1147
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1148
|
+
},
|
|
1149
|
+
});
|
|
1150
|
+
registerGeneratedTool(registry, {
|
|
1151
|
+
name: "classroom_courses_student_groups_student_group_members_delete",
|
|
1152
|
+
cud: "delete",
|
|
1153
|
+
description: "Deletes a student group member. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the reque",
|
|
1154
|
+
method: { id: "classroom.courses.studentGroups.studentGroupMembers.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/studentGroups/{studentGroupId}/studentGroupMembers/{userId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["studentGroupId", "userId", "courseId"] },
|
|
1155
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "studentGroupId", "api": "studentGroupId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1156
|
+
hasBody: false,
|
|
1157
|
+
shape: {
|
|
1158
|
+
account: accountField(),
|
|
1159
|
+
courseId: z.string().describe("Required. The identifier of the course containing the relevant student group."),
|
|
1160
|
+
studentGroupId: z.string().describe("Required. The identifier of the student group containing the student group member to delete."),
|
|
1161
|
+
userId: z.string().describe("Required. The identifier of the student group member to delete."),
|
|
1162
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1163
|
+
},
|
|
1164
|
+
});
|
|
1165
|
+
registerGeneratedTool(registry, {
|
|
1166
|
+
name: "classroom_courses_student_groups_student_group_members_list",
|
|
1167
|
+
cud: "read",
|
|
1168
|
+
description: "Returns a list of students in a group. This method returns the following error codes: * `NOT_FOUND` if the course or student group does not exist.",
|
|
1169
|
+
method: { id: "classroom.courses.studentGroups.studentGroupMembers.list", httpMethod: "GET", path: "v1/courses/{courseId}/studentGroups/{studentGroupId}/studentGroupMembers", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "studentGroupId"] },
|
|
1170
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "studentGroupId", "api": "studentGroupId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1171
|
+
hasBody: false,
|
|
1172
|
+
shape: {
|
|
1173
|
+
account: accountField(),
|
|
1174
|
+
courseId: z.string().describe("Required. The identifier of the course."),
|
|
1175
|
+
studentGroupId: z.string().describe("Required. The identifier of the student group."),
|
|
1176
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
1177
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1178
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1179
|
+
},
|
|
1180
|
+
});
|
|
1181
|
+
registerGeneratedTool(registry, {
|
|
1182
|
+
name: "classroom_courses_students_create",
|
|
1183
|
+
cud: "create",
|
|
1184
|
+
description: "Adds a user as a student of a course. Domain administrators are permitted to [directly add](https://developers.google.com/workspace/classroom/guides/manage-user",
|
|
1185
|
+
method: { id: "classroom.courses.students.create", httpMethod: "POST", path: "v1/courses/{courseId}/students", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1186
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "enrollmentCode", "api": "enrollmentCode", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1187
|
+
hasBody: true,
|
|
1188
|
+
shape: {
|
|
1189
|
+
account: accountField(),
|
|
1190
|
+
courseId: z.string().describe("Identifier of the course to create the student in. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1191
|
+
enrollmentCode: z.string().describe("Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to c").optional(),
|
|
1192
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Student JSON request body. Top-level fields: courseId, profile, studentWorkFolder, userId."),
|
|
1193
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1194
|
+
},
|
|
1195
|
+
});
|
|
1196
|
+
registerGeneratedTool(registry, {
|
|
1197
|
+
name: "classroom_courses_students_delete",
|
|
1198
|
+
cud: "delete",
|
|
1199
|
+
description: "Deletes a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete students o",
|
|
1200
|
+
method: { id: "classroom.courses.students.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/students/{userId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "userId"] },
|
|
1201
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1202
|
+
hasBody: false,
|
|
1203
|
+
shape: {
|
|
1204
|
+
account: accountField(),
|
|
1205
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1206
|
+
userId: z.string().describe("Identifier of the student to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the reque"),
|
|
1207
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1208
|
+
},
|
|
1209
|
+
});
|
|
1210
|
+
registerGeneratedTool(registry, {
|
|
1211
|
+
name: "classroom_courses_students_get",
|
|
1212
|
+
cud: "read",
|
|
1213
|
+
description: "Returns a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view students of",
|
|
1214
|
+
method: { id: "classroom.courses.students.get", httpMethod: "GET", path: "v1/courses/{courseId}/students/{userId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["userId", "courseId"] },
|
|
1215
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1216
|
+
hasBody: false,
|
|
1217
|
+
shape: {
|
|
1218
|
+
account: accountField(),
|
|
1219
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1220
|
+
userId: z.string().describe("Identifier of the student to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the reque"),
|
|
1221
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1222
|
+
},
|
|
1223
|
+
});
|
|
1224
|
+
registerGeneratedTool(registry, {
|
|
1225
|
+
name: "classroom_courses_students_list",
|
|
1226
|
+
cud: "read",
|
|
1227
|
+
description: "Returns a list of students of this course that the requester is permitted to view. This method returns the following error codes: * `NOT_FOUND` if the course do",
|
|
1228
|
+
method: { id: "classroom.courses.students.list", httpMethod: "GET", path: "v1/courses/{courseId}/students", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1229
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1230
|
+
hasBody: false,
|
|
1231
|
+
shape: {
|
|
1232
|
+
account: accountField(),
|
|
1233
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1234
|
+
pageSize: z.number().describe("Maximum number of items to return. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.").optional(),
|
|
1235
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1236
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1237
|
+
},
|
|
1238
|
+
});
|
|
1239
|
+
registerGeneratedTool(registry, {
|
|
1240
|
+
name: "classroom_courses_teachers_create",
|
|
1241
|
+
cud: "create",
|
|
1242
|
+
description: "Creates a teacher of a course. Domain administrators are permitted to [directly add](https://developers.google.com/workspace/classroom/guides/manage-users) user",
|
|
1243
|
+
method: { id: "classroom.courses.teachers.create", httpMethod: "POST", path: "v1/courses/{courseId}/teachers", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1244
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1245
|
+
hasBody: true,
|
|
1246
|
+
shape: {
|
|
1247
|
+
account: accountField(),
|
|
1248
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1249
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Teacher JSON request body. Top-level fields: courseId, profile, userId."),
|
|
1250
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1251
|
+
},
|
|
1252
|
+
});
|
|
1253
|
+
registerGeneratedTool(registry, {
|
|
1254
|
+
name: "classroom_courses_teachers_delete",
|
|
1255
|
+
cud: "delete",
|
|
1256
|
+
description: "Removes the specified teacher from the specified course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not perm",
|
|
1257
|
+
method: { id: "classroom.courses.teachers.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/teachers/{userId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["userId", "courseId"] },
|
|
1258
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1259
|
+
hasBody: false,
|
|
1260
|
+
shape: {
|
|
1261
|
+
account: accountField(),
|
|
1262
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1263
|
+
userId: z.string().describe("Identifier of the teacher to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the reque"),
|
|
1264
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1265
|
+
},
|
|
1266
|
+
});
|
|
1267
|
+
registerGeneratedTool(registry, {
|
|
1268
|
+
name: "classroom_courses_teachers_get",
|
|
1269
|
+
cud: "read",
|
|
1270
|
+
description: "Returns a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view teachers of",
|
|
1271
|
+
method: { id: "classroom.courses.teachers.get", httpMethod: "GET", path: "v1/courses/{courseId}/teachers/{userId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId", "userId"] },
|
|
1272
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1273
|
+
hasBody: false,
|
|
1274
|
+
shape: {
|
|
1275
|
+
account: accountField(),
|
|
1276
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1277
|
+
userId: z.string().describe("Identifier of the teacher to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the reque"),
|
|
1278
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1279
|
+
},
|
|
1280
|
+
});
|
|
1281
|
+
registerGeneratedTool(registry, {
|
|
1282
|
+
name: "classroom_courses_teachers_list",
|
|
1283
|
+
cud: "read",
|
|
1284
|
+
description: "Returns a list of teachers of this course that the requester is permitted to view. This method returns the following error codes: * `NOT_FOUND` if the course do",
|
|
1285
|
+
method: { id: "classroom.courses.teachers.list", httpMethod: "GET", path: "v1/courses/{courseId}/teachers", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1286
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1287
|
+
hasBody: false,
|
|
1288
|
+
shape: {
|
|
1289
|
+
account: accountField(),
|
|
1290
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1291
|
+
pageSize: z.number().describe("Maximum number of items to return. The default is 30 if unspecified or `0`. The server may return fewer than the specified number of results.").optional(),
|
|
1292
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1293
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1294
|
+
},
|
|
1295
|
+
});
|
|
1296
|
+
registerGeneratedTool(registry, {
|
|
1297
|
+
name: "classroom_courses_topics_create",
|
|
1298
|
+
cud: "create",
|
|
1299
|
+
description: "Creates a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, cr",
|
|
1300
|
+
method: { id: "classroom.courses.topics.create", httpMethod: "POST", path: "v1/courses/{courseId}/topics", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1301
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1302
|
+
hasBody: true,
|
|
1303
|
+
shape: {
|
|
1304
|
+
account: accountField(),
|
|
1305
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1306
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Topic JSON request body. Top-level fields: courseId, name, topicId, updateTime."),
|
|
1307
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1308
|
+
},
|
|
1309
|
+
});
|
|
1310
|
+
registerGeneratedTool(registry, {
|
|
1311
|
+
name: "classroom_courses_topics_delete",
|
|
1312
|
+
cud: "delete",
|
|
1313
|
+
description: "Deletes a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not allowed to delete the requested topic or for",
|
|
1314
|
+
method: { id: "classroom.courses.topics.delete", httpMethod: "DELETE", path: "v1/courses/{courseId}/topics/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
1315
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1316
|
+
hasBody: false,
|
|
1317
|
+
shape: {
|
|
1318
|
+
account: accountField(),
|
|
1319
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1320
|
+
id: z.string().describe("Identifier of the topic to delete."),
|
|
1321
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1322
|
+
},
|
|
1323
|
+
});
|
|
1324
|
+
registerGeneratedTool(registry, {
|
|
1325
|
+
name: "classroom_courses_topics_get",
|
|
1326
|
+
cud: "read",
|
|
1327
|
+
description: "Returns a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or",
|
|
1328
|
+
method: { id: "classroom.courses.topics.get", httpMethod: "GET", path: "v1/courses/{courseId}/topics/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
1329
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1330
|
+
hasBody: false,
|
|
1331
|
+
shape: {
|
|
1332
|
+
account: accountField(),
|
|
1333
|
+
courseId: z.string().describe("Identifier of the course."),
|
|
1334
|
+
id: z.string().describe("Identifier of the topic."),
|
|
1335
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1336
|
+
},
|
|
1337
|
+
});
|
|
1338
|
+
registerGeneratedTool(registry, {
|
|
1339
|
+
name: "classroom_courses_topics_list",
|
|
1340
|
+
cud: "read",
|
|
1341
|
+
description: "Returns the list of topics that the requester is permitted to view. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user",
|
|
1342
|
+
method: { id: "classroom.courses.topics.list", httpMethod: "GET", path: "v1/courses/{courseId}/topics", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1343
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1344
|
+
hasBody: false,
|
|
1345
|
+
shape: {
|
|
1346
|
+
account: accountField(),
|
|
1347
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1348
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
1349
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1350
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1351
|
+
},
|
|
1352
|
+
});
|
|
1353
|
+
registerGeneratedTool(registry, {
|
|
1354
|
+
name: "classroom_courses_topics_patch",
|
|
1355
|
+
cud: "update",
|
|
1356
|
+
description: "Updates one or more fields of a topic. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create t",
|
|
1357
|
+
method: { id: "classroom.courses.topics.patch", httpMethod: "PATCH", path: "v1/courses/{courseId}/topics/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id", "courseId"] },
|
|
1358
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "id", "api": "id", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1359
|
+
hasBody: true,
|
|
1360
|
+
shape: {
|
|
1361
|
+
account: accountField(),
|
|
1362
|
+
courseId: z.string().describe("Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1363
|
+
id: z.string().describe("Identifier of the topic."),
|
|
1364
|
+
updateMask: z.string().describe("Mask that identifies which fields on the topic to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared ").optional(),
|
|
1365
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Topic JSON request body. Top-level fields: courseId, name, topicId, updateTime."),
|
|
1366
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1367
|
+
},
|
|
1368
|
+
});
|
|
1369
|
+
registerGeneratedTool(registry, {
|
|
1370
|
+
name: "classroom_courses_update",
|
|
1371
|
+
cud: "update",
|
|
1372
|
+
description: "Updates a course. Note: Unlike other fields, `levels` is not cleared if omitted from the request. The `UpdateCourse` method only modifies `levels` if it is expl",
|
|
1373
|
+
method: { id: "classroom.courses.update", httpMethod: "PUT", path: "v1/courses/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
1374
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1375
|
+
hasBody: true,
|
|
1376
|
+
shape: {
|
|
1377
|
+
account: accountField(),
|
|
1378
|
+
id: z.string().describe("Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias."),
|
|
1379
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Course JSON request body. Top-level fields: alternateLink, calendarId, courseGroupEmail, courseMaterialSets, courseState, creationTime, description, descriptionHeading, enrollmentCode, gradebookSettings, guardiansEnabled, id, +9 more."),
|
|
1380
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1381
|
+
},
|
|
1382
|
+
});
|
|
1383
|
+
registerGeneratedTool(registry, {
|
|
1384
|
+
name: "classroom_courses_update_grading_period_settings",
|
|
1385
|
+
cud: "update",
|
|
1386
|
+
description: "Updates grading period settings of a course. Individual grading periods can be added, removed, or modified using this method. The requesting user and course own",
|
|
1387
|
+
method: { id: "classroom.courses.updateGradingPeriodSettings", httpMethod: "PATCH", path: "v1/courses/{courseId}/gradingPeriodSettings", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["courseId"] },
|
|
1388
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1389
|
+
hasBody: true,
|
|
1390
|
+
shape: {
|
|
1391
|
+
account: accountField(),
|
|
1392
|
+
courseId: z.string().describe("Required. The identifier of the course."),
|
|
1393
|
+
updateMask: z.string().describe("Mask that identifies which fields in the GradingPeriodSettings to update. The GradingPeriodSettings `grading_periods` list will be fully replaced by the grading periods specified in the update request").optional(),
|
|
1394
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("GradingPeriodSettings JSON request body. Top-level fields: applyToExistingCoursework, gradingPeriods."),
|
|
1395
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1396
|
+
},
|
|
1397
|
+
});
|
|
1398
|
+
registerGeneratedTool(registry, {
|
|
1399
|
+
name: "classroom_invitations_accept",
|
|
1400
|
+
cud: "create",
|
|
1401
|
+
description: "Accepts an invitation, removing it and adding the invited user to the teachers or students (as appropriate) of the specified course. Only the invited user may a",
|
|
1402
|
+
method: { id: "classroom.invitations.accept", httpMethod: "POST", path: "v1/invitations/{id}:accept", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
1403
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1404
|
+
hasBody: false,
|
|
1405
|
+
shape: {
|
|
1406
|
+
account: accountField(),
|
|
1407
|
+
id: z.string().describe("Identifier of the invitation to accept."),
|
|
1408
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1409
|
+
},
|
|
1410
|
+
});
|
|
1411
|
+
registerGeneratedTool(registry, {
|
|
1412
|
+
name: "classroom_invitations_create",
|
|
1413
|
+
cud: "create",
|
|
1414
|
+
description: "Creates an invitation. Only one invitation for a user and course may exist at a time. Delete and re-create an invitation to make changes. This method returns th",
|
|
1415
|
+
method: { id: "classroom.invitations.create", httpMethod: "POST", path: "v1/invitations", baseUrl: "https://classroom.googleapis.com/", requiredParams: [] },
|
|
1416
|
+
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
1417
|
+
hasBody: true,
|
|
1418
|
+
shape: {
|
|
1419
|
+
account: accountField(),
|
|
1420
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Invitation JSON request body. Top-level fields: courseId, id, role, userId."),
|
|
1421
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1422
|
+
},
|
|
1423
|
+
});
|
|
1424
|
+
registerGeneratedTool(registry, {
|
|
1425
|
+
name: "classroom_invitations_delete",
|
|
1426
|
+
cud: "delete",
|
|
1427
|
+
description: "Deletes an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested invi",
|
|
1428
|
+
method: { id: "classroom.invitations.delete", httpMethod: "DELETE", path: "v1/invitations/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
1429
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1430
|
+
hasBody: false,
|
|
1431
|
+
shape: {
|
|
1432
|
+
account: accountField(),
|
|
1433
|
+
id: z.string().describe("Identifier of the invitation to delete."),
|
|
1434
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1435
|
+
},
|
|
1436
|
+
});
|
|
1437
|
+
registerGeneratedTool(registry, {
|
|
1438
|
+
name: "classroom_invitations_get",
|
|
1439
|
+
cud: "read",
|
|
1440
|
+
description: "Returns an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view the requested invita",
|
|
1441
|
+
method: { id: "classroom.invitations.get", httpMethod: "GET", path: "v1/invitations/{id}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["id"] },
|
|
1442
|
+
params: [{ "field": "id", "api": "id", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1443
|
+
hasBody: false,
|
|
1444
|
+
shape: {
|
|
1445
|
+
account: accountField(),
|
|
1446
|
+
id: z.string().describe("Identifier of the invitation to return."),
|
|
1447
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1448
|
+
},
|
|
1449
|
+
});
|
|
1450
|
+
registerGeneratedTool(registry, {
|
|
1451
|
+
name: "classroom_invitations_list",
|
|
1452
|
+
cud: "read",
|
|
1453
|
+
description: "Returns a list of invitations that the requesting user is permitted to view, restricted to those that match the list request. *Note:* At least one of `user_id`",
|
|
1454
|
+
method: { id: "classroom.invitations.list", httpMethod: "GET", path: "v1/invitations", baseUrl: "https://classroom.googleapis.com/", requiredParams: [] },
|
|
1455
|
+
params: [{ "field": "courseId", "api": "courseId", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "userId", "api": "userId", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1456
|
+
hasBody: false,
|
|
1457
|
+
shape: {
|
|
1458
|
+
account: accountField(),
|
|
1459
|
+
courseId: z.string().describe("Restricts returned invitations to those for a course with the specified identifier.").optional(),
|
|
1460
|
+
pageSize: z.number().describe("Maximum number of items to return. The default is 500 if unspecified or `0`. The server may return fewer than the specified number of results.").optional(),
|
|
1461
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1462
|
+
userId: z.string().describe("Restricts returned invitations to those for a specific user. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me").optional(),
|
|
1463
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1464
|
+
},
|
|
1465
|
+
});
|
|
1466
|
+
registerGeneratedTool(registry, {
|
|
1467
|
+
name: "classroom_registrations_create",
|
|
1468
|
+
cud: "create",
|
|
1469
|
+
description: "Creates a `Registration`, causing Classroom to start sending notifications from the provided `feed` to the destination provided in `cloudPubSubTopic`. Returns t",
|
|
1470
|
+
method: { id: "classroom.registrations.create", httpMethod: "POST", path: "v1/registrations", baseUrl: "https://classroom.googleapis.com/", requiredParams: [] },
|
|
1471
|
+
params: [{ "field": "fields", "api": "fields", "location": "query" }],
|
|
1472
|
+
hasBody: true,
|
|
1473
|
+
shape: {
|
|
1474
|
+
account: accountField(),
|
|
1475
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("Registration JSON request body. Top-level fields: cloudPubsubTopic, expiryTime, feed, registrationId."),
|
|
1476
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1477
|
+
},
|
|
1478
|
+
});
|
|
1479
|
+
registerGeneratedTool(registry, {
|
|
1480
|
+
name: "classroom_registrations_delete",
|
|
1481
|
+
cud: "delete",
|
|
1482
|
+
description: "Deletes a `Registration`, causing Classroom to stop sending notifications for that `Registration`.",
|
|
1483
|
+
method: { id: "classroom.registrations.delete", httpMethod: "DELETE", path: "v1/registrations/{registrationId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["registrationId"] },
|
|
1484
|
+
params: [{ "field": "registrationId", "api": "registrationId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1485
|
+
hasBody: false,
|
|
1486
|
+
shape: {
|
|
1487
|
+
account: accountField(),
|
|
1488
|
+
registrationId: z.string().describe("The `registration_id` of the `Registration` to be deleted."),
|
|
1489
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1490
|
+
},
|
|
1491
|
+
});
|
|
1492
|
+
registerGeneratedTool(registry, {
|
|
1493
|
+
name: "classroom_user_profiles_get",
|
|
1494
|
+
cud: "read",
|
|
1495
|
+
description: "Returns a user profile. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access this user profile",
|
|
1496
|
+
method: { id: "classroom.userProfiles.get", httpMethod: "GET", path: "v1/userProfiles/{userId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["userId"] },
|
|
1497
|
+
params: [{ "field": "userId", "api": "userId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1498
|
+
hasBody: false,
|
|
1499
|
+
shape: {
|
|
1500
|
+
account: accountField(),
|
|
1501
|
+
userId: z.string().describe("Identifier of the profile to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the reque"),
|
|
1502
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1503
|
+
},
|
|
1504
|
+
});
|
|
1505
|
+
registerGeneratedTool(registry, {
|
|
1506
|
+
name: "classroom_user_profiles_guardian_invitations_create",
|
|
1507
|
+
cud: "create",
|
|
1508
|
+
description: "Creates a guardian invitation, and sends an email to the guardian asking them to confirm that they are the student's guardian. Once the guardian accepts the inv",
|
|
1509
|
+
method: { id: "classroom.userProfiles.guardianInvitations.create", httpMethod: "POST", path: "v1/userProfiles/{studentId}/guardianInvitations", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["studentId"] },
|
|
1510
|
+
params: [{ "field": "studentId", "api": "studentId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1511
|
+
hasBody: true,
|
|
1512
|
+
shape: {
|
|
1513
|
+
account: accountField(),
|
|
1514
|
+
studentId: z.string().describe("ID of the student (in standard format)"),
|
|
1515
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("GuardianInvitation JSON request body. Top-level fields: creationTime, invitationId, invitedEmailAddress, state, studentId."),
|
|
1516
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1517
|
+
},
|
|
1518
|
+
});
|
|
1519
|
+
registerGeneratedTool(registry, {
|
|
1520
|
+
name: "classroom_user_profiles_guardian_invitations_get",
|
|
1521
|
+
cud: "read",
|
|
1522
|
+
description: "Returns a specific guardian invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view gua",
|
|
1523
|
+
method: { id: "classroom.userProfiles.guardianInvitations.get", httpMethod: "GET", path: "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["invitationId", "studentId"] },
|
|
1524
|
+
params: [{ "field": "invitationId", "api": "invitationId", "location": "path" }, { "field": "studentId", "api": "studentId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1525
|
+
hasBody: false,
|
|
1526
|
+
shape: {
|
|
1527
|
+
account: accountField(),
|
|
1528
|
+
invitationId: z.string().describe("The `id` field of the `GuardianInvitation` being requested."),
|
|
1529
|
+
studentId: z.string().describe("The ID of the student whose guardian invitation is being requested."),
|
|
1530
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1531
|
+
},
|
|
1532
|
+
});
|
|
1533
|
+
registerGeneratedTool(registry, {
|
|
1534
|
+
name: "classroom_user_profiles_guardian_invitations_list",
|
|
1535
|
+
cud: "read",
|
|
1536
|
+
description: "Returns a list of guardian invitations that the requesting user is permitted to view, filtered by the parameters provided. This method returns the following err",
|
|
1537
|
+
method: { id: "classroom.userProfiles.guardianInvitations.list", httpMethod: "GET", path: "v1/userProfiles/{studentId}/guardianInvitations", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["studentId"] },
|
|
1538
|
+
params: [{ "field": "studentId", "api": "studentId", "location": "path" }, { "field": "invitedEmailAddress", "api": "invitedEmailAddress", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "states", "api": "states", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1539
|
+
hasBody: false,
|
|
1540
|
+
shape: {
|
|
1541
|
+
account: accountField(),
|
|
1542
|
+
studentId: z.string().describe("The ID of the student whose guardian invitations are to be returned. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string lite"),
|
|
1543
|
+
invitedEmailAddress: z.string().describe("If specified, only results with the specified `invited_email_address` are returned.").optional(),
|
|
1544
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
1545
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1546
|
+
states: coerceArray(z.enum(["GUARDIAN_INVITATION_STATE_UNSPECIFIED", "PENDING", "COMPLETE"])).describe("If specified, only results with the specified `state` values are returned. Otherwise, results with a `state` of `PENDING` are returned.").optional(),
|
|
1547
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1548
|
+
},
|
|
1549
|
+
});
|
|
1550
|
+
registerGeneratedTool(registry, {
|
|
1551
|
+
name: "classroom_user_profiles_guardian_invitations_patch",
|
|
1552
|
+
cud: "update",
|
|
1553
|
+
description: "Modifies a guardian invitation. Currently, the only valid modification is to change the `state` from `PENDING` to `COMPLETE`. This has the effect of withdrawing",
|
|
1554
|
+
method: { id: "classroom.userProfiles.guardianInvitations.patch", httpMethod: "PATCH", path: "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["invitationId", "studentId"] },
|
|
1555
|
+
params: [{ "field": "invitationId", "api": "invitationId", "location": "path" }, { "field": "studentId", "api": "studentId", "location": "path" }, { "field": "updateMask", "api": "updateMask", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1556
|
+
hasBody: true,
|
|
1557
|
+
shape: {
|
|
1558
|
+
account: accountField(),
|
|
1559
|
+
invitationId: z.string().describe("The `id` field of the `GuardianInvitation` to be modified."),
|
|
1560
|
+
studentId: z.string().describe("The ID of the student whose guardian invitation is to be modified."),
|
|
1561
|
+
updateMask: z.string().describe("Mask that identifies which fields on the course to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields are valid: * `state` When set ").optional(),
|
|
1562
|
+
body: coerceJson(z.record(z.string(), z.unknown())).describe("GuardianInvitation JSON request body. Top-level fields: creationTime, invitationId, invitedEmailAddress, state, studentId."),
|
|
1563
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1564
|
+
},
|
|
1565
|
+
});
|
|
1566
|
+
registerGeneratedTool(registry, {
|
|
1567
|
+
name: "classroom_user_profiles_guardians_delete",
|
|
1568
|
+
cud: "delete",
|
|
1569
|
+
description: "Deletes a guardian. The guardian will no longer receive guardian notifications and the guardian will no longer be accessible via the API. This method returns th",
|
|
1570
|
+
method: { id: "classroom.userProfiles.guardians.delete", httpMethod: "DELETE", path: "v1/userProfiles/{studentId}/guardians/{guardianId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["guardianId", "studentId"] },
|
|
1571
|
+
params: [{ "field": "guardianId", "api": "guardianId", "location": "path" }, { "field": "studentId", "api": "studentId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1572
|
+
hasBody: false,
|
|
1573
|
+
shape: {
|
|
1574
|
+
account: accountField(),
|
|
1575
|
+
guardianId: z.string().describe("The `id` field from a `Guardian`."),
|
|
1576
|
+
studentId: z.string().describe("The student whose guardian is to be deleted. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user"),
|
|
1577
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1578
|
+
},
|
|
1579
|
+
});
|
|
1580
|
+
registerGeneratedTool(registry, {
|
|
1581
|
+
name: "classroom_user_profiles_guardians_get",
|
|
1582
|
+
cud: "read",
|
|
1583
|
+
description: "Returns a specific guardian. This method returns the following error codes: * `PERMISSION_DENIED` if no user that matches the provided `student_id` is visible t",
|
|
1584
|
+
method: { id: "classroom.userProfiles.guardians.get", httpMethod: "GET", path: "v1/userProfiles/{studentId}/guardians/{guardianId}", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["studentId", "guardianId"] },
|
|
1585
|
+
params: [{ "field": "guardianId", "api": "guardianId", "location": "path" }, { "field": "studentId", "api": "studentId", "location": "path" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1586
|
+
hasBody: false,
|
|
1587
|
+
shape: {
|
|
1588
|
+
account: accountField(),
|
|
1589
|
+
guardianId: z.string().describe("The `id` field from a `Guardian`."),
|
|
1590
|
+
studentId: z.string().describe("The student whose guardian is being requested. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user"),
|
|
1591
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1592
|
+
},
|
|
1593
|
+
});
|
|
1594
|
+
registerGeneratedTool(registry, {
|
|
1595
|
+
name: "classroom_user_profiles_guardians_list",
|
|
1596
|
+
cud: "read",
|
|
1597
|
+
description: "Returns a list of guardians that the requesting user is permitted to view, restricted to those that match the request. To list guardians for any student that th",
|
|
1598
|
+
method: { id: "classroom.userProfiles.guardians.list", httpMethod: "GET", path: "v1/userProfiles/{studentId}/guardians", baseUrl: "https://classroom.googleapis.com/", requiredParams: ["studentId"] },
|
|
1599
|
+
params: [{ "field": "studentId", "api": "studentId", "location": "path" }, { "field": "invitedEmailAddress", "api": "invitedEmailAddress", "location": "query" }, { "field": "pageSize", "api": "pageSize", "location": "query" }, { "field": "pageToken", "api": "pageToken", "location": "query" }, { "field": "fields", "api": "fields", "location": "query" }],
|
|
1600
|
+
hasBody: false,
|
|
1601
|
+
shape: {
|
|
1602
|
+
account: accountField(),
|
|
1603
|
+
studentId: z.string().describe("Filter results by the student who the guardian is linked to. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me"),
|
|
1604
|
+
invitedEmailAddress: z.string().describe("Filter results by the email address that the original invitation was sent to, resulting in this guardian link. This filter can only be used by domain administrators.").optional(),
|
|
1605
|
+
pageSize: z.number().describe("Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.").optional(),
|
|
1606
|
+
pageToken: z.string().describe("nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this").optional(),
|
|
1607
|
+
fields: z.string().optional().describe('Response field mask.'),
|
|
1608
|
+
},
|
|
1609
|
+
});
|
|
1610
|
+
}
|