gogcli-mcp 1.0.6 → 1.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/dist/index.js +1 -11
- package/dist/lib.js +1 -11
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/src/tools/docs.ts +0 -17
- package/tests/tools/docs.test.ts +0 -43
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/lib.d.ts +0 -6
- package/dist/lib.d.ts.map +0 -1
- package/dist/runner.d.ts +0 -12
- package/dist/runner.d.ts.map +0 -1
- package/dist/server.d.ts +0 -7
- package/dist/server.d.ts.map +0 -1
- package/dist/tools/auth.d.ts +0 -3
- package/dist/tools/auth.d.ts.map +0 -1
- package/dist/tools/calendar.d.ts +0 -3
- package/dist/tools/calendar.d.ts.map +0 -1
- package/dist/tools/contacts.d.ts +0 -3
- package/dist/tools/contacts.d.ts.map +0 -1
- package/dist/tools/docs.d.ts +0 -3
- package/dist/tools/docs.d.ts.map +0 -1
- package/dist/tools/drive.d.ts +0 -3
- package/dist/tools/drive.d.ts.map +0 -1
- package/dist/tools/gmail.d.ts +0 -3
- package/dist/tools/gmail.d.ts.map +0 -1
- package/dist/tools/sheets.d.ts +0 -3
- package/dist/tools/sheets.d.ts.map +0 -1
- package/dist/tools/tasks.d.ts +0 -3
- package/dist/tools/tasks.d.ts.map +0 -1
- package/dist/tools/utils.d.ts +0 -14
- package/dist/tools/utils.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -30528,16 +30528,6 @@ function registerDocsTools(server2) {
|
|
|
30528
30528
|
}, async ({ docId, account }) => {
|
|
30529
30529
|
return runOrDiagnose(["docs", "structure", docId], { account });
|
|
30530
30530
|
});
|
|
30531
|
-
server2.registerTool("gog_docs_comments", {
|
|
30532
|
-
description: 'Run a docs comments subcommand. Subcommands: list, get, add, reply, resolve, delete. Examples: subcommand="list", args=["<docId>"] | subcommand="add", args=["<docId>", "<text>", "--quoted=<passage>"] | subcommand="reply", args=["<docId>", "<commentId>", "<text>"]. For dedicated comment tools with full parameter validation, use the gogcli-mcp-docs package.',
|
|
30533
|
-
inputSchema: {
|
|
30534
|
-
subcommand: external_exports.string().describe("Comments subcommand: list, get, add, reply, resolve, delete"),
|
|
30535
|
-
args: external_exports.array(external_exports.string()).describe("Positional args and flags for the subcommand"),
|
|
30536
|
-
account: accountParam
|
|
30537
|
-
}
|
|
30538
|
-
}, async ({ subcommand, args, account }) => {
|
|
30539
|
-
return runOrDiagnose(["docs", "comments", subcommand, ...args], { account });
|
|
30540
|
-
});
|
|
30541
30531
|
server2.registerTool("gog_docs_run", {
|
|
30542
30532
|
description: "Run any gog docs subcommand not covered by the other tools. Run `gog docs --help` for the full list of subcommands, or `gog docs <subcommand> --help` for flags on a specific subcommand.",
|
|
30543
30533
|
annotations: { destructiveHint: true },
|
|
@@ -30903,7 +30893,7 @@ function registerTasksTools(server2) {
|
|
|
30903
30893
|
}
|
|
30904
30894
|
|
|
30905
30895
|
// src/server.ts
|
|
30906
|
-
var VERSION = true ? "1.0.
|
|
30896
|
+
var VERSION = true ? "1.0.7" : "0.0.0";
|
|
30907
30897
|
function createBaseServer(options) {
|
|
30908
30898
|
const server2 = new McpServer({
|
|
30909
30899
|
name: options?.name ?? "gogcli",
|
package/dist/lib.js
CHANGED
|
@@ -30435,16 +30435,6 @@ function registerDocsTools(server) {
|
|
|
30435
30435
|
}, async ({ docId, account }) => {
|
|
30436
30436
|
return runOrDiagnose(["docs", "structure", docId], { account });
|
|
30437
30437
|
});
|
|
30438
|
-
server.registerTool("gog_docs_comments", {
|
|
30439
|
-
description: 'Run a docs comments subcommand. Subcommands: list, get, add, reply, resolve, delete. Examples: subcommand="list", args=["<docId>"] | subcommand="add", args=["<docId>", "<text>", "--quoted=<passage>"] | subcommand="reply", args=["<docId>", "<commentId>", "<text>"]. For dedicated comment tools with full parameter validation, use the gogcli-mcp-docs package.',
|
|
30440
|
-
inputSchema: {
|
|
30441
|
-
subcommand: external_exports3.string().describe("Comments subcommand: list, get, add, reply, resolve, delete"),
|
|
30442
|
-
args: external_exports3.array(external_exports3.string()).describe("Positional args and flags for the subcommand"),
|
|
30443
|
-
account: accountParam
|
|
30444
|
-
}
|
|
30445
|
-
}, async ({ subcommand, args, account }) => {
|
|
30446
|
-
return runOrDiagnose(["docs", "comments", subcommand, ...args], { account });
|
|
30447
|
-
});
|
|
30448
30438
|
server.registerTool("gog_docs_run", {
|
|
30449
30439
|
description: "Run any gog docs subcommand not covered by the other tools. Run `gog docs --help` for the full list of subcommands, or `gog docs <subcommand> --help` for flags on a specific subcommand.",
|
|
30450
30440
|
annotations: { destructiveHint: true },
|
|
@@ -30810,7 +30800,7 @@ function registerTasksTools(server) {
|
|
|
30810
30800
|
}
|
|
30811
30801
|
|
|
30812
30802
|
// src/server.ts
|
|
30813
|
-
var VERSION = true ? "1.0.
|
|
30803
|
+
var VERSION = true ? "1.0.7" : "0.0.0";
|
|
30814
30804
|
function createBaseServer(options) {
|
|
30815
30805
|
const server = new McpServer({
|
|
30816
30806
|
name: options?.name ?? "gogcli",
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp",
|
|
5
5
|
"display_name": "gogcli",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.7",
|
|
7
7
|
"description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/package.json
CHANGED
package/src/tools/docs.ts
CHANGED
|
@@ -74,23 +74,6 @@ export function registerDocsTools(server: McpServer): void {
|
|
|
74
74
|
return runOrDiagnose(['docs', 'structure', docId], { account });
|
|
75
75
|
});
|
|
76
76
|
|
|
77
|
-
// --- Comments (generic escape hatch — full comment tools are in gogcli-mcp-docs) ---
|
|
78
|
-
|
|
79
|
-
server.registerTool('gog_docs_comments', {
|
|
80
|
-
description:
|
|
81
|
-
'Run a docs comments subcommand. Subcommands: list, get, add, reply, resolve, delete. ' +
|
|
82
|
-
'Examples: subcommand="list", args=["<docId>"] | subcommand="add", args=["<docId>", "<text>", "--quoted=<passage>"] | ' +
|
|
83
|
-
'subcommand="reply", args=["<docId>", "<commentId>", "<text>"]. ' +
|
|
84
|
-
'For dedicated comment tools with full parameter validation, use the gogcli-mcp-docs package.',
|
|
85
|
-
inputSchema: {
|
|
86
|
-
subcommand: z.string().describe('Comments subcommand: list, get, add, reply, resolve, delete'),
|
|
87
|
-
args: z.array(z.string()).describe('Positional args and flags for the subcommand'),
|
|
88
|
-
account: accountParam,
|
|
89
|
-
},
|
|
90
|
-
}, async ({ subcommand, args, account }) => {
|
|
91
|
-
return runOrDiagnose(['docs', 'comments', subcommand, ...args], { account });
|
|
92
|
-
});
|
|
93
|
-
|
|
94
77
|
server.registerTool('gog_docs_run', {
|
|
95
78
|
description: 'Run any gog docs subcommand not covered by the other tools. Run `gog docs --help` for the full list of subcommands, or `gog docs <subcommand> --help` for flags on a specific subcommand.',
|
|
96
79
|
annotations: { destructiveHint: true },
|
package/tests/tools/docs.test.ts
CHANGED
|
@@ -161,49 +161,6 @@ describe('gog_docs_structure', () => {
|
|
|
161
161
|
});
|
|
162
162
|
});
|
|
163
163
|
|
|
164
|
-
// --- Comments (generic escape hatch) ---
|
|
165
|
-
|
|
166
|
-
describe('gog_docs_comments', () => {
|
|
167
|
-
it('passes subcommand and args to runner', async () => {
|
|
168
|
-
vi.mocked(runner.run).mockResolvedValue('[{"id":"c1"}]');
|
|
169
|
-
const handlers = setupHandlers();
|
|
170
|
-
const result = await handlers.get('gog_docs_comments')!({ subcommand: 'list', args: ['abc'] });
|
|
171
|
-
expect(runner.run).toHaveBeenCalledWith(['docs', 'comments', 'list', 'abc'], { account: undefined });
|
|
172
|
-
expect(result.content[0].text).toContain('c1');
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
it('passes flags through args', async () => {
|
|
176
|
-
vi.mocked(runner.run).mockResolvedValue('{}');
|
|
177
|
-
const handlers = setupHandlers();
|
|
178
|
-
await handlers.get('gog_docs_comments')!({
|
|
179
|
-
subcommand: 'add', args: ['abc', 'Nice work', '--quoted=paragraph'],
|
|
180
|
-
});
|
|
181
|
-
expect(runner.run).toHaveBeenCalledWith(
|
|
182
|
-
['docs', 'comments', 'add', 'abc', 'Nice work', '--quoted=paragraph'],
|
|
183
|
-
{ account: undefined },
|
|
184
|
-
);
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
it('forwards account override', async () => {
|
|
188
|
-
vi.mocked(runner.run).mockResolvedValue('{}');
|
|
189
|
-
const handlers = setupHandlers();
|
|
190
|
-
await handlers.get('gog_docs_comments')!({
|
|
191
|
-
subcommand: 'list', args: ['abc'], account: 'other@gmail.com',
|
|
192
|
-
});
|
|
193
|
-
expect(runner.run).toHaveBeenCalledWith(
|
|
194
|
-
['docs', 'comments', 'list', 'abc'],
|
|
195
|
-
{ account: 'other@gmail.com' },
|
|
196
|
-
);
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
it('returns error text on failure', async () => {
|
|
200
|
-
vi.mocked(runner.run).mockRejectedValue(new Error('Comments failed'));
|
|
201
|
-
const handlers = setupHandlers();
|
|
202
|
-
const result = await handlers.get('gog_docs_comments')!({ subcommand: 'list', args: ['bad'] });
|
|
203
|
-
expect(result.content[0].text).toContain('Error: Comments failed');
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
|
|
207
164
|
describe('gog_docs_run', () => {
|
|
208
165
|
it('passes raw subcommand and args to runner', async () => {
|
|
209
166
|
vi.mocked(runner.run).mockResolvedValue('{}');
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/lib.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { createBaseServer, VERSION } from './server.js';
|
|
2
|
-
export { run } from './runner.js';
|
|
3
|
-
export type { RunOptions, Spawner } from './runner.js';
|
|
4
|
-
export { accountParam, runOrDiagnose, toText, toError } from './tools/utils.js';
|
|
5
|
-
export type { ToolResult } from './tools/utils.js';
|
|
6
|
-
//# sourceMappingURL=lib.d.ts.map
|
package/dist/lib.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChF,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/runner.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ChildProcess } from 'node:child_process';
|
|
2
|
-
export type Spawner = (command: string, args: string[], options: {
|
|
3
|
-
env: NodeJS.ProcessEnv;
|
|
4
|
-
}) => ChildProcess;
|
|
5
|
-
export interface RunOptions {
|
|
6
|
-
account?: string;
|
|
7
|
-
spawner?: Spawner;
|
|
8
|
-
interactive?: boolean;
|
|
9
|
-
timeout?: number;
|
|
10
|
-
}
|
|
11
|
-
export declare function run(args: string[], options?: RunOptions): Promise<string>;
|
|
12
|
-
//# sourceMappingURL=runner.d.ts.map
|
package/dist/runner.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,OAAO,GAAG,CACpB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAChC,YAAY,CAAC;AAElB,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA0DnF"}
|
package/dist/server.d.ts
DELETED
package/dist/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,eAAO,MAAM,OAAO,QAAmE,CAAC;AAExF,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgBzF"}
|
package/dist/tools/auth.d.ts
DELETED
package/dist/tools/auth.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwEzD"}
|
package/dist/tools/calendar.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/tools/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2H7D"}
|
package/dist/tools/contacts.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkE7D"}
|
package/dist/tools/docs.d.ts
DELETED
package/dist/tools/docs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoGzD"}
|
package/dist/tools/drive.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../src/tools/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgH1D"}
|
package/dist/tools/gmail.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../src/tools/gmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8D1D"}
|
package/dist/tools/sheets.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sheets.d.ts","sourceRoot":"","sources":["../../src/tools/sheets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuG3D"}
|
package/dist/tools/tasks.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsF1D"}
|
package/dist/tools/utils.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export type ToolResult = {
|
|
3
|
-
content: [{
|
|
4
|
-
type: 'text';
|
|
5
|
-
text: string;
|
|
6
|
-
}];
|
|
7
|
-
};
|
|
8
|
-
export declare const accountParam: z.ZodOptional<z.ZodString>;
|
|
9
|
-
export declare function toText(output: string): ToolResult;
|
|
10
|
-
export declare function toError(err: unknown): ToolResult;
|
|
11
|
-
export declare function runOrDiagnose(args: string[], options: {
|
|
12
|
-
account?: string;
|
|
13
|
-
}): Promise<ToolResult>;
|
|
14
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,YAAY,4BAExB,CAAC;AAEF,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAEjD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAEhD;AAQD,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,UAAU,CAAC,CAerB"}
|