gogcli-mcp 2.0.4 → 2.0.7
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/dist/index.js +12 -531
- package/dist/lib.js +12 -531
- package/manifest.json +1 -145
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/runner.ts +12 -2
- package/src/tools/calendar.ts +0 -92
- package/src/tools/classroom.ts +2 -297
- package/src/tools/contacts.ts +1 -75
- package/src/tools/slides.ts +1 -108
- package/tests/helpers/extras-harness.ts +31 -0
- package/tests/runner.test.ts +63 -0
- package/tests/tools/calendar.test.ts +0 -137
- package/tests/tools/classroom.test.ts +0 -352
- package/tests/tools/contacts.test.ts +0 -100
- package/tests/tools/slides.test.ts +6 -278
package/dist/index.js
CHANGED
|
@@ -30864,6 +30864,11 @@ var EMPTY_COMPLETION_RESULT = {
|
|
|
30864
30864
|
// src/runner.ts
|
|
30865
30865
|
import { spawn } from "node:child_process";
|
|
30866
30866
|
var TIMEOUT_MS = 3e4;
|
|
30867
|
+
function envOrUndefined(key) {
|
|
30868
|
+
const value = process.env[key];
|
|
30869
|
+
if (!value || value.startsWith("${")) return void 0;
|
|
30870
|
+
return value;
|
|
30871
|
+
}
|
|
30867
30872
|
function formatTimeout(ms) {
|
|
30868
30873
|
const seconds = Math.round(ms / 1e3);
|
|
30869
30874
|
if (seconds >= 60) {
|
|
@@ -30874,7 +30879,7 @@ function formatTimeout(ms) {
|
|
|
30874
30879
|
}
|
|
30875
30880
|
async function run(args, options = {}) {
|
|
30876
30881
|
const { account, spawner = spawn, interactive = false, timeout } = options;
|
|
30877
|
-
const effectiveAccount = account ??
|
|
30882
|
+
const effectiveAccount = account ?? envOrUndefined("GOG_ACCOUNT");
|
|
30878
30883
|
const fullArgs = ["--json", "--color=never"];
|
|
30879
30884
|
if (!interactive) {
|
|
30880
30885
|
fullArgs.push("--no-input");
|
|
@@ -30886,7 +30891,7 @@ async function run(args, options = {}) {
|
|
|
30886
30891
|
const effectiveTimeout = timeout ?? TIMEOUT_MS;
|
|
30887
30892
|
return new Promise((resolve, reject) => {
|
|
30888
30893
|
const { GOG_ACCESS_TOKEN: _, ...cleanEnv } = process.env;
|
|
30889
|
-
const child = spawner(
|
|
30894
|
+
const child = spawner(envOrUndefined("GOG_PATH") ?? "gog", fullArgs, { env: cleanEnv });
|
|
30890
30895
|
const stdoutChunks = [];
|
|
30891
30896
|
const stderrChunks = [];
|
|
30892
30897
|
let settled = false;
|
|
@@ -31145,88 +31150,6 @@ function registerCalendarTools(server2) {
|
|
|
31145
31150
|
}, async ({ subcommand, args, account }) => {
|
|
31146
31151
|
return runOrDiagnose(["calendar", subcommand, ...args], { account });
|
|
31147
31152
|
});
|
|
31148
|
-
server2.registerTool("gog_meet_create", {
|
|
31149
|
-
description: "Create a Google Meet space and return its meeting code.",
|
|
31150
|
-
inputSchema: {
|
|
31151
|
-
access: external_exports.enum(["open", "trusted", "restricted"]).optional().describe("Access type (default: trusted)"),
|
|
31152
|
-
open: external_exports.boolean().optional().describe("Open the meeting in a browser after creation"),
|
|
31153
|
-
account: accountParam
|
|
31154
|
-
}
|
|
31155
|
-
}, async ({ access, open, account }) => {
|
|
31156
|
-
const args = ["meet", "create"];
|
|
31157
|
-
if (access) args.push(`--access=${access}`);
|
|
31158
|
-
if (open) args.push("--open");
|
|
31159
|
-
return runOrDiagnose(args, { account });
|
|
31160
|
-
});
|
|
31161
|
-
server2.registerTool("gog_meet_get", {
|
|
31162
|
-
description: "Get a Google Meet space by its meeting code.",
|
|
31163
|
-
annotations: { readOnlyHint: true },
|
|
31164
|
-
inputSchema: {
|
|
31165
|
-
meetingCode: external_exports.string().describe("Meeting code (e.g. abc-defg-hij)"),
|
|
31166
|
-
account: accountParam
|
|
31167
|
-
}
|
|
31168
|
-
}, async ({ meetingCode, account }) => {
|
|
31169
|
-
return runOrDiagnose(["meet", "get", meetingCode], { account });
|
|
31170
|
-
});
|
|
31171
|
-
server2.registerTool("gog_meet_update", {
|
|
31172
|
-
description: "Update a Google Meet space configuration.",
|
|
31173
|
-
annotations: { destructiveHint: true },
|
|
31174
|
-
inputSchema: {
|
|
31175
|
-
meetingCode: external_exports.string().describe("Meeting code"),
|
|
31176
|
-
access: external_exports.enum(["open", "trusted", "restricted"]).optional().describe("Access type"),
|
|
31177
|
-
account: accountParam
|
|
31178
|
-
}
|
|
31179
|
-
}, async ({ meetingCode, access, account }) => {
|
|
31180
|
-
const args = ["meet", "update", meetingCode];
|
|
31181
|
-
if (access) args.push(`--access=${access}`);
|
|
31182
|
-
return runOrDiagnose(args, { account });
|
|
31183
|
-
});
|
|
31184
|
-
server2.registerTool("gog_meet_end", {
|
|
31185
|
-
description: "End the active conference in a Google Meet space.",
|
|
31186
|
-
annotations: { destructiveHint: true },
|
|
31187
|
-
inputSchema: {
|
|
31188
|
-
meetingCode: external_exports.string().describe("Meeting code"),
|
|
31189
|
-
account: accountParam
|
|
31190
|
-
}
|
|
31191
|
-
}, async ({ meetingCode, account }) => {
|
|
31192
|
-
return runOrDiagnose(["meet", "end", meetingCode], { account });
|
|
31193
|
-
});
|
|
31194
|
-
server2.registerTool("gog_meet_history", {
|
|
31195
|
-
description: "List past calls (conferences) in a Google Meet space.",
|
|
31196
|
-
annotations: { readOnlyHint: true },
|
|
31197
|
-
inputSchema: {
|
|
31198
|
-
meetingCode: external_exports.string().describe("Meeting code"),
|
|
31199
|
-
max: external_exports.number().optional().describe("Max results (default: 20)"),
|
|
31200
|
-
page: external_exports.string().optional().describe("Page token"),
|
|
31201
|
-
all: external_exports.boolean().optional().describe("Fetch all pages"),
|
|
31202
|
-
account: accountParam
|
|
31203
|
-
}
|
|
31204
|
-
}, async ({ meetingCode, max, page, all, account }) => {
|
|
31205
|
-
const args = ["meet", "history", meetingCode];
|
|
31206
|
-
if (max !== void 0) args.push(`--max=${max}`);
|
|
31207
|
-
if (page) args.push(`--page=${page}`);
|
|
31208
|
-
if (all) args.push("--all");
|
|
31209
|
-
return runOrDiagnose(args, { account });
|
|
31210
|
-
});
|
|
31211
|
-
server2.registerTool("gog_meet_participants", {
|
|
31212
|
-
description: "List participants from the latest (or a specific) Meet call.",
|
|
31213
|
-
annotations: { readOnlyHint: true },
|
|
31214
|
-
inputSchema: {
|
|
31215
|
-
meetingCode: external_exports.string().describe("Meeting code"),
|
|
31216
|
-
conference: external_exports.string().optional().describe("Specific conference ID (default: most recent)"),
|
|
31217
|
-
max: external_exports.number().optional().describe("Max results (default: 50)"),
|
|
31218
|
-
page: external_exports.string().optional().describe("Page token"),
|
|
31219
|
-
all: external_exports.boolean().optional().describe("Fetch all pages"),
|
|
31220
|
-
account: accountParam
|
|
31221
|
-
}
|
|
31222
|
-
}, async ({ meetingCode, conference, max, page, all, account }) => {
|
|
31223
|
-
const args = ["meet", "participants", meetingCode];
|
|
31224
|
-
if (conference) args.push(`--conference=${conference}`);
|
|
31225
|
-
if (max !== void 0) args.push(`--max=${max}`);
|
|
31226
|
-
if (page) args.push(`--page=${page}`);
|
|
31227
|
-
if (all) args.push("--all");
|
|
31228
|
-
return runOrDiagnose(args, { account });
|
|
31229
|
-
});
|
|
31230
31153
|
}
|
|
31231
31154
|
|
|
31232
31155
|
// src/tools/classroom.ts
|
|
@@ -31263,83 +31186,6 @@ function registerClassroomTools(server2) {
|
|
|
31263
31186
|
}, async ({ courseId, account }) => {
|
|
31264
31187
|
return runOrDiagnose(["classroom", "courses", "get", courseId], { account });
|
|
31265
31188
|
});
|
|
31266
|
-
server2.registerTool("gog_classroom_courses_create", {
|
|
31267
|
-
description: "Create a new Google Classroom course.",
|
|
31268
|
-
inputSchema: {
|
|
31269
|
-
name: external_exports.string().describe("Course name"),
|
|
31270
|
-
owner: external_exports.string().optional().describe('Owner user ID (default: "me")'),
|
|
31271
|
-
section: external_exports.string().optional().describe("Section"),
|
|
31272
|
-
descriptionHeading: external_exports.string().optional().describe("Description heading"),
|
|
31273
|
-
description: external_exports.string().optional().describe("Description"),
|
|
31274
|
-
room: external_exports.string().optional().describe("Room"),
|
|
31275
|
-
state: external_exports.string().optional().describe("Course state: ACTIVE, ARCHIVED, PROVISIONED, DECLINED, SUSPENDED"),
|
|
31276
|
-
account: accountParam
|
|
31277
|
-
}
|
|
31278
|
-
}, async ({ name, owner, section, descriptionHeading, description, room, state, account }) => {
|
|
31279
|
-
const args = ["classroom", "courses", "create", `--name=${name}`];
|
|
31280
|
-
if (owner) args.push(`--owner=${owner}`);
|
|
31281
|
-
if (section) args.push(`--section=${section}`);
|
|
31282
|
-
if (descriptionHeading) args.push(`--description-heading=${descriptionHeading}`);
|
|
31283
|
-
if (description) args.push(`--description=${description}`);
|
|
31284
|
-
if (room) args.push(`--room=${room}`);
|
|
31285
|
-
if (state) args.push(`--state=${state}`);
|
|
31286
|
-
return runOrDiagnose(args, { account });
|
|
31287
|
-
});
|
|
31288
|
-
server2.registerTool("gog_classroom_courses_update", {
|
|
31289
|
-
description: "Update an existing Google Classroom course.",
|
|
31290
|
-
annotations: { destructiveHint: true },
|
|
31291
|
-
inputSchema: {
|
|
31292
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31293
|
-
name: external_exports.string().optional().describe("Course name"),
|
|
31294
|
-
owner: external_exports.string().optional().describe("Owner user ID"),
|
|
31295
|
-
section: external_exports.string().optional().describe("Section"),
|
|
31296
|
-
descriptionHeading: external_exports.string().optional().describe("Description heading"),
|
|
31297
|
-
description: external_exports.string().optional().describe("Description"),
|
|
31298
|
-
room: external_exports.string().optional().describe("Room"),
|
|
31299
|
-
state: external_exports.string().optional().describe("Course state: ACTIVE, ARCHIVED, PROVISIONED, DECLINED, SUSPENDED"),
|
|
31300
|
-
account: accountParam
|
|
31301
|
-
}
|
|
31302
|
-
}, async ({ courseId, name, owner, section, descriptionHeading, description, room, state, account }) => {
|
|
31303
|
-
const args = ["classroom", "courses", "update", courseId];
|
|
31304
|
-
if (name) args.push(`--name=${name}`);
|
|
31305
|
-
if (owner) args.push(`--owner=${owner}`);
|
|
31306
|
-
if (section) args.push(`--section=${section}`);
|
|
31307
|
-
if (descriptionHeading) args.push(`--description-heading=${descriptionHeading}`);
|
|
31308
|
-
if (description) args.push(`--description=${description}`);
|
|
31309
|
-
if (room) args.push(`--room=${room}`);
|
|
31310
|
-
if (state) args.push(`--state=${state}`);
|
|
31311
|
-
return runOrDiagnose(args, { account });
|
|
31312
|
-
});
|
|
31313
|
-
server2.registerTool("gog_classroom_courses_delete", {
|
|
31314
|
-
description: "Delete a Google Classroom course.",
|
|
31315
|
-
annotations: { destructiveHint: true },
|
|
31316
|
-
inputSchema: {
|
|
31317
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31318
|
-
account: accountParam
|
|
31319
|
-
}
|
|
31320
|
-
}, async ({ courseId, account }) => {
|
|
31321
|
-
return runOrDiagnose(["classroom", "courses", "delete", courseId], { account });
|
|
31322
|
-
});
|
|
31323
|
-
server2.registerTool("gog_classroom_courses_archive", {
|
|
31324
|
-
description: "Archive a Google Classroom course.",
|
|
31325
|
-
annotations: { destructiveHint: true },
|
|
31326
|
-
inputSchema: {
|
|
31327
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31328
|
-
account: accountParam
|
|
31329
|
-
}
|
|
31330
|
-
}, async ({ courseId, account }) => {
|
|
31331
|
-
return runOrDiagnose(["classroom", "courses", "archive", courseId], { account });
|
|
31332
|
-
});
|
|
31333
|
-
server2.registerTool("gog_classroom_courses_unarchive", {
|
|
31334
|
-
description: "Unarchive a Google Classroom course (restore to ACTIVE).",
|
|
31335
|
-
annotations: { destructiveHint: true },
|
|
31336
|
-
inputSchema: {
|
|
31337
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31338
|
-
account: accountParam
|
|
31339
|
-
}
|
|
31340
|
-
}, async ({ courseId, account }) => {
|
|
31341
|
-
return runOrDiagnose(["classroom", "courses", "unarchive", courseId], { account });
|
|
31342
|
-
});
|
|
31343
31189
|
server2.registerTool("gog_classroom_students_list", {
|
|
31344
31190
|
description: "List students enrolled in a Google Classroom course.",
|
|
31345
31191
|
annotations: { readOnlyHint: true },
|
|
@@ -31368,30 +31214,6 @@ function registerClassroomTools(server2) {
|
|
|
31368
31214
|
}, async ({ courseId, userId, account }) => {
|
|
31369
31215
|
return runOrDiagnose(["classroom", "students", "get", courseId, userId], { account });
|
|
31370
31216
|
});
|
|
31371
|
-
server2.registerTool("gog_classroom_students_add", {
|
|
31372
|
-
description: "Add a student to a Google Classroom course.",
|
|
31373
|
-
inputSchema: {
|
|
31374
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31375
|
-
userId: external_exports.string().describe('Student user ID (or "me")'),
|
|
31376
|
-
enrollmentCode: external_exports.string().optional().describe("Enrollment code (required if adding self via code)"),
|
|
31377
|
-
account: accountParam
|
|
31378
|
-
}
|
|
31379
|
-
}, async ({ courseId, userId, enrollmentCode, account }) => {
|
|
31380
|
-
const args = ["classroom", "students", "add", courseId, userId];
|
|
31381
|
-
if (enrollmentCode) args.push(`--enrollment-code=${enrollmentCode}`);
|
|
31382
|
-
return runOrDiagnose(args, { account });
|
|
31383
|
-
});
|
|
31384
|
-
server2.registerTool("gog_classroom_students_remove", {
|
|
31385
|
-
description: "Remove a student from a Google Classroom course.",
|
|
31386
|
-
annotations: { destructiveHint: true },
|
|
31387
|
-
inputSchema: {
|
|
31388
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31389
|
-
userId: external_exports.string().describe("Student user ID"),
|
|
31390
|
-
account: accountParam
|
|
31391
|
-
}
|
|
31392
|
-
}, async ({ courseId, userId, account }) => {
|
|
31393
|
-
return runOrDiagnose(["classroom", "students", "remove", courseId, userId], { account });
|
|
31394
|
-
});
|
|
31395
31217
|
server2.registerTool("gog_classroom_teachers_list", {
|
|
31396
31218
|
description: "List teachers in a Google Classroom course.",
|
|
31397
31219
|
annotations: { readOnlyHint: true },
|
|
@@ -31420,27 +31242,6 @@ function registerClassroomTools(server2) {
|
|
|
31420
31242
|
}, async ({ courseId, userId, account }) => {
|
|
31421
31243
|
return runOrDiagnose(["classroom", "teachers", "get", courseId, userId], { account });
|
|
31422
31244
|
});
|
|
31423
|
-
server2.registerTool("gog_classroom_teachers_add", {
|
|
31424
|
-
description: "Add a teacher to a Google Classroom course.",
|
|
31425
|
-
inputSchema: {
|
|
31426
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31427
|
-
userId: external_exports.string().describe("Teacher user ID"),
|
|
31428
|
-
account: accountParam
|
|
31429
|
-
}
|
|
31430
|
-
}, async ({ courseId, userId, account }) => {
|
|
31431
|
-
return runOrDiagnose(["classroom", "teachers", "add", courseId, userId], { account });
|
|
31432
|
-
});
|
|
31433
|
-
server2.registerTool("gog_classroom_teachers_remove", {
|
|
31434
|
-
description: "Remove a teacher from a Google Classroom course.",
|
|
31435
|
-
annotations: { destructiveHint: true },
|
|
31436
|
-
inputSchema: {
|
|
31437
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31438
|
-
userId: external_exports.string().describe("Teacher user ID"),
|
|
31439
|
-
account: accountParam
|
|
31440
|
-
}
|
|
31441
|
-
}, async ({ courseId, userId, account }) => {
|
|
31442
|
-
return runOrDiagnose(["classroom", "teachers", "remove", courseId, userId], { account });
|
|
31443
|
-
});
|
|
31444
31245
|
server2.registerTool("gog_classroom_roster", {
|
|
31445
31246
|
description: "List the full roster (students and/or teachers) of a Google Classroom course. Omit both flags to return both groups.",
|
|
31446
31247
|
annotations: { readOnlyHint: true },
|
|
@@ -31498,78 +31299,6 @@ function registerClassroomTools(server2) {
|
|
|
31498
31299
|
}, async ({ courseId, courseworkId, account }) => {
|
|
31499
31300
|
return runOrDiagnose(["classroom", "coursework", "get", courseId, courseworkId], { account });
|
|
31500
31301
|
});
|
|
31501
|
-
server2.registerTool("gog_classroom_coursework_create", {
|
|
31502
|
-
description: "Create a new coursework item (assignment, question, etc.) in a course.",
|
|
31503
|
-
inputSchema: {
|
|
31504
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31505
|
-
title: external_exports.string().describe("Coursework title"),
|
|
31506
|
-
description: external_exports.string().optional().describe("Description"),
|
|
31507
|
-
type: external_exports.string().optional().describe("Work type (ASSIGNMENT, SHORT_ANSWER_QUESTION, MULTIPLE_CHOICE_QUESTION). Default: ASSIGNMENT"),
|
|
31508
|
-
state: external_exports.string().optional().describe("State: PUBLISHED or DRAFT"),
|
|
31509
|
-
maxPoints: external_exports.number().optional().describe("Max points"),
|
|
31510
|
-
due: external_exports.string().optional().describe("Due datetime (combined date+time)"),
|
|
31511
|
-
dueDate: external_exports.string().optional().describe("Due date (YYYY-MM-DD)"),
|
|
31512
|
-
dueTime: external_exports.string().optional().describe("Due time (HH:MM)"),
|
|
31513
|
-
scheduled: external_exports.string().optional().describe("Scheduled publish time"),
|
|
31514
|
-
topic: external_exports.string().optional().describe("Topic ID"),
|
|
31515
|
-
account: accountParam
|
|
31516
|
-
}
|
|
31517
|
-
}, async ({ courseId, title, description, type, state, maxPoints, due, dueDate, dueTime, scheduled, topic, account }) => {
|
|
31518
|
-
const args = ["classroom", "coursework", "create", courseId, `--title=${title}`];
|
|
31519
|
-
if (description) args.push(`--description=${description}`);
|
|
31520
|
-
if (type) args.push(`--type=${type}`);
|
|
31521
|
-
if (state) args.push(`--state=${state}`);
|
|
31522
|
-
if (maxPoints !== void 0) args.push(`--max-points=${maxPoints}`);
|
|
31523
|
-
if (due) args.push(`--due=${due}`);
|
|
31524
|
-
if (dueDate) args.push(`--due-date=${dueDate}`);
|
|
31525
|
-
if (dueTime) args.push(`--due-time=${dueTime}`);
|
|
31526
|
-
if (scheduled) args.push(`--scheduled=${scheduled}`);
|
|
31527
|
-
if (topic) args.push(`--topic=${topic}`);
|
|
31528
|
-
return runOrDiagnose(args, { account });
|
|
31529
|
-
});
|
|
31530
|
-
server2.registerTool("gog_classroom_coursework_update", {
|
|
31531
|
-
description: "Update an existing coursework item.",
|
|
31532
|
-
annotations: { destructiveHint: true },
|
|
31533
|
-
inputSchema: {
|
|
31534
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31535
|
-
courseworkId: external_exports.string().describe("Coursework ID"),
|
|
31536
|
-
title: external_exports.string().optional().describe("New title"),
|
|
31537
|
-
description: external_exports.string().optional().describe("New description"),
|
|
31538
|
-
type: external_exports.string().optional().describe("Work type"),
|
|
31539
|
-
state: external_exports.string().optional().describe("State: PUBLISHED or DRAFT"),
|
|
31540
|
-
maxPoints: external_exports.number().optional().describe("Max points"),
|
|
31541
|
-
due: external_exports.string().optional().describe("Due datetime"),
|
|
31542
|
-
dueDate: external_exports.string().optional().describe("Due date (YYYY-MM-DD)"),
|
|
31543
|
-
dueTime: external_exports.string().optional().describe("Due time (HH:MM)"),
|
|
31544
|
-
scheduled: external_exports.string().optional().describe("Scheduled publish time"),
|
|
31545
|
-
topic: external_exports.string().optional().describe("Topic ID"),
|
|
31546
|
-
account: accountParam
|
|
31547
|
-
}
|
|
31548
|
-
}, async ({ courseId, courseworkId, title, description, type, state, maxPoints, due, dueDate, dueTime, scheduled, topic, account }) => {
|
|
31549
|
-
const args = ["classroom", "coursework", "update", courseId, courseworkId];
|
|
31550
|
-
if (title) args.push(`--title=${title}`);
|
|
31551
|
-
if (description) args.push(`--description=${description}`);
|
|
31552
|
-
if (type) args.push(`--type=${type}`);
|
|
31553
|
-
if (state) args.push(`--state=${state}`);
|
|
31554
|
-
if (maxPoints !== void 0) args.push(`--max-points=${maxPoints}`);
|
|
31555
|
-
if (due) args.push(`--due=${due}`);
|
|
31556
|
-
if (dueDate) args.push(`--due-date=${dueDate}`);
|
|
31557
|
-
if (dueTime) args.push(`--due-time=${dueTime}`);
|
|
31558
|
-
if (scheduled) args.push(`--scheduled=${scheduled}`);
|
|
31559
|
-
if (topic) args.push(`--topic=${topic}`);
|
|
31560
|
-
return runOrDiagnose(args, { account });
|
|
31561
|
-
});
|
|
31562
|
-
server2.registerTool("gog_classroom_coursework_delete", {
|
|
31563
|
-
description: "Delete a coursework item.",
|
|
31564
|
-
annotations: { destructiveHint: true },
|
|
31565
|
-
inputSchema: {
|
|
31566
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31567
|
-
courseworkId: external_exports.string().describe("Coursework ID"),
|
|
31568
|
-
account: accountParam
|
|
31569
|
-
}
|
|
31570
|
-
}, async ({ courseId, courseworkId, account }) => {
|
|
31571
|
-
return runOrDiagnose(["classroom", "coursework", "delete", courseId, courseworkId], { account });
|
|
31572
|
-
});
|
|
31573
31302
|
server2.registerTool("gog_classroom_submissions_list", {
|
|
31574
31303
|
description: "List student submissions for a coursework item.",
|
|
31575
31304
|
annotations: { readOnlyHint: true },
|
|
@@ -31696,7 +31425,7 @@ function registerClassroomTools(server2) {
|
|
|
31696
31425
|
inputSchema: {
|
|
31697
31426
|
courseId: external_exports.string().describe("Course ID"),
|
|
31698
31427
|
text: external_exports.string().describe("Announcement text"),
|
|
31699
|
-
state: external_exports.
|
|
31428
|
+
state: external_exports.enum(["PUBLISHED", "DRAFT"]).optional().describe("State"),
|
|
31700
31429
|
scheduled: external_exports.string().optional().describe("Scheduled publish time"),
|
|
31701
31430
|
account: accountParam
|
|
31702
31431
|
}
|
|
@@ -31706,35 +31435,6 @@ function registerClassroomTools(server2) {
|
|
|
31706
31435
|
if (scheduled) args.push(`--scheduled=${scheduled}`);
|
|
31707
31436
|
return runOrDiagnose(args, { account });
|
|
31708
31437
|
});
|
|
31709
|
-
server2.registerTool("gog_classroom_announcements_update", {
|
|
31710
|
-
description: "Update an existing announcement.",
|
|
31711
|
-
annotations: { destructiveHint: true },
|
|
31712
|
-
inputSchema: {
|
|
31713
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31714
|
-
announcementId: external_exports.string().describe("Announcement ID"),
|
|
31715
|
-
text: external_exports.string().optional().describe("New text"),
|
|
31716
|
-
state: external_exports.string().optional().describe("State: PUBLISHED or DRAFT"),
|
|
31717
|
-
scheduled: external_exports.string().optional().describe("Scheduled publish time"),
|
|
31718
|
-
account: accountParam
|
|
31719
|
-
}
|
|
31720
|
-
}, async ({ courseId, announcementId, text, state, scheduled, account }) => {
|
|
31721
|
-
const args = ["classroom", "announcements", "update", courseId, announcementId];
|
|
31722
|
-
if (text) args.push(`--text=${text}`);
|
|
31723
|
-
if (state) args.push(`--state=${state}`);
|
|
31724
|
-
if (scheduled) args.push(`--scheduled=${scheduled}`);
|
|
31725
|
-
return runOrDiagnose(args, { account });
|
|
31726
|
-
});
|
|
31727
|
-
server2.registerTool("gog_classroom_announcements_delete", {
|
|
31728
|
-
description: "Delete an announcement.",
|
|
31729
|
-
annotations: { destructiveHint: true },
|
|
31730
|
-
inputSchema: {
|
|
31731
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31732
|
-
announcementId: external_exports.string().describe("Announcement ID"),
|
|
31733
|
-
account: accountParam
|
|
31734
|
-
}
|
|
31735
|
-
}, async ({ courseId, announcementId, account }) => {
|
|
31736
|
-
return runOrDiagnose(["classroom", "announcements", "delete", courseId, announcementId], { account });
|
|
31737
|
-
});
|
|
31738
31438
|
server2.registerTool("gog_classroom_topics_list", {
|
|
31739
31439
|
description: "List topics in a Google Classroom course.",
|
|
31740
31440
|
annotations: { readOnlyHint: true },
|
|
@@ -31763,39 +31463,6 @@ function registerClassroomTools(server2) {
|
|
|
31763
31463
|
}, async ({ courseId, topicId, account }) => {
|
|
31764
31464
|
return runOrDiagnose(["classroom", "topics", "get", courseId, topicId], { account });
|
|
31765
31465
|
});
|
|
31766
|
-
server2.registerTool("gog_classroom_topics_create", {
|
|
31767
|
-
description: "Create a topic in a Google Classroom course.",
|
|
31768
|
-
inputSchema: {
|
|
31769
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31770
|
-
name: external_exports.string().describe("Topic name"),
|
|
31771
|
-
account: accountParam
|
|
31772
|
-
}
|
|
31773
|
-
}, async ({ courseId, name, account }) => {
|
|
31774
|
-
return runOrDiagnose(["classroom", "topics", "create", courseId, `--name=${name}`], { account });
|
|
31775
|
-
});
|
|
31776
|
-
server2.registerTool("gog_classroom_topics_update", {
|
|
31777
|
-
description: "Rename an existing topic.",
|
|
31778
|
-
annotations: { destructiveHint: true },
|
|
31779
|
-
inputSchema: {
|
|
31780
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31781
|
-
topicId: external_exports.string().describe("Topic ID"),
|
|
31782
|
-
name: external_exports.string().describe("New topic name"),
|
|
31783
|
-
account: accountParam
|
|
31784
|
-
}
|
|
31785
|
-
}, async ({ courseId, topicId, name, account }) => {
|
|
31786
|
-
return runOrDiagnose(["classroom", "topics", "update", courseId, topicId, `--name=${name}`], { account });
|
|
31787
|
-
});
|
|
31788
|
-
server2.registerTool("gog_classroom_topics_delete", {
|
|
31789
|
-
description: "Delete a topic.",
|
|
31790
|
-
annotations: { destructiveHint: true },
|
|
31791
|
-
inputSchema: {
|
|
31792
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31793
|
-
topicId: external_exports.string().describe("Topic ID"),
|
|
31794
|
-
account: accountParam
|
|
31795
|
-
}
|
|
31796
|
-
}, async ({ courseId, topicId, account }) => {
|
|
31797
|
-
return runOrDiagnose(["classroom", "topics", "delete", courseId, topicId], { account });
|
|
31798
|
-
});
|
|
31799
31466
|
server2.registerTool("gog_classroom_invitations_list", {
|
|
31800
31467
|
description: "List Google Classroom invitations.",
|
|
31801
31468
|
annotations: { readOnlyHint: true },
|
|
@@ -31826,17 +31493,6 @@ function registerClassroomTools(server2) {
|
|
|
31826
31493
|
}, async ({ invitationId, account }) => {
|
|
31827
31494
|
return runOrDiagnose(["classroom", "invitations", "get", invitationId], { account });
|
|
31828
31495
|
});
|
|
31829
|
-
server2.registerTool("gog_classroom_invitations_create", {
|
|
31830
|
-
description: "Create an invitation to a Google Classroom course.",
|
|
31831
|
-
inputSchema: {
|
|
31832
|
-
courseId: external_exports.string().describe("Course ID"),
|
|
31833
|
-
userId: external_exports.string().describe("User ID to invite"),
|
|
31834
|
-
role: external_exports.enum(["STUDENT", "TEACHER", "OWNER"]).describe("Role for the invited user"),
|
|
31835
|
-
account: accountParam
|
|
31836
|
-
}
|
|
31837
|
-
}, async ({ courseId, userId, role, account }) => {
|
|
31838
|
-
return runOrDiagnose(["classroom", "invitations", "create", courseId, userId, `--role=${role}`], { account });
|
|
31839
|
-
});
|
|
31840
31496
|
server2.registerTool("gog_classroom_invitations_accept", {
|
|
31841
31497
|
description: "Accept a Google Classroom invitation.",
|
|
31842
31498
|
inputSchema: {
|
|
@@ -31846,16 +31502,6 @@ function registerClassroomTools(server2) {
|
|
|
31846
31502
|
}, async ({ invitationId, account }) => {
|
|
31847
31503
|
return runOrDiagnose(["classroom", "invitations", "accept", invitationId], { account });
|
|
31848
31504
|
});
|
|
31849
|
-
server2.registerTool("gog_classroom_invitations_delete", {
|
|
31850
|
-
description: "Delete (revoke) a Google Classroom invitation.",
|
|
31851
|
-
annotations: { destructiveHint: true },
|
|
31852
|
-
inputSchema: {
|
|
31853
|
-
invitationId: external_exports.string().describe("Invitation ID"),
|
|
31854
|
-
account: accountParam
|
|
31855
|
-
}
|
|
31856
|
-
}, async ({ invitationId, account }) => {
|
|
31857
|
-
return runOrDiagnose(["classroom", "invitations", "delete", invitationId], { account });
|
|
31858
|
-
});
|
|
31859
31505
|
server2.registerTool("gog_classroom_profile_get", {
|
|
31860
31506
|
description: "Get a Google Classroom user profile. Omit userId to fetch the authenticated user.",
|
|
31861
31507
|
annotations: { readOnlyHint: true },
|
|
@@ -31870,6 +31516,7 @@ function registerClassroomTools(server2) {
|
|
|
31870
31516
|
});
|
|
31871
31517
|
server2.registerTool("gog_classroom_run", {
|
|
31872
31518
|
description: "Run any gog classroom subcommand not covered by the other tools (guardians, guardian-invitations, materials, coursework assignees, announcement assignees, etc.). Run `gog classroom --help` for the full list, or `gog classroom <subcommand> --help` for flags.",
|
|
31519
|
+
annotations: { destructiveHint: true },
|
|
31873
31520
|
inputSchema: {
|
|
31874
31521
|
subcommand: external_exports.string().describe('The gog classroom subcommand to run, e.g. "guardians", "materials", "guardian-invitations"'),
|
|
31875
31522
|
args: external_exports.array(external_exports.string()).describe("Additional positional args and flags"),
|
|
@@ -31883,7 +31530,7 @@ function registerClassroomTools(server2) {
|
|
|
31883
31530
|
// src/tools/contacts.ts
|
|
31884
31531
|
function registerContactsTools(server2) {
|
|
31885
31532
|
server2.registerTool("gog_contacts_search", {
|
|
31886
|
-
description: "Search Google Contacts by name, email, or phone.",
|
|
31533
|
+
description: "Search personal Google Contacts by name, email, or phone. For searching the Workspace directory (internal users not in your personal contacts), use gog_people_search from gogcli-mcp-contacts.",
|
|
31887
31534
|
annotations: { readOnlyHint: true },
|
|
31888
31535
|
inputSchema: {
|
|
31889
31536
|
query: external_exports.string().describe("Search query (name, email, or phone)"),
|
|
@@ -31943,71 +31590,6 @@ function registerContactsTools(server2) {
|
|
|
31943
31590
|
}, async ({ subcommand, args, account }) => {
|
|
31944
31591
|
return runOrDiagnose(["contacts", subcommand, ...args], { account });
|
|
31945
31592
|
});
|
|
31946
|
-
server2.registerTool("gog_people_me", {
|
|
31947
|
-
description: "Show your own People profile (people/me).",
|
|
31948
|
-
annotations: { readOnlyHint: true },
|
|
31949
|
-
inputSchema: {
|
|
31950
|
-
account: accountParam
|
|
31951
|
-
}
|
|
31952
|
-
}, async ({ account }) => {
|
|
31953
|
-
return runOrDiagnose(["people", "me"], { account });
|
|
31954
|
-
});
|
|
31955
|
-
server2.registerTool("gog_people_get", {
|
|
31956
|
-
description: "Get a People profile by resource name.",
|
|
31957
|
-
annotations: { readOnlyHint: true },
|
|
31958
|
-
inputSchema: {
|
|
31959
|
-
userId: external_exports.string().describe("Person resource name (people/...) or email"),
|
|
31960
|
-
account: accountParam
|
|
31961
|
-
}
|
|
31962
|
-
}, async ({ userId, account }) => {
|
|
31963
|
-
return runOrDiagnose(["people", "get", userId], { account });
|
|
31964
|
-
});
|
|
31965
|
-
server2.registerTool("gog_people_search", {
|
|
31966
|
-
description: "Search the Google Workspace directory (covers internal users, unlike contacts search which is limited to your personal contacts).",
|
|
31967
|
-
annotations: { readOnlyHint: true },
|
|
31968
|
-
inputSchema: {
|
|
31969
|
-
query: external_exports.string().describe("Search query (name, email, etc.)"),
|
|
31970
|
-
max: external_exports.number().optional().describe("Max results (default: 50)"),
|
|
31971
|
-
page: external_exports.string().optional().describe("Page token"),
|
|
31972
|
-
all: external_exports.boolean().optional().describe("Fetch all pages"),
|
|
31973
|
-
account: accountParam
|
|
31974
|
-
}
|
|
31975
|
-
}, async ({ query, max, page, all, account }) => {
|
|
31976
|
-
const args = ["people", "search", query];
|
|
31977
|
-
if (max !== void 0) args.push(`--max=${max}`);
|
|
31978
|
-
if (page) args.push(`--page=${page}`);
|
|
31979
|
-
if (all) args.push("--all");
|
|
31980
|
-
return runOrDiagnose(args, { account });
|
|
31981
|
-
});
|
|
31982
|
-
server2.registerTool("gog_people_relations", {
|
|
31983
|
-
description: "Get relations (manager, reports, etc.) for a user. Defaults to self when userId is omitted.",
|
|
31984
|
-
annotations: { readOnlyHint: true },
|
|
31985
|
-
inputSchema: {
|
|
31986
|
-
userId: external_exports.string().optional().describe("Person resource name (defaults to self when omitted)"),
|
|
31987
|
-
type: external_exports.string().optional().describe('Filter to a specific relation type (e.g. "manager")'),
|
|
31988
|
-
account: accountParam
|
|
31989
|
-
}
|
|
31990
|
-
}, async ({ userId, type, account }) => {
|
|
31991
|
-
const args = ["people", "relations"];
|
|
31992
|
-
if (userId) args.push(userId);
|
|
31993
|
-
if (type) args.push(`--type=${type}`);
|
|
31994
|
-
return runOrDiagnose(args, { account });
|
|
31995
|
-
});
|
|
31996
|
-
server2.registerTool("gog_people_raw", {
|
|
31997
|
-
description: "Dump the raw People API response as JSON (lossless; for scripting and LLM consumption).",
|
|
31998
|
-
annotations: { readOnlyHint: true },
|
|
31999
|
-
inputSchema: {
|
|
32000
|
-
userId: external_exports.string().describe("Person resource name (people/...) or email"),
|
|
32001
|
-
personFields: external_exports.string().optional().describe("People API personFields mask (default: broad set)"),
|
|
32002
|
-
pretty: external_exports.boolean().optional().describe("Pretty-print JSON (default: compact single-line)"),
|
|
32003
|
-
account: accountParam
|
|
32004
|
-
}
|
|
32005
|
-
}, async ({ userId, personFields, pretty, account }) => {
|
|
32006
|
-
const args = ["people", "raw", userId];
|
|
32007
|
-
if (personFields) args.push(`--person-fields=${personFields}`);
|
|
32008
|
-
if (pretty) args.push("--pretty");
|
|
32009
|
-
return runOrDiagnose(args, { account });
|
|
32010
|
-
});
|
|
32011
31593
|
}
|
|
32012
31594
|
|
|
32013
31595
|
// src/tools/docs.ts
|
|
@@ -32410,47 +31992,6 @@ function registerSlidesTools(server2) {
|
|
|
32410
31992
|
if (template) args.push(`--template=${template}`);
|
|
32411
31993
|
return runOrDiagnose(args, { account });
|
|
32412
31994
|
});
|
|
32413
|
-
server2.registerTool("gog_slides_create_from_markdown", {
|
|
32414
|
-
description: "Create a new Google Slides presentation from markdown content (inline or from a file).",
|
|
32415
|
-
inputSchema: {
|
|
32416
|
-
title: external_exports.string().describe("Presentation title"),
|
|
32417
|
-
content: external_exports.string().optional().describe("Inline markdown content"),
|
|
32418
|
-
contentFile: external_exports.string().optional().describe("Path to a markdown file"),
|
|
32419
|
-
parent: external_exports.string().optional().describe("Destination folder ID"),
|
|
32420
|
-
debug: external_exports.boolean().optional().describe("Enable debug output"),
|
|
32421
|
-
account: accountParam
|
|
32422
|
-
}
|
|
32423
|
-
}, async ({ title, content, contentFile, parent, debug, account }) => {
|
|
32424
|
-
const args = ["slides", "create-from-markdown", title];
|
|
32425
|
-
if (content) args.push(`--content=${content}`);
|
|
32426
|
-
if (contentFile) args.push(`--content-file=${contentFile}`);
|
|
32427
|
-
if (parent) args.push(`--parent=${parent}`);
|
|
32428
|
-
if (debug) args.push("--debug");
|
|
32429
|
-
return runOrDiagnose(args, { account });
|
|
32430
|
-
});
|
|
32431
|
-
server2.registerTool("gog_slides_create_from_template", {
|
|
32432
|
-
description: "Create a new Google Slides presentation from a template, with optional placeholder replacements.",
|
|
32433
|
-
inputSchema: {
|
|
32434
|
-
templateId: external_exports.string().describe("Template presentation ID"),
|
|
32435
|
-
title: external_exports.string().describe("New presentation title"),
|
|
32436
|
-
replacements: external_exports.record(external_exports.string(), external_exports.string()).optional().describe("Placeholder replacements as a key/value object (emitted as --replace=k=v for each entry)"),
|
|
32437
|
-
replacementsFile: external_exports.string().optional().describe("Path to a JSON file containing replacements"),
|
|
32438
|
-
parent: external_exports.string().optional().describe("Destination folder ID"),
|
|
32439
|
-
exact: external_exports.boolean().optional().describe("Require exact placeholder matches"),
|
|
32440
|
-
account: accountParam
|
|
32441
|
-
}
|
|
32442
|
-
}, async ({ templateId, title, replacements, replacementsFile, parent, exact, account }) => {
|
|
32443
|
-
const args = ["slides", "create-from-template", templateId, title];
|
|
32444
|
-
if (replacements) {
|
|
32445
|
-
for (const [k, v] of Object.entries(replacements)) {
|
|
32446
|
-
args.push(`--replace=${k}=${v}`);
|
|
32447
|
-
}
|
|
32448
|
-
}
|
|
32449
|
-
if (replacementsFile) args.push(`--replacements=${replacementsFile}`);
|
|
32450
|
-
if (parent) args.push(`--parent=${parent}`);
|
|
32451
|
-
if (exact) args.push("--exact");
|
|
32452
|
-
return runOrDiagnose(args, { account });
|
|
32453
|
-
});
|
|
32454
31995
|
server2.registerTool("gog_slides_copy", {
|
|
32455
31996
|
description: "Copy a Google Slides presentation to a new presentation with the given title.",
|
|
32456
31997
|
inputSchema: {
|
|
@@ -32464,23 +32005,6 @@ function registerSlidesTools(server2) {
|
|
|
32464
32005
|
if (parent) args.push(`--parent=${parent}`);
|
|
32465
32006
|
return runOrDiagnose(args, { account });
|
|
32466
32007
|
});
|
|
32467
|
-
server2.registerTool("gog_slides_add_slide", {
|
|
32468
|
-
description: "Add a new slide to a presentation from a local image, with optional speaker notes.",
|
|
32469
|
-
inputSchema: {
|
|
32470
|
-
presentationId: external_exports.string().describe("Presentation ID"),
|
|
32471
|
-
image: external_exports.string().describe("Path to the local image file"),
|
|
32472
|
-
notes: external_exports.string().optional().describe("Speaker notes text"),
|
|
32473
|
-
notesFile: external_exports.string().optional().describe("Path to a file containing speaker notes"),
|
|
32474
|
-
before: external_exports.string().optional().describe("Insert before this slide ID (default: append at end)"),
|
|
32475
|
-
account: accountParam
|
|
32476
|
-
}
|
|
32477
|
-
}, async ({ presentationId, image, notes, notesFile, before, account }) => {
|
|
32478
|
-
const args = ["slides", "add-slide", presentationId, image];
|
|
32479
|
-
if (notes) args.push(`--notes=${notes}`);
|
|
32480
|
-
if (notesFile) args.push(`--notes-file=${notesFile}`);
|
|
32481
|
-
if (before) args.push(`--before=${before}`);
|
|
32482
|
-
return runOrDiagnose(args, { account });
|
|
32483
|
-
});
|
|
32484
32008
|
server2.registerTool("gog_slides_list_slides", {
|
|
32485
32009
|
description: "List slides in a Google Slides presentation.",
|
|
32486
32010
|
annotations: { readOnlyHint: true },
|
|
@@ -32491,17 +32015,6 @@ function registerSlidesTools(server2) {
|
|
|
32491
32015
|
}, async ({ presentationId, account }) => {
|
|
32492
32016
|
return runOrDiagnose(["slides", "list-slides", presentationId], { account });
|
|
32493
32017
|
});
|
|
32494
|
-
server2.registerTool("gog_slides_delete_slide", {
|
|
32495
|
-
description: "Delete a slide from a Google Slides presentation.",
|
|
32496
|
-
annotations: { destructiveHint: true },
|
|
32497
|
-
inputSchema: {
|
|
32498
|
-
presentationId: external_exports.string().describe("Presentation ID"),
|
|
32499
|
-
slideId: external_exports.string().describe("Slide ID to delete"),
|
|
32500
|
-
account: accountParam
|
|
32501
|
-
}
|
|
32502
|
-
}, async ({ presentationId, slideId, account }) => {
|
|
32503
|
-
return runOrDiagnose(["slides", "delete-slide", presentationId, slideId], { account });
|
|
32504
|
-
});
|
|
32505
32018
|
server2.registerTool("gog_slides_read_slide", {
|
|
32506
32019
|
description: "Read the content of a slide (text, shapes, speaker notes).",
|
|
32507
32020
|
annotations: { readOnlyHint: true },
|
|
@@ -32513,41 +32026,9 @@ function registerSlidesTools(server2) {
|
|
|
32513
32026
|
}, async ({ presentationId, slideId, account }) => {
|
|
32514
32027
|
return runOrDiagnose(["slides", "read-slide", presentationId, slideId], { account });
|
|
32515
32028
|
});
|
|
32516
|
-
server2.registerTool("gog_slides_update_notes", {
|
|
32517
|
-
description: "Update the speaker notes on a slide (inline text or from a file).",
|
|
32518
|
-
annotations: { destructiveHint: true },
|
|
32519
|
-
inputSchema: {
|
|
32520
|
-
presentationId: external_exports.string().describe("Presentation ID"),
|
|
32521
|
-
slideId: external_exports.string().describe("Slide ID"),
|
|
32522
|
-
notes: external_exports.string().optional().describe("New speaker notes text"),
|
|
32523
|
-
notesFile: external_exports.string().optional().describe("Path to a file containing new speaker notes"),
|
|
32524
|
-
account: accountParam
|
|
32525
|
-
}
|
|
32526
|
-
}, async ({ presentationId, slideId, notes, notesFile, account }) => {
|
|
32527
|
-
const args = ["slides", "update-notes", presentationId, slideId];
|
|
32528
|
-
if (notes) args.push(`--notes=${notes}`);
|
|
32529
|
-
if (notesFile) args.push(`--notes-file=${notesFile}`);
|
|
32530
|
-
return runOrDiagnose(args, { account });
|
|
32531
|
-
});
|
|
32532
|
-
server2.registerTool("gog_slides_replace_slide", {
|
|
32533
|
-
description: "Replace the image content of an existing slide, with optional speaker notes.",
|
|
32534
|
-
annotations: { destructiveHint: true },
|
|
32535
|
-
inputSchema: {
|
|
32536
|
-
presentationId: external_exports.string().describe("Presentation ID"),
|
|
32537
|
-
slideId: external_exports.string().describe("Slide ID to replace"),
|
|
32538
|
-
image: external_exports.string().describe("Path to the new local image file"),
|
|
32539
|
-
notes: external_exports.string().optional().describe("Speaker notes text"),
|
|
32540
|
-
notesFile: external_exports.string().optional().describe("Path to a file containing speaker notes"),
|
|
32541
|
-
account: accountParam
|
|
32542
|
-
}
|
|
32543
|
-
}, async ({ presentationId, slideId, image, notes, notesFile, account }) => {
|
|
32544
|
-
const args = ["slides", "replace-slide", presentationId, slideId, image];
|
|
32545
|
-
if (notes) args.push(`--notes=${notes}`);
|
|
32546
|
-
if (notesFile) args.push(`--notes-file=${notesFile}`);
|
|
32547
|
-
return runOrDiagnose(args, { account });
|
|
32548
|
-
});
|
|
32549
32029
|
server2.registerTool("gog_slides_run", {
|
|
32550
32030
|
description: "Run any gog slides subcommand not covered by the other tools. Run `gog slides --help` for the full list of subcommands, or `gog slides <subcommand> --help` for flags on a specific subcommand.",
|
|
32031
|
+
annotations: { destructiveHint: true },
|
|
32551
32032
|
inputSchema: {
|
|
32552
32033
|
subcommand: external_exports.string().describe("The gog slides subcommand to run"),
|
|
32553
32034
|
args: external_exports.array(external_exports.string()).describe("Additional positional args and flags"),
|
|
@@ -32642,7 +32123,7 @@ function registerTasksTools(server2) {
|
|
|
32642
32123
|
}
|
|
32643
32124
|
|
|
32644
32125
|
// src/server.ts
|
|
32645
|
-
var VERSION = true ? "2.0.
|
|
32126
|
+
var VERSION = true ? "2.0.7" : "0.0.0";
|
|
32646
32127
|
function createServer(options) {
|
|
32647
32128
|
return new McpServer({
|
|
32648
32129
|
name: options?.name ?? "gogcli",
|