gogcli-mcp-slides 4.8.0 → 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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +3 -2
- package/dist/index.js +55 -4
- 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 Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
|
|
10
|
-
"version": "4.8.
|
|
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.8.
|
|
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.8.
|
|
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
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:
|
|
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();`);
|
|
@@ -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(`([
|
|
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) {
|
|
@@ -36089,7 +36140,7 @@ function registerSlidesTools(server) {
|
|
|
36089
36140
|
}
|
|
36090
36141
|
|
|
36091
36142
|
// ../gogcli-mcp/src/server.ts
|
|
36092
|
-
var VERSION = true ? "4.8.
|
|
36143
|
+
var VERSION = true ? "4.8.1" : "0.0.0";
|
|
36093
36144
|
|
|
36094
36145
|
// ../gogcli-mcp/src/bootstrap-auth.ts
|
|
36095
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.8.
|
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-slides",
|
|
3
|
-
"version": "4.8.
|
|
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,7 +24,7 @@
|
|
|
24
24
|
"test:coverage": "vitest run --coverage"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@chrischall/mcp-utils": "^3.0.
|
|
27
|
+
"@chrischall/mcp-utils": "^3.0.3",
|
|
28
28
|
"@modelcontextprotocol/server": "^2.3.1",
|
|
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-slides"
|
|
9
9
|
},
|
|
10
|
-
"version": "4.8.
|
|
10
|
+
"version": "4.8.1",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-slides",
|
|
15
|
-
"version": "4.8.
|
|
15
|
+
"version": "4.8.1",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|