gogcli-mcp-slides 2.23.2 → 2.24.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 Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
10
- "version": "2.23.2"
10
+ "version": "2.24.0"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "gogcli (Slides)",
16
16
  "source": "./",
17
17
  "description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
18
- "version": "2.23.2",
18
+ "version": "2.24.0",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gogcli-mcp-slides",
3
3
  "displayName": "gogcli (Slides)",
4
- "version": "2.23.2",
4
+ "version": "2.24.0",
5
5
  "description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
6
6
  "author": {
7
7
  "name": "Chris Hall",
package/dist/index.js CHANGED
@@ -31731,6 +31731,7 @@ function formatAuthHealth(raw, now) {
31731
31731
  // ../gogcli-mcp/src/tools/auth.ts
31732
31732
  function registerAuthToolsWith(server, defaultServices) {
31733
31733
  const servicesDescribe = `Services to authorize: "all" or comma-separated list (e.g. "sheets,gmail,calendar"). Default: "${defaultServices}". Prefer the narrowest set you need \u2014 requesting a service whose Google API is not enabled on the OAuth client's project makes Google reject the WHOLE request with invalid_scope.`;
31734
+ const extraScopesDescribe = "Additional raw OAuth scope URIs to request, comma-separated, on top of the ones `services` implies. Use for scopes no service covers \u2014 e.g. https://www.googleapis.com/auth/bigquery.readonly, required before gog_sheets_datasource_* can read BigQuery-backed Connected Sheets. Leave unset otherwise: an extra scope whose API is not enabled on the OAuth client project makes Google reject the WHOLE authorization with invalid_scope.";
31734
31735
  server.registerTool("gog_auth_list", {
31735
31736
  description: "List the Google accounts stored in gogcli, with their scopes. This reads local configuration only \u2014 it does not contact Google and does NOT tell you whether an account still works: a signed-out account whose refresh token expired or was revoked is listed here exactly like a healthy one, scopes and all. Use gog_auth_health to check whether an account can actually authenticate.",
31736
31737
  annotations: { readOnlyHint: true },
@@ -31780,11 +31781,14 @@ function registerAuthToolsWith(server, defaultServices) {
31780
31781
  annotations: { destructiveHint: true },
31781
31782
  inputSchema: {
31782
31783
  email: external_exports.string().describe("Google account email to authorize"),
31783
- services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe)
31784
+ services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe),
31785
+ extraScopes: external_exports.string().optional().describe(extraScopesDescribe)
31784
31786
  }
31785
- }, async ({ email: email3, services = defaultServices }) => {
31787
+ }, async ({ email: email3, services = defaultServices, extraScopes }) => {
31786
31788
  try {
31787
- return rawTextResult(await run(["auth", "add", email3, "--services", services], {
31789
+ const args = ["auth", "add", email3, "--services", services];
31790
+ if (extraScopes) args.push(`--extra-scopes=${extraScopes}`, "--force-consent");
31791
+ return rawTextResult(await run(args, {
31788
31792
  interactive: true,
31789
31793
  timeout: 3e5
31790
31794
  }));
@@ -31796,14 +31800,14 @@ function registerAuthToolsWith(server, defaultServices) {
31796
31800
  description: "Begin REMOTE/headless Google authorization (step 1 of 2). Returns a sign-in URL to open in any browser \u2014 no local server or terminal on the gogcli host is needed, so this works over the hosted connector where the interactive gog_auth_add cannot. Hand the URL to the user; after they sign in, the browser is redirected to a localhost URL that fails to load \u2014 that is expected. They copy that full redirected URL (from the address bar) and you pass it to gog_auth_add_complete. The link is valid for 10 minutes. If you pass a custom `services` here, pass the SAME value to gog_auth_add_complete or the second step will not match this one.",
31797
31801
  inputSchema: {
31798
31802
  email: external_exports.string().describe("Google account email to authorize"),
31799
- services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe)
31803
+ services: external_exports.string().optional().default(defaultServices).describe(servicesDescribe),
31804
+ extraScopes: external_exports.string().optional().describe(`${extraScopesDescribe} Pass the SAME value to gog_auth_add_complete.`)
31800
31805
  }
31801
- }, async ({ email: email3, services = defaultServices }) => {
31806
+ }, async ({ email: email3, services = defaultServices, extraScopes }) => {
31802
31807
  try {
31803
- return rawTextResult(await run(
31804
- ["auth", "add", email3, "--remote", "--step", "1", "--services", services, "--force-consent"],
31805
- { redactMode: "tokens" }
31806
- ));
31808
+ const args = ["auth", "add", email3, "--remote", "--step", "1", "--services", services, "--force-consent"];
31809
+ if (extraScopes) args.push(`--extra-scopes=${extraScopes}`);
31810
+ return rawTextResult(await run(args, { redactMode: "tokens" }));
31807
31811
  } catch (err) {
31808
31812
  return errorResult(errorText(err));
31809
31813
  }
@@ -31818,25 +31822,28 @@ function registerAuthToolsWith(server, defaultServices) {
31818
31822
  ),
31819
31823
  services: external_exports.string().optional().default(defaultServices).describe(
31820
31824
  `Services authorized \u2014 MUST match the value passed to gog_auth_add_url. Default: "${defaultServices}".`
31825
+ ),
31826
+ extraScopes: external_exports.string().optional().describe(
31827
+ "Extra OAuth scope URIs \u2014 MUST match the value passed to gog_auth_add_url, for the same reason `services` must: the two steps have to describe the same grant."
31821
31828
  )
31822
31829
  }
31823
- }, async ({ email: email3, redirectUrl, services = defaultServices }) => {
31830
+ }, async ({ email: email3, redirectUrl, services = defaultServices, extraScopes }) => {
31824
31831
  try {
31825
- return rawTextResult(await run(
31826
- [
31827
- "auth",
31828
- "add",
31829
- email3,
31830
- "--remote",
31831
- "--step",
31832
- "2",
31833
- "--auth-url",
31834
- redirectUrl,
31835
- "--services",
31836
- services,
31837
- "--force-consent"
31838
- ]
31839
- ));
31832
+ const args = [
31833
+ "auth",
31834
+ "add",
31835
+ email3,
31836
+ "--remote",
31837
+ "--step",
31838
+ "2",
31839
+ "--auth-url",
31840
+ redirectUrl,
31841
+ "--services",
31842
+ services,
31843
+ "--force-consent"
31844
+ ];
31845
+ if (extraScopes) args.push(`--extra-scopes=${extraScopes}`);
31846
+ return rawTextResult(await run(args));
31840
31847
  } catch (err) {
31841
31848
  return errorResult(errorText(err));
31842
31849
  }
@@ -31945,7 +31952,7 @@ function registerSlidesTools(server) {
31945
31952
  }
31946
31953
 
31947
31954
  // ../gogcli-mcp/src/server.ts
31948
- var VERSION = true ? "2.23.2" : "0.0.0";
31955
+ var VERSION = true ? "2.24.0" : "0.0.0";
31949
31956
 
31950
31957
  // ../gogcli-mcp/src/auth-log.ts
31951
31958
  var FAILURES = /* @__PURE__ */ new Set([
package/manifest.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "manifest_version": "0.3",
4
4
  "name": "gogcli-mcp-slides",
5
5
  "display_name": "gogcli (Slides)",
6
- "version": "2.23.2",
6
+ "version": "2.24.0",
7
7
  "description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
8
8
  "author": {
9
9
  "name": "Chris Hall",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gogcli-mcp-slides",
3
- "version": "2.23.2",
3
+ "version": "2.24.0",
4
4
  "mcpName": "io.github.chrischall/gogcli-mcp-slides",
5
5
  "description": "Extended Google Slides MCP server via gogcli — auth + full Slides 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-slides"
9
9
  },
10
- "version": "2.23.2",
10
+ "version": "2.24.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "gogcli-mcp-slides",
15
- "version": "2.23.2",
15
+ "version": "2.24.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },