gogcli-mcp-classroom 2.0.7 → 2.0.8
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 +33 -4
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Extended Google Classroom for Claude via gogcli — auth + full Classroom support (courses, rosters, coursework, submissions, announcements, topics, invitations)",
|
|
10
|
-
"version": "2.0.
|
|
10
|
+
"version": "2.0.8"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "gogcli (Classroom)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Extended Google Classroom for Claude via gogcli — auth + full Classroom support (courses, rosters, coursework, submissions, announcements, topics, invitations)",
|
|
18
|
-
"version": "2.0.
|
|
18
|
+
"version": "2.0.8",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-classroom",
|
|
3
3
|
"displayName": "gogcli (Classroom)",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.8",
|
|
5
5
|
"description": "Extended Google Classroom for Claude via gogcli — auth + full Classroom support (courses, rosters, coursework, submissions, announcements, topics, invitations)",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Chris Hall",
|
package/dist/index.js
CHANGED
|
@@ -8415,8 +8415,8 @@ function emoji() {
|
|
|
8415
8415
|
}
|
|
8416
8416
|
var ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
|
|
8417
8417
|
var ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
|
|
8418
|
-
var mac = (
|
|
8419
|
-
const escapedDelim = escapeRegex(
|
|
8418
|
+
var mac = (delimiter2) => {
|
|
8419
|
+
const escapedDelim = escapeRegex(delimiter2 ?? ":");
|
|
8420
8420
|
return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
|
|
8421
8421
|
};
|
|
8422
8422
|
var cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
|
|
@@ -30863,12 +30863,34 @@ var EMPTY_COMPLETION_RESULT = {
|
|
|
30863
30863
|
|
|
30864
30864
|
// ../gogcli-mcp/src/runner.ts
|
|
30865
30865
|
import { spawn } from "node:child_process";
|
|
30866
|
+
import { delimiter } from "node:path";
|
|
30866
30867
|
var TIMEOUT_MS = 3e4;
|
|
30867
30868
|
function envOrUndefined(key) {
|
|
30868
30869
|
const value = process.env[key];
|
|
30869
30870
|
if (!value || value.startsWith("${")) return void 0;
|
|
30870
30871
|
return value;
|
|
30871
30872
|
}
|
|
30873
|
+
function augmentedPath() {
|
|
30874
|
+
const home = process.env.HOME;
|
|
30875
|
+
const candidates = [
|
|
30876
|
+
process.env.PATH ?? "",
|
|
30877
|
+
"/opt/homebrew/bin",
|
|
30878
|
+
"/usr/local/bin",
|
|
30879
|
+
home ? `${home}/.local/bin` : "",
|
|
30880
|
+
home ? `${home}/go/bin` : ""
|
|
30881
|
+
];
|
|
30882
|
+
const seen = /* @__PURE__ */ new Set();
|
|
30883
|
+
const parts = [];
|
|
30884
|
+
for (const c of candidates) {
|
|
30885
|
+
if (!c) continue;
|
|
30886
|
+
for (const dir of c.split(delimiter)) {
|
|
30887
|
+
if (!dir || seen.has(dir)) continue;
|
|
30888
|
+
seen.add(dir);
|
|
30889
|
+
parts.push(dir);
|
|
30890
|
+
}
|
|
30891
|
+
}
|
|
30892
|
+
return parts.join(delimiter);
|
|
30893
|
+
}
|
|
30872
30894
|
function formatTimeout(ms) {
|
|
30873
30895
|
const seconds = Math.round(ms / 1e3);
|
|
30874
30896
|
if (seconds >= 60) {
|
|
@@ -30891,7 +30913,8 @@ async function run(args, options = {}) {
|
|
|
30891
30913
|
const effectiveTimeout = timeout ?? TIMEOUT_MS;
|
|
30892
30914
|
return new Promise((resolve, reject) => {
|
|
30893
30915
|
const { GOG_ACCESS_TOKEN: _, ...cleanEnv } = process.env;
|
|
30894
|
-
const
|
|
30916
|
+
const childEnv = { ...cleanEnv, PATH: augmentedPath() };
|
|
30917
|
+
const child = spawner(envOrUndefined("GOG_PATH") ?? "gog", fullArgs, { env: childEnv });
|
|
30895
30918
|
const stdoutChunks = [];
|
|
30896
30919
|
const stderrChunks = [];
|
|
30897
30920
|
let settled = false;
|
|
@@ -30926,6 +30949,12 @@ async function run(args, options = {}) {
|
|
|
30926
30949
|
clearTimeout(timer);
|
|
30927
30950
|
if (settled) return;
|
|
30928
30951
|
settled = true;
|
|
30952
|
+
if (err.code === "ENOENT") {
|
|
30953
|
+
reject(new Error(
|
|
30954
|
+
"gog executable not found. Install gogcli (https://github.com/steipete/gogcli) or set GOG_PATH in your MCP client config to the absolute binary path (run `which gog` in a terminal to find it)."
|
|
30955
|
+
));
|
|
30956
|
+
return;
|
|
30957
|
+
}
|
|
30929
30958
|
reject(err);
|
|
30930
30959
|
});
|
|
30931
30960
|
});
|
|
@@ -31408,7 +31437,7 @@ function registerClassroomTools(server2) {
|
|
|
31408
31437
|
}
|
|
31409
31438
|
|
|
31410
31439
|
// ../gogcli-mcp/src/server.ts
|
|
31411
|
-
var VERSION = true ? "2.0.
|
|
31440
|
+
var VERSION = true ? "2.0.8" : "0.0.0";
|
|
31412
31441
|
function createServer(options) {
|
|
31413
31442
|
return new McpServer({
|
|
31414
31443
|
name: options?.name ?? "gogcli",
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-classroom",
|
|
5
5
|
"display_name": "gogcli (Classroom)",
|
|
6
|
-
"version": "2.0.
|
|
6
|
+
"version": "2.0.8",
|
|
7
7
|
"description": "Extended Google Classroom for Claude via gogcli — auth + full Classroom support (courses, rosters, coursework, submissions, announcements, topics, invitations)",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-classroom",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-classroom",
|
|
5
5
|
"description": "Extended Google Classroom MCP server via gogcli — auth + full Classroom support",
|
|
6
6
|
"author": "Claude Code (AI) <https://www.anthropic.com/claude>",
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/gogcli-mcp-classroom"
|
|
9
9
|
},
|
|
10
|
-
"version": "2.0.
|
|
10
|
+
"version": "2.0.8",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-classroom",
|
|
15
|
-
"version": "2.0.
|
|
15
|
+
"version": "2.0.8",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|