gogcli-mcp-docs 4.2.0 → 4.2.1
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 +51 -12
- package/manifest.json +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.1"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "gogcli (Docs)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
|
|
18
|
-
"version": "4.2.
|
|
18
|
+
"version": "4.2.1",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
package/dist/index.js
CHANGED
|
@@ -8,8 +8,8 @@ var __export = (target, all) => {
|
|
|
8
8
|
// ../../node_modules/@chrischall/mcp-utils/dist/cancel/index.js
|
|
9
9
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
10
10
|
var storage = new AsyncLocalStorage();
|
|
11
|
-
function withCallSignal(signal, fn) {
|
|
12
|
-
return signal ? storage.run({ signal }, fn) : fn();
|
|
11
|
+
function withCallSignal(signal, fn, request) {
|
|
12
|
+
return signal ? storage.run({ signal, ...request ? { request } : {} }, fn) : fn();
|
|
13
13
|
}
|
|
14
14
|
function currentCallSignal() {
|
|
15
15
|
return storage.getStore()?.signal;
|
|
@@ -31,6 +31,13 @@ function killOnCancel(child, signal = "SIGTERM") {
|
|
|
31
31
|
return () => ambient.removeEventListener("abort", onAbort);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
// ../../node_modules/@chrischall/mcp-utils/dist/caller/index.js
|
|
35
|
+
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
36
|
+
var storage2 = new AsyncLocalStorage2();
|
|
37
|
+
function withCallerCapabilities(capabilities, fn) {
|
|
38
|
+
return capabilities ? storage2.run(capabilities, fn) : fn();
|
|
39
|
+
}
|
|
40
|
+
|
|
34
41
|
// ../../node_modules/@modelcontextprotocol/server/dist/chunk-Br0eD_fh.mjs
|
|
35
42
|
var __create = Object.create;
|
|
36
43
|
var __defProp2 = Object.defineProperty;
|
|
@@ -34459,6 +34466,15 @@ Hint: ${err.hint}`);
|
|
|
34459
34466
|
}
|
|
34460
34467
|
throw err;
|
|
34461
34468
|
}
|
|
34469
|
+
function mcpRequestFrom(args) {
|
|
34470
|
+
const ctx = args.at(-1);
|
|
34471
|
+
if (typeof ctx !== "object" || ctx === null)
|
|
34472
|
+
return void 0;
|
|
34473
|
+
const req = ctx.mcpReq;
|
|
34474
|
+
if (typeof req !== "object" || req === null)
|
|
34475
|
+
return void 0;
|
|
34476
|
+
return typeof req.notify === "function" ? req : void 0;
|
|
34477
|
+
}
|
|
34462
34478
|
function callSignalFrom(args) {
|
|
34463
34479
|
const ctx = args.at(-1);
|
|
34464
34480
|
if (typeof ctx !== "object" || ctx === null)
|
|
@@ -34469,6 +34485,20 @@ function callSignalFrom(args) {
|
|
|
34469
34485
|
const signal = req.signal;
|
|
34470
34486
|
return signal instanceof AbortSignal ? signal : void 0;
|
|
34471
34487
|
}
|
|
34488
|
+
function declaredCapabilitiesFrom(server) {
|
|
34489
|
+
const inner = server.server;
|
|
34490
|
+
if (typeof inner !== "object" || inner === null)
|
|
34491
|
+
return void 0;
|
|
34492
|
+
const read = inner.getClientCapabilities;
|
|
34493
|
+
if (typeof read !== "function")
|
|
34494
|
+
return void 0;
|
|
34495
|
+
try {
|
|
34496
|
+
const declared = read.call(inner);
|
|
34497
|
+
return typeof declared === "object" && declared !== null ? declared : void 0;
|
|
34498
|
+
} catch {
|
|
34499
|
+
return void 0;
|
|
34500
|
+
}
|
|
34501
|
+
}
|
|
34472
34502
|
function surfaceToolHints(server) {
|
|
34473
34503
|
const register2 = server.registerTool.bind(server);
|
|
34474
34504
|
server.registerTool = (name, config2, cb) => register2(name, config2, (...args) => (
|
|
@@ -34484,15 +34514,24 @@ function surfaceToolHints(server) {
|
|
|
34484
34514
|
// Here because this is the one wrapper every tool already passes
|
|
34485
34515
|
// through: threading the signal by hand would mean editing several
|
|
34486
34516
|
// hundred handlers and missing exactly the ones nobody edits.
|
|
34487
|
-
withCallSignal(callSignalFrom(args), () =>
|
|
34488
|
-
|
|
34489
|
-
|
|
34490
|
-
|
|
34491
|
-
|
|
34492
|
-
|
|
34493
|
-
|
|
34494
|
-
|
|
34495
|
-
|
|
34517
|
+
withCallSignal(callSignalFrom(args), () => (
|
|
34518
|
+
// WHAT THE CALLER CAN DO, made ambient for the same reason and in
|
|
34519
|
+
// the same place (`caller/index.ts`). Only the 2025-era half needs
|
|
34520
|
+
// the wrapper — a 2026-07-28 request answers for itself off its own
|
|
34521
|
+
// envelope — but a guarded tool that cannot tell whether the caller
|
|
34522
|
+
// can be shown a prompt returns one the SDK then refuses to deliver,
|
|
34523
|
+
// and that refusal reaches the caller as an unexplained protocol
|
|
34524
|
+
// error it had no chance to catch.
|
|
34525
|
+
withCallerCapabilities(declaredCapabilitiesFrom(server), () => {
|
|
34526
|
+
let result;
|
|
34527
|
+
try {
|
|
34528
|
+
result = cb(...args);
|
|
34529
|
+
} catch (err) {
|
|
34530
|
+
return hintResultOrRethrow(err);
|
|
34531
|
+
}
|
|
34532
|
+
return result instanceof Promise ? result.catch(hintResultOrRethrow) : result;
|
|
34533
|
+
})
|
|
34534
|
+
), mcpRequestFrom(args))
|
|
34496
34535
|
));
|
|
34497
34536
|
}
|
|
34498
34537
|
async function createMcpServer(opts) {
|
|
@@ -35518,7 +35557,7 @@ var failIfNotEmptyParam = external_exports.boolean().optional().describe(
|
|
|
35518
35557
|
);
|
|
35519
35558
|
|
|
35520
35559
|
// ../gogcli-mcp/src/server.ts
|
|
35521
|
-
var VERSION = true ? "4.2.
|
|
35560
|
+
var VERSION = true ? "4.2.1" : "0.0.0";
|
|
35522
35561
|
|
|
35523
35562
|
// ../gogcli-mcp/src/bootstrap-auth.ts
|
|
35524
35563
|
import { join as join2 } from "node:path";
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-docs",
|
|
5
5
|
"display_name": "gogcli (Docs)",
|
|
6
|
-
"version": "4.2.
|
|
6
|
+
"version": "4.2.1",
|
|
7
7
|
"description": "Extended Google Docs for Claude via gogcli — auth + full Docs and comments support",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-docs",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-docs",
|
|
5
5
|
"description": "Extended Google Docs MCP server via gogcli — all base tools plus full Docs support",
|
|
6
6
|
"author": "Claude Code (AI) <https://www.anthropic.com/claude>",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"test:coverage": "vitest run --coverage"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@chrischall/mcp-utils": "^2.
|
|
27
|
+
"@chrischall/mcp-utils": "^2.1.0",
|
|
28
28
|
"@modelcontextprotocol/server": "^2.0.0",
|
|
29
29
|
"zod": "^4.6.1"
|
|
30
30
|
},
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/gogcli-mcp-docs"
|
|
9
9
|
},
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-docs",
|
|
15
|
-
"version": "4.2.
|
|
15
|
+
"version": "4.2.1",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|