gogcli-mcp 2.7.1 → 2.8.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": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
10
- "version": "2.7.1"
10
+ "version": "2.8.0"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "gogcli",
16
16
  "source": "./",
17
17
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
18
- "version": "2.7.1",
18
+ "version": "2.8.0",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gogcli-mcp",
3
3
  "displayName": "gogcli",
4
- "version": "2.7.1",
4
+ "version": "2.8.0",
5
5
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
6
6
  "author": {
7
7
  "name": "Chris Hall",
package/dist/index.js CHANGED
@@ -31816,12 +31816,14 @@ function registerDocsTools(server2) {
31816
31816
  text: external_exports.string().describe("Text content to write"),
31817
31817
  append: external_exports.boolean().optional().describe("Append to existing content instead of replacing (default: false)"),
31818
31818
  checkOrphans: external_exports.boolean().optional().describe("Block the write (exit code 11) if it would orphan an open comment \u2014 i.e. remove the text the comment is anchored to. Recommended for replacement writes on commented docs."),
31819
+ batch: external_exports.string().optional().describe("Append this mutation to a persisted batch (from gog_batch_begin in gogcli-mcp-docs) instead of applying it \u2014 nothing changes in the doc until the batch is submitted."),
31819
31820
  account: accountParam
31820
31821
  }
31821
- }, async ({ docId, text, append, checkOrphans, account }) => {
31822
+ }, async ({ docId, text, append, checkOrphans, batch, account }) => {
31822
31823
  const args = ["docs", "write", docId, `--text=${text}`];
31823
31824
  if (append) args.push("--append");
31824
31825
  if (checkOrphans) args.push("--check-orphans");
31826
+ if (batch) args.push(`--batch=${batch}`);
31825
31827
  return runOrDiagnose(args, { account });
31826
31828
  });
31827
31829
  server2.registerTool("gog_docs_find_replace", {
@@ -32330,7 +32332,7 @@ function registerTasksTools(server2) {
32330
32332
  }
32331
32333
 
32332
32334
  // src/server.ts
32333
- var VERSION = true ? "2.7.1" : "0.0.0";
32335
+ var VERSION = true ? "2.8.0" : "0.0.0";
32334
32336
  function createServer(options) {
32335
32337
  return new McpServer({
32336
32338
  name: options?.name ?? "gogcli",
package/dist/lib.js CHANGED
@@ -30859,7 +30859,7 @@ var EMPTY_COMPLETION_RESULT = {
30859
30859
  import { spawn } from "node:child_process";
30860
30860
  import { delimiter } from "node:path";
30861
30861
  var TIMEOUT_MS = 3e4;
30862
- var MIN_GOG_VERSION = "0.24.0";
30862
+ var MIN_GOG_VERSION = "0.25.0";
30863
30863
  function envOrUndefined(key) {
30864
30864
  const value = process.env[key];
30865
30865
  if (!value || value.startsWith("${")) return void 0;
@@ -31729,12 +31729,14 @@ function registerDocsTools(server) {
31729
31729
  text: external_exports.string().describe("Text content to write"),
31730
31730
  append: external_exports.boolean().optional().describe("Append to existing content instead of replacing (default: false)"),
31731
31731
  checkOrphans: external_exports.boolean().optional().describe("Block the write (exit code 11) if it would orphan an open comment \u2014 i.e. remove the text the comment is anchored to. Recommended for replacement writes on commented docs."),
31732
+ batch: external_exports.string().optional().describe("Append this mutation to a persisted batch (from gog_batch_begin in gogcli-mcp-docs) instead of applying it \u2014 nothing changes in the doc until the batch is submitted."),
31732
31733
  account: accountParam
31733
31734
  }
31734
- }, async ({ docId, text, append, checkOrphans, account }) => {
31735
+ }, async ({ docId, text, append, checkOrphans, batch, account }) => {
31735
31736
  const args = ["docs", "write", docId, `--text=${text}`];
31736
31737
  if (append) args.push("--append");
31737
31738
  if (checkOrphans) args.push("--check-orphans");
31739
+ if (batch) args.push(`--batch=${batch}`);
31738
31740
  return runOrDiagnose(args, { account });
31739
31741
  });
31740
31742
  server.registerTool("gog_docs_find_replace", {
@@ -32243,7 +32245,7 @@ function registerTasksTools(server) {
32243
32245
  }
32244
32246
 
32245
32247
  // src/server.ts
32246
- var VERSION = true ? "2.7.1" : "0.0.0";
32248
+ var VERSION = true ? "2.8.0" : "0.0.0";
32247
32249
  function createServer(options) {
32248
32250
  return new McpServer({
32249
32251
  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": "2.7.1",
6
+ "version": "2.8.0",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gogcli-mcp",
3
- "version": "2.7.1",
3
+ "version": "2.8.0",
4
4
  "mcpName": "io.github.chrischall/gogcli-mcp",
5
5
  "description": "MCP server wrapping gogcli for Google service access",
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"
9
9
  },
10
- "version": "2.7.1",
10
+ "version": "2.8.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "gogcli-mcp",
15
- "version": "2.7.1",
15
+ "version": "2.8.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },
package/src/runner.ts CHANGED
@@ -23,7 +23,7 @@ const TIMEOUT_MS = 30_000;
23
23
  // so the requirement change is surfaced in the release notes (see
24
24
  // .github/release.yml). This is the single source of truth for the required
25
25
  // version; keep the README/CLAUDE.md mention in sync.
26
- export const MIN_GOG_VERSION = '0.24.0';
26
+ export const MIN_GOG_VERSION = '0.25.0';
27
27
 
28
28
  // Treat unresolved .mcpb placeholders ("${user_config.gog_path}") and empty
29
29
  // strings the same as an unset env var. When an optional .mcpb user_config
package/src/tools/docs.ts CHANGED
@@ -43,12 +43,14 @@ export function registerDocsTools(server: McpServer): void {
43
43
  text: z.string().describe('Text content to write'),
44
44
  append: z.boolean().optional().describe('Append to existing content instead of replacing (default: false)'),
45
45
  checkOrphans: z.boolean().optional().describe('Block the write (exit code 11) if it would orphan an open comment — i.e. remove the text the comment is anchored to. Recommended for replacement writes on commented docs.'),
46
+ batch: z.string().optional().describe('Append this mutation to a persisted batch (from gog_batch_begin in gogcli-mcp-docs) instead of applying it — nothing changes in the doc until the batch is submitted.'),
46
47
  account: accountParam,
47
48
  },
48
- }, async ({ docId, text, append, checkOrphans, account }) => {
49
+ }, async ({ docId, text, append, checkOrphans, batch, account }) => {
49
50
  const args = ['docs', 'write', docId, `--text=${text}`];
50
51
  if (append) args.push('--append');
51
52
  if (checkOrphans) args.push('--check-orphans');
53
+ if (batch) args.push(`--batch=${batch}`);
52
54
  return runOrDiagnose(args, { account });
53
55
  });
54
56
 
@@ -102,6 +102,17 @@ describe('gog_docs_write', () => {
102
102
  );
103
103
  });
104
104
 
105
+ // gog 0.25.0
106
+ it('appends to a persisted batch via --batch', async () => {
107
+ vi.mocked(runner.run).mockResolvedValue('{}');
108
+ const handlers = setupHandlers();
109
+ await handlers.get('gog_docs_write')!({ docId: 'abc', text: 'T', batch: 'b1' });
110
+ expect(runner.run).toHaveBeenCalledWith(
111
+ ['docs', 'write', 'abc', '--text=T', '--batch=b1'],
112
+ { account: undefined },
113
+ );
114
+ });
115
+
105
116
  // gog 0.24.0
106
117
  it('adds --check-orphans when checkOrphans is true', async () => {
107
118
  vi.mocked(runner.run).mockResolvedValue('{}');