brightspace-mcp-server 3.7.6 → 3.7.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.
@@ -18,6 +18,10 @@
18
18
  * from inside a live process, which is the thing this package deliberately
19
19
  * does not do.
20
20
  *
21
+ * Automatic sign-in (`--automatic`, spawned by the server's AuthRunner) never
22
+ * re-execs: it must run the auth CLI shipped alongside that server, not
23
+ * whatever npm calls latest. Only a user-run `auth` self-updates.
24
+ *
21
25
  * Opt out with D2L_NO_UPDATE_CHECK.
22
26
  */
23
27
  import { spawn } from "node:child_process";
@@ -61,10 +65,12 @@ export async function reexecLatestIfStale(deps = {}) {
61
65
  const { env = process.env, argv = process.argv, installedVersion, fetchImpl = fetch, runningFromNpxCache = ownNpxCacheDir() !== null, platform = process.platform, spawnImpl = spawn, } = deps;
62
66
  if (installedVersion === undefined)
63
67
  return null;
64
- // Cheap local checks first, so an opted-out or npx-launched run never even
65
- // touches the network.
68
+ // Cheap local checks first, so an opted-out, npx-launched, or automatic run
69
+ // never even touches the network.
66
70
  if (env[REEXEC_SENTINEL] || env.D2L_NO_UPDATE_CHECK || runningFromNpxCache)
67
71
  return null;
72
+ if (argv.includes("--automatic"))
73
+ return null; // stay on the server's sibling version
68
74
  const latest = await fetchLatestVersion(fetchImpl);
69
75
  if (!shouldReexec({ env, latest, installedVersion, runningFromNpxCache }))
70
76
  return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brightspace-mcp-server",
3
- "version": "3.7.6",
3
+ "version": "3.7.8",
4
4
  "mcpName": "io.github.rohanmuppa/brightspace",
5
5
  "description": "MCP server for Brightspace (D2L). Check grades, due dates, assignments, announcements, syllabus, rosters and more via Claude, ChatGPT, Cursor, Windsurf, or any MCP client.",
6
6
  "type": "module",