gogcli-mcp-slides 4.7.1 → 4.8.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.
@@ -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": "4.7.1"
10
+ "version": "4.8.1"
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": "4.7.1",
18
+ "version": "4.8.1",
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": "4.7.1",
4
+ "version": "4.8.1",
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/.mcp.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "mcpServers": {
3
3
  "gogcli-slides": {
4
- "command": "node",
4
+ "command": "npx",
5
5
  "args": [
6
- "${CLAUDE_PLUGIN_ROOT}/dist/index.js"
6
+ "-y",
7
+ "gogcli-mcp-slides"
7
8
  ],
8
9
  "env": {
9
10
  "GOG_ACCOUNT": "${GOG_ACCOUNT}",
package/dist/index.js CHANGED
@@ -746,6 +746,7 @@ __export(util_exports, {
746
746
  required: () => required,
747
747
  safeExtend: () => safeExtend,
748
748
  shallowClone: () => shallowClone,
749
+ sizeCaps: () => sizeCaps,
749
750
  slugify: () => slugify,
750
751
  stringifyPrimitive: () => stringifyPrimitive,
751
752
  toZod: () => toZod,
@@ -1265,6 +1266,18 @@ function prefixIssues(path, issues) {
1265
1266
  function unwrapMessage(message) {
1266
1267
  return typeof message === "string" ? message : message?.message;
1267
1268
  }
1269
+ function sizeCaps(defChecks) {
1270
+ const caps = [];
1271
+ for (const ch of defChecks ?? []) {
1272
+ const d = ch._zod.def;
1273
+ if (!/_(length|size)$|_equals$/.test(d.check))
1274
+ break;
1275
+ const max = d.maximum ?? d.length ?? d.size;
1276
+ if (max >= 0)
1277
+ caps.push([max, ch]);
1278
+ }
1279
+ return caps;
1280
+ }
1268
1281
  function attachSchema(issues, start, inst) {
1269
1282
  var _a3;
1270
1283
  for (let i = start; i < issues.length; i++) {
@@ -2685,7 +2698,7 @@ ${content.join("\n")}
2685
2698
  var version = {
2686
2699
  major: 4,
2687
2700
  minor: 6,
2688
- patch: 5
2701
+ patch: 7
2689
2702
  };
2690
2703
 
2691
2704
  // ../../node_modules/zod/v4/core/schemas.js
@@ -3441,6 +3454,31 @@ var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => {
3441
3454
  return payload;
3442
3455
  };
3443
3456
  });
3457
+ function capSize(inst, size) {
3458
+ const caps = sizeCaps(inst._zod.def.checks);
3459
+ if (!caps.length)
3460
+ return;
3461
+ const cap = Math.min(...caps.map((c) => c[0]));
3462
+ const parse3 = inst._zod.parse;
3463
+ inst._zod.parse = (payload, ctx) => {
3464
+ const n = size(payload.value);
3465
+ if (n > cap && !ctx?.skipChecks && ctx?.direction !== "backward") {
3466
+ for (const [max, ch] of sizeCaps(inst._zod.def.checks)) {
3467
+ if (n > max && ch._zod.def.when(payload)) {
3468
+ const start = payload.issues.length;
3469
+ ch._zod.check(payload);
3470
+ payload.issues[start].continue = false;
3471
+ attachSchema(payload.issues, start, inst);
3472
+ return payload;
3473
+ }
3474
+ }
3475
+ }
3476
+ return parse3(payload, ctx);
3477
+ };
3478
+ }
3479
+ var arraySize = (input2) => Array.isArray(input2) ? input2.length : -1;
3480
+ var mapSize = (input2) => input2 instanceof Map ? input2.size : -1;
3481
+ var setSize = (input2) => input2 instanceof Set ? input2.size : -1;
3444
3482
  function handleArrayResult(result, final, index) {
3445
3483
  if (result.issues.length) {
3446
3484
  final.issues.push(...prefixIssues(index, result.issues));
@@ -3484,6 +3522,7 @@ var $ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => {
3484
3522
  }
3485
3523
  return payload;
3486
3524
  };
3525
+ capSize(inst, arraySize);
3487
3526
  });
3488
3527
  function handlePropertyResult(result, final, key, input2, optin, optout) {
3489
3528
  const isPresent = key in input2;
@@ -4440,6 +4479,7 @@ var $ZodMap = /* @__PURE__ */ $constructor("$ZodMap", (inst, def) => {
4440
4479
  return Promise.all(proms).then(() => payload);
4441
4480
  return payload;
4442
4481
  };
4482
+ capSize(inst, mapSize);
4443
4483
  });
4444
4484
  function handleMapResult(keyResult, valueResult, final, key, input2, inst, ctx) {
4445
4485
  if (keyResult.issues.length) {
@@ -4506,6 +4546,7 @@ var $ZodSet = /* @__PURE__ */ $constructor("$ZodSet", (inst, def) => {
4506
4546
  return Promise.all(proms).then(() => payload);
4507
4547
  return payload;
4508
4548
  };
4549
+ capSize(inst, setSize);
4509
4550
  });
4510
4551
  function handleSetResult(result, final) {
4511
4552
  if (result.issues.length) {
@@ -14036,9 +14077,15 @@ function generateNullableCheck(doc, ctx, schema, accessor, buildsValue = true) {
14036
14077
  doc.write(`}`);
14037
14078
  return outputVar;
14038
14079
  }
14080
+ function generateSizeGate(doc, schema, size) {
14081
+ for (const [max, check2] of sizeCaps(schema._zod.def.checks)) {
14082
+ doc.write(`if (${size} > ${numericOperand(max, check2._zod.def.check)}) return INVALID;`);
14083
+ }
14084
+ }
14039
14085
  function generateArrayCheck(doc, ctx, schema, accessor, buildsValue = true) {
14040
14086
  const def = schema._zod.def;
14041
14087
  doc.write(`if (!Array.isArray(${accessor})) return INVALID;`);
14088
+ generateSizeGate(doc, schema, `${accessor}.length`);
14042
14089
  const outputVar = buildsValue ? newVar(ctx) : null;
14043
14090
  const iVar = newVar(ctx);
14044
14091
  const elemVar = newVar(ctx);
@@ -14438,6 +14485,7 @@ function literalPropertyKey(ctx, key) {
14438
14485
  function generateMapCheck(doc, ctx, schema, accessor) {
14439
14486
  const def = schema._zod.def;
14440
14487
  doc.write(`if (!(${accessor} instanceof Map)) return INVALID;`);
14488
+ generateSizeGate(doc, schema, `${accessor}.size`);
14441
14489
  const outputVar = newVar(ctx);
14442
14490
  const kVar = newVar(ctx);
14443
14491
  const valVar = newVar(ctx);
@@ -14454,6 +14502,7 @@ function generateMapCheck(doc, ctx, schema, accessor) {
14454
14502
  function generateSetCheck(doc, ctx, schema, accessor) {
14455
14503
  const def = schema._zod.def;
14456
14504
  doc.write(`if (!(${accessor} instanceof Set)) return INVALID;`);
14505
+ generateSizeGate(doc, schema, `${accessor}.size`);
14457
14506
  const outputVar = newVar(ctx);
14458
14507
  const valVar = newVar(ctx);
14459
14508
  doc.write(`const ${outputVar} = new Set();`);
@@ -19763,7 +19812,7 @@ function date4(params) {
19763
19812
  return _coercedDate(ZodDate, params);
19764
19813
  }
19765
19814
 
19766
- // ../../node_modules/@modelcontextprotocol/core/dist/auth-BNDyLTqp.mjs
19815
+ // ../../node_modules/@modelcontextprotocol/server/node_modules/@modelcontextprotocol/core/dist/auth-BNDyLTqp.mjs
19767
19816
  var LATEST_PROTOCOL_VERSION = "2025-11-25";
19768
19817
  var SUPPORTED_PROTOCOL_VERSIONS = [
19769
19818
  LATEST_PROTOCOL_VERSION,
@@ -34516,7 +34565,7 @@ var API_KEY_RE = new RegExp([
34516
34565
  // webhook signing secret (Stripe-style)
34517
34566
  ].map((p) => `\\b${p}`).join("|"), "g");
34518
34567
  var GOOGLE_OAUTH_TOKEN_RE = /(?<![A-Za-z0-9+/])(?:ya29\.|1\/\/)[A-Za-z0-9._-]{8,}/g;
34519
- var QUERY_SECRET_RE = new RegExp(`([?&](?:(?:access|refresh|id|auth|session|csrf|xsrf)[_-]?token|client[_-]?secret|api[_-]?secret|api[_-]?key|password|passwd|signature|token|key|sig|(?:code[_-]?)?verifier|(?:php|j)?sess(?:ion)?[_-]?id|sid|x[-_]${HEADER_NAME_RUN}?(?:api[-_]?key|token|secret|auth)${HEADER_NAME_RUN})=)[^&#\\s"'<>\`]+`, "gi");
34568
+ var QUERY_SECRET_RE = new RegExp(`([?&#;](?:(?:access|refresh|id|auth|session|csrf|xsrf|api)[_-]?token|client[_-]?secret|api[_-]?secret|api[_-]?key|password|passwd|signature|secret|token|auth|key|sig|(?:code[_-]?)?verifier|(?:php|j)?sess(?:ion)?[_-]?id|sid|x[-_]${HEADER_NAME_RUN}?(?:api[-_]?key|token|secret|auth)${HEADER_NAME_RUN})=)[^&#\\s"'<>\`]+`, "gi");
34520
34569
  var OAUTH_CODE_RE = /([?&]code=)(?=[^&#\s"'<>`]{16,})[^&#\s"'<>`]+/gi;
34521
34570
  var FORM_PASSWORD_RE = /((?:^|[\s,;:"'(\[{])(?:password|passwd)=)[^&#\s"'<>`]+/gim;
34522
34571
  var HEADER_SECRET_RE = new RegExp(`(\\b(?:x[-_]${HEADER_NAME_RUN}?(?:api[-_]?key|token|secret|auth)${HEADER_NAME_RUN}|api[-_]?key)\\s*:\\s*)[^\\s,;"'<>\`]+`, "gi");
@@ -34527,6 +34576,8 @@ var JSON_SECRET_KEYS = [
34527
34576
  "api[_-]?secret",
34528
34577
  "(?:x[_-])?api[_-]?key",
34529
34578
  "private[_-]?key",
34579
+ "aws[_-]?secret[_-]?access[_-]?key",
34580
+ // fleet-audit#1297
34530
34581
  "code[_-]?verifier",
34531
34582
  // PKCE; a bare `verifier` key is too generic for JSON
34532
34583
  `x[_-]${HEADER_NAME_RUN}?(?:api[_-]?key|token|secret|auth)${HEADER_NAME_RUN}`,
@@ -35515,7 +35566,7 @@ var PATH_FLAGS = /* @__PURE__ */ new Set(["out", "output", "out-dir", "output-di
35515
35566
  var ID_FLAGS = {
35516
35567
  drive: /* @__PURE__ */ new Set(["file", "filter-file"])
35517
35568
  };
35518
- var EXEC_FLAGS = /* @__PURE__ */ new Set(["on-change", "on-new", "mmdc"]);
35569
+ var EXEC_FLAGS = /* @__PURE__ */ new Set(["on-change", "on-new", "mmdc", "deploy"]);
35519
35570
  var SHORT_PATH_CLUSTER = /^-(?!-)[A-Za-z]*[of]/;
35520
35571
  var LONG_FLAG = /^--([A-Za-z0-9][A-Za-z0-9-]*)(?:=([\s\S]*))?$/;
35521
35572
  function isPathFlag(service, name) {
@@ -35967,6 +36018,11 @@ var attachInlineParam = external_exports.array(inlineAttachmentSchema).optional(
35967
36018
  );
35968
36019
 
35969
36020
  // ../gogcli-mcp/src/tools/gmail.ts
36021
+ var signatureSchema = {
36022
+ signature: external_exports.boolean().optional().describe("Append the Gmail signature from the active send-as address"),
36023
+ signatureFrom: external_exports.string().optional().describe("Append the Gmail signature from this send-as email address"),
36024
+ signatureFile: external_exports.string().optional().describe("Append a local signature file (plain text or HTML), read on the gog server. Must be inside GOG_FILE_ROOTS. Cannot be combined with signature/signatureFrom.")
36025
+ };
35970
36026
  var replySchema = {
35971
36027
  messageId: external_exports.string().describe("Gmail message ID to reply to \u2014 the short hex `id` from gog_gmail_get / _search (or gog_gmail_messages_search, gogcli-mcp-gmail only). NOT the threadId, NOT the RFC822 `<\u2026@host>` Message-Id header."),
35972
36028
  body: external_exports.string().optional().describe("Reply body (plain text; required unless bodyHtml or bodyHtmlFile is set). Any size \u2014 a large body is written to a temp file on the gog server rather than inlined into the command line. Note gog strips trailing newlines from a file-delivered body."),
@@ -35982,9 +36038,7 @@ var replySchema = {
35982
36038
  attachInline: attachInlineParam,
35983
36039
  from: external_exports.string().optional().describe("Send from this email address (must be a verified send-as alias)"),
35984
36040
  autoFromAddressedAlias: external_exports.boolean().optional().describe("When from is omitted, send from the verified send-as alias the original message was addressed TO, instead of the account's primary address \u2014 so a reply to mail sent to an alias goes back out from that alias. Ignored when from is set."),
35985
- signature: external_exports.boolean().optional().describe("Append the Gmail signature from the active send-as address"),
35986
- signatureFrom: external_exports.string().optional().describe("Append the Gmail signature from this send-as email address"),
35987
- signatureFile: external_exports.string().optional().describe("Append a local signature file (plain text or HTML), read on the gog server"),
36041
+ ...signatureSchema,
35988
36042
  account: accountParam
35989
36043
  };
35990
36044
  var sendReplySchema = external_exports.object({ ...replySchema, confirmToken: confirmTokenParam });
@@ -36086,7 +36140,7 @@ function registerSlidesTools(server) {
36086
36140
  }
36087
36141
 
36088
36142
  // ../gogcli-mcp/src/server.ts
36089
- var VERSION = true ? "4.7.1" : "0.0.0";
36143
+ var VERSION = true ? "4.8.1" : "0.0.0";
36090
36144
 
36091
36145
  // ../gogcli-mcp/src/bootstrap-auth.ts
36092
36146
  import { join as join5 } from "node:path";
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": "4.7.1",
6
+ "version": "4.8.1",
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/mint.yaml CHANGED
@@ -91,7 +91,7 @@ dependencies:
91
91
  # bumping these nine pins, and the pin stored on each mcp-host registration.
92
92
  - kind: github-release
93
93
  repo: openclaw/gogcli
94
- tag: v0.43.0
94
+ tag: v0.44.0
95
95
  asset: "gogcli_*_linux_amd64.tar.gz"
96
96
  bin: [gog]
97
97
  state:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gogcli-mcp-slides",
3
- "version": "4.7.1",
3
+ "version": "4.8.1",
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>",
@@ -24,8 +24,8 @@
24
24
  "test:coverage": "vitest run --coverage"
25
25
  },
26
26
  "dependencies": {
27
- "@chrischall/mcp-utils": "^3.0.0",
28
- "@modelcontextprotocol/server": "^2.3.0",
27
+ "@chrischall/mcp-utils": "^3.0.3",
28
+ "@modelcontextprotocol/server": "^2.3.1",
29
29
  "zod": "^4.6.1"
30
30
  },
31
31
  "license": "MIT",
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "source": "github",
8
8
  "subfolder": "packages/gogcli-mcp-slides"
9
9
  },
10
- "version": "4.7.1",
10
+ "version": "4.8.1",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "gogcli-mcp-slides",
15
- "version": "4.7.1",
15
+ "version": "4.8.1",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },