gogcli-mcp-classroom 2.19.1 → 2.20.0

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.
@@ -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.19.1"
10
+ "version": "2.20.0"
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.19.1",
18
+ "version": "2.20.0",
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.19.1",
4
+ "version": "2.20.0",
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
@@ -31119,6 +31119,13 @@ function isGogFileArg(arg) {
31119
31119
  return typeof arg !== "string";
31120
31120
  }
31121
31121
  var runExecutor = new AsyncLocalStorage();
31122
+ var defaultExecutor;
31123
+ function setDefaultGogExecutor(executor) {
31124
+ defaultExecutor = executor ? { executor } : void 0;
31125
+ }
31126
+ function activeExecutor() {
31127
+ return runExecutor.getStore() ?? defaultExecutor;
31128
+ }
31122
31129
  var TIMEOUT_MS = 3e4;
31123
31130
  function readonlyEnvEnabled() {
31124
31131
  return readEnvVar("GOG_READONLY") !== void 0 && parseBoolEnv("GOG_READONLY", { default: true });
@@ -31279,7 +31286,7 @@ async function run(args, options = {}) {
31279
31286
  const { account, spawner, interactive = false, timeout, readonly: readonly2 = false, redactMode = "full" } = options;
31280
31287
  const redact = redactMode === "tokens" ? redactGoogleTokens : redactSecrets2;
31281
31288
  const fullArgs = assembleArgs(args, { account, interactive, readonly: readonly2 });
31282
- const store = runExecutor.getStore();
31289
+ const store = activeExecutor();
31283
31290
  try {
31284
31291
  let output;
31285
31292
  if (spawner) {
@@ -32131,16 +32138,17 @@ var failIfNotEmptyParam = external_exports.boolean().optional().describe(
32131
32138
  );
32132
32139
 
32133
32140
  // ../gogcli-mcp/src/server.ts
32134
- var VERSION = true ? "2.19.1" : "0.0.0";
32141
+ var VERSION = true ? "2.20.0" : "0.0.0";
32135
32142
 
32136
32143
  // ../gogcli-mcp/src/connector-runtime.ts
32137
32144
  var DEFAULT_TIMEOUT_MS = 3e4;
32138
32145
  var DEADLINE_GRACE_MS = 5e3;
32139
32146
  var RUNNER_GOG_FAILED = 422;
32140
32147
  var RUNNER_DRAINING = 503;
32141
- function makeFlyExecutor(endpoint, key) {
32148
+ function makeFlyExecutor(endpoint, key, readAccessToken) {
32142
32149
  return async (args, opts) => {
32143
32150
  const deadlineMs = (opts?.timeout ?? DEFAULT_TIMEOUT_MS) + DEADLINE_GRACE_MS;
32151
+ const accessToken = readAccessToken?.();
32144
32152
  let res;
32145
32153
  try {
32146
32154
  res = await fetch(endpoint + "/run", {
@@ -32149,7 +32157,7 @@ function makeFlyExecutor(endpoint, key) {
32149
32157
  Authorization: "Bearer " + key,
32150
32158
  "Content-Type": "application/json"
32151
32159
  },
32152
- body: JSON.stringify({ args }),
32160
+ body: JSON.stringify(accessToken ? { args, accessToken } : { args }),
32153
32161
  signal: AbortSignal.timeout(deadlineMs)
32154
32162
  });
32155
32163
  } catch (err) {
@@ -32190,7 +32198,9 @@ function useRemoteGogRunner(env = process.env) {
32190
32198
  const endpoint = readEnvVar("GOG_RUNNER_URL", { env });
32191
32199
  const key = readEnvVar("GOG_RUNNER_KEY", { env });
32192
32200
  if (!endpoint || !key) return false;
32193
- runExecutor.enterWith({ executor: makeFlyExecutor(endpoint.replace(/\/+$/, ""), key) });
32201
+ setDefaultGogExecutor(
32202
+ makeFlyExecutor(endpoint.replace(/\/+$/, ""), key, () => readEnvVar("GOG_ACCESS_TOKEN", { env }))
32203
+ );
32194
32204
  return true;
32195
32205
  }
32196
32206
 
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.19.1",
6
+ "version": "2.20.0",
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.19.1",
3
+ "version": "2.20.0",
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.19.1",
10
+ "version": "2.20.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "gogcli-mcp-classroom",
15
- "version": "2.19.1",
15
+ "version": "2.20.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },