pptx-viewer-mcp 2.2.0 → 2.4.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.
- package/CHANGELOG.md +12 -0
- package/README.md +20 -19
- package/dist/index.d.ts +237 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +486 -172
- package/dist/index.mjs +479 -174
- package/dist/mcp/index.js +1044 -281
- package/dist/mcp/index.mjs +1045 -282
- package/dist/schemas/index.d.ts +604 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +338 -2
- package/dist/schemas/index.mjs +325 -3
- package/package.json +2 -2
package/dist/schemas/index.mjs
CHANGED
|
@@ -61,6 +61,32 @@ var ConvertToMarkdownSchema = z.object({
|
|
|
61
61
|
var AccessibilityCheckSchema = z.object({
|
|
62
62
|
filePath: z.string().describe("Path to the PPTX file")
|
|
63
63
|
});
|
|
64
|
+
var ThemeColorRefSchema = z.object({
|
|
65
|
+
scheme: z.enum([
|
|
66
|
+
"dk1",
|
|
67
|
+
"lt1",
|
|
68
|
+
"dk2",
|
|
69
|
+
"lt2",
|
|
70
|
+
"accent1",
|
|
71
|
+
"accent2",
|
|
72
|
+
"accent3",
|
|
73
|
+
"accent4",
|
|
74
|
+
"accent5",
|
|
75
|
+
"accent6",
|
|
76
|
+
"hlink",
|
|
77
|
+
"folHlink",
|
|
78
|
+
"bg1",
|
|
79
|
+
"tx1",
|
|
80
|
+
"bg2",
|
|
81
|
+
"tx2",
|
|
82
|
+
"phClr"
|
|
83
|
+
]),
|
|
84
|
+
lumMod: z.number().optional().describe("Multiply HSL luminance (0..1)"),
|
|
85
|
+
lumOff: z.number().optional().describe("Add to HSL luminance after lumMod (0..1)"),
|
|
86
|
+
tint: z.number().optional().describe("Blend towards white (0..1)"),
|
|
87
|
+
shade: z.number().optional().describe("Blend towards black (0..1)"),
|
|
88
|
+
alpha: z.number().optional().describe("Opacity fraction, 1 = opaque")
|
|
89
|
+
});
|
|
64
90
|
var AddElementSchema = z.object({
|
|
65
91
|
filePath: z.string().describe("Path to the PPTX file"),
|
|
66
92
|
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
@@ -105,6 +131,12 @@ var UpdateElementSchema = z.object({
|
|
|
105
131
|
fontSize: z.number().optional(),
|
|
106
132
|
fontFamily: z.string().optional(),
|
|
107
133
|
fontColor: z.string().optional(),
|
|
134
|
+
/**
|
|
135
|
+
* A theme colour for the run text. Wins on save; resolves `fontColor`
|
|
136
|
+
* immediately when `fontColor` was not also given. Passing `fontColor`
|
|
137
|
+
* alone clears a previously-set text theme colour.
|
|
138
|
+
*/
|
|
139
|
+
fontThemeColor: ThemeColorRefSchema.optional(),
|
|
108
140
|
bold: z.boolean().optional(),
|
|
109
141
|
italic: z.boolean().optional(),
|
|
110
142
|
underline: z.boolean().optional(),
|
|
@@ -115,7 +147,13 @@ var UpdateElementSchema = z.object({
|
|
|
115
147
|
opacity: z.number().min(0).max(1).optional(),
|
|
116
148
|
hidden: z.boolean().optional(),
|
|
117
149
|
flipH: z.boolean().optional(),
|
|
118
|
-
flipV: z.boolean().optional()
|
|
150
|
+
flipV: z.boolean().optional(),
|
|
151
|
+
altText: z.string().optional().describe(
|
|
152
|
+
"Accessibility description (p:cNvPr/@descr) for image, picture, table, chart, smartArt, ole, media, text, shape and connector elements"
|
|
153
|
+
),
|
|
154
|
+
title: z.string().optional().describe(
|
|
155
|
+
"Accessibility title (p:cNvPr/@title) for table, chart, smartArt, ole, media, text, shape and connector elements (not pictures)"
|
|
156
|
+
)
|
|
119
157
|
});
|
|
120
158
|
var RenameElementSchema = z.object({
|
|
121
159
|
filePath: z.string().describe("Path to the PPTX file"),
|
|
@@ -177,6 +215,32 @@ var BatchUpdateElementsSchema = z.object({
|
|
|
177
215
|
opacity: z.number().min(0).max(1).optional(),
|
|
178
216
|
hidden: z.boolean().optional()
|
|
179
217
|
});
|
|
218
|
+
var ThemeColorRefSchema2 = z.object({
|
|
219
|
+
scheme: z.enum([
|
|
220
|
+
"dk1",
|
|
221
|
+
"lt1",
|
|
222
|
+
"dk2",
|
|
223
|
+
"lt2",
|
|
224
|
+
"accent1",
|
|
225
|
+
"accent2",
|
|
226
|
+
"accent3",
|
|
227
|
+
"accent4",
|
|
228
|
+
"accent5",
|
|
229
|
+
"accent6",
|
|
230
|
+
"hlink",
|
|
231
|
+
"folHlink",
|
|
232
|
+
"bg1",
|
|
233
|
+
"tx1",
|
|
234
|
+
"bg2",
|
|
235
|
+
"tx2",
|
|
236
|
+
"phClr"
|
|
237
|
+
]),
|
|
238
|
+
lumMod: z.number().optional().describe("Multiply HSL luminance (0..1)"),
|
|
239
|
+
lumOff: z.number().optional().describe("Add to HSL luminance after lumMod (0..1)"),
|
|
240
|
+
tint: z.number().optional().describe("Blend towards white (0..1)"),
|
|
241
|
+
shade: z.number().optional().describe("Blend towards black (0..1)"),
|
|
242
|
+
alpha: z.number().optional().describe("Opacity fraction, 1 = opaque")
|
|
243
|
+
});
|
|
180
244
|
var UpdateTableCellsSchema = z.object({
|
|
181
245
|
filePath: z.string().describe("Path to the PPTX file"),
|
|
182
246
|
slideIndex: z.number().int().min(0),
|
|
@@ -203,6 +267,14 @@ var UpdateElementStyleSchema = z.object({
|
|
|
203
267
|
slideIndex: z.number().int().min(0),
|
|
204
268
|
elementId: z.string(),
|
|
205
269
|
fillColor: z.string().optional(),
|
|
270
|
+
/**
|
|
271
|
+
* A theme colour for the fill (e.g. `{ scheme: 'accent1', lumMod: 0.8 }`
|
|
272
|
+
* for "Accent 1, Lighter 80%"). When set, the shape saves as
|
|
273
|
+
* `<a:schemeClr>` and keeps following the theme after a later theme
|
|
274
|
+
* change, instead of freezing today's resolved hex. Setting `fillColor`
|
|
275
|
+
* without this clears any previously-set fill theme colour.
|
|
276
|
+
*/
|
|
277
|
+
fillThemeColor: ThemeColorRefSchema2.optional(),
|
|
206
278
|
fillMode: z.string().optional(),
|
|
207
279
|
fillGradientStops: z.array(
|
|
208
280
|
z.object({
|
|
@@ -215,6 +287,8 @@ var UpdateElementStyleSchema = z.object({
|
|
|
215
287
|
fillGradientType: z.string().optional(),
|
|
216
288
|
fillOpacity: z.number().optional(),
|
|
217
289
|
strokeColor: z.string().optional(),
|
|
290
|
+
/** A theme colour for the outline; see `fillThemeColor` above. */
|
|
291
|
+
strokeThemeColor: ThemeColorRefSchema2.optional(),
|
|
218
292
|
strokeWidth: z.number().optional(),
|
|
219
293
|
strokeDash: z.string().optional(),
|
|
220
294
|
strokeOpacity: z.number().optional(),
|
|
@@ -234,7 +308,12 @@ var UpdateElementStyleSchema = z.object({
|
|
|
234
308
|
brightness: z.number().optional(),
|
|
235
309
|
contrast: z.number().optional(),
|
|
236
310
|
grayscale: z.boolean().optional(),
|
|
237
|
-
altText: z.string().optional()
|
|
311
|
+
altText: z.string().optional().describe(
|
|
312
|
+
"Accessibility description (p:cNvPr/@descr) for image, picture, table, chart, smartArt, ole, media, text, shape and connector elements"
|
|
313
|
+
),
|
|
314
|
+
title: z.string().optional().describe(
|
|
315
|
+
"Accessibility title (p:cNvPr/@title) for table, chart, smartArt, ole, media, text, shape and connector elements (not pictures)"
|
|
316
|
+
)
|
|
238
317
|
});
|
|
239
318
|
var FindTextSchema = z.object({
|
|
240
319
|
filePath: z.string().describe("Path to the PPTX file"),
|
|
@@ -261,6 +340,116 @@ var ManageCommentsSchema = z.object({
|
|
|
261
340
|
resolved: z.boolean().optional(),
|
|
262
341
|
includeResolved: z.boolean().optional()
|
|
263
342
|
});
|
|
343
|
+
var TABLE_STYLE_SECTIONS = [
|
|
344
|
+
"wholeTbl",
|
|
345
|
+
"band1H",
|
|
346
|
+
"band2H",
|
|
347
|
+
"band1V",
|
|
348
|
+
"band2V",
|
|
349
|
+
"lastCol",
|
|
350
|
+
"firstCol",
|
|
351
|
+
"lastRow",
|
|
352
|
+
"seCell",
|
|
353
|
+
"swCell",
|
|
354
|
+
"firstRow",
|
|
355
|
+
"neCell",
|
|
356
|
+
"nwCell"
|
|
357
|
+
];
|
|
358
|
+
var TableStyleSimpleColorSchema = z.object({
|
|
359
|
+
schemeColor: z.string().describe('Theme colour key (e.g. "accent1"), or "" for a non-scheme fill'),
|
|
360
|
+
tint: z.number().optional().describe("0-100000"),
|
|
361
|
+
shade: z.number().optional().describe("0-100000"),
|
|
362
|
+
color: z.string().optional().describe('Explicit hex colour, e.g. "#FF8800"')
|
|
363
|
+
});
|
|
364
|
+
var TableStyleFillSchema = z.object({
|
|
365
|
+
schemeColor: z.string(),
|
|
366
|
+
tint: z.number().optional(),
|
|
367
|
+
shade: z.number().optional(),
|
|
368
|
+
color: z.string().optional(),
|
|
369
|
+
noFill: z.boolean().optional(),
|
|
370
|
+
gradient: z.object({
|
|
371
|
+
type: z.enum(["linear", "radial"]),
|
|
372
|
+
angle: z.number().optional(),
|
|
373
|
+
stops: z.array(z.object({ position: z.number(), fill: TableStyleSimpleColorSchema }))
|
|
374
|
+
}).optional(),
|
|
375
|
+
pattern: z.object({
|
|
376
|
+
preset: z.string(),
|
|
377
|
+
foreground: TableStyleSimpleColorSchema.optional(),
|
|
378
|
+
background: TableStyleSimpleColorSchema.optional()
|
|
379
|
+
}).optional(),
|
|
380
|
+
image: z.object({ path: z.string().optional(), data: z.string().optional() }).optional()
|
|
381
|
+
});
|
|
382
|
+
var TableStyleTextSchema = z.object({
|
|
383
|
+
bold: z.boolean().optional(),
|
|
384
|
+
italic: z.boolean().optional(),
|
|
385
|
+
underline: z.boolean().optional(),
|
|
386
|
+
fontSchemeColor: z.string().optional(),
|
|
387
|
+
fontTint: z.number().optional(),
|
|
388
|
+
fontShade: z.number().optional(),
|
|
389
|
+
fontColor: z.string().optional(),
|
|
390
|
+
fontFace: z.string().optional(),
|
|
391
|
+
fontRefIdx: z.string().optional()
|
|
392
|
+
});
|
|
393
|
+
var TableStyleBorderSideSchema = z.object({
|
|
394
|
+
width: z.number().optional(),
|
|
395
|
+
dash: z.string().optional(),
|
|
396
|
+
fill: TableStyleSimpleColorSchema.optional(),
|
|
397
|
+
color: z.string().optional(),
|
|
398
|
+
noFill: z.boolean().optional()
|
|
399
|
+
});
|
|
400
|
+
var TableStyleBordersSchema = z.object({
|
|
401
|
+
left: TableStyleBorderSideSchema.optional(),
|
|
402
|
+
right: TableStyleBorderSideSchema.optional(),
|
|
403
|
+
top: TableStyleBorderSideSchema.optional(),
|
|
404
|
+
bottom: TableStyleBorderSideSchema.optional(),
|
|
405
|
+
insideH: TableStyleBorderSideSchema.optional(),
|
|
406
|
+
insideV: TableStyleBorderSideSchema.optional(),
|
|
407
|
+
tl2br: TableStyleBorderSideSchema.optional(),
|
|
408
|
+
tr2bl: TableStyleBorderSideSchema.optional()
|
|
409
|
+
});
|
|
410
|
+
var TableStyleCell3DSchema = z.object({
|
|
411
|
+
bevelWidth: z.number().optional(),
|
|
412
|
+
bevelHeight: z.number().optional(),
|
|
413
|
+
bevelPreset: z.string().optional(),
|
|
414
|
+
material: z.string().optional(),
|
|
415
|
+
lightRig: z.string().optional(),
|
|
416
|
+
lightRigDirection: z.string().optional()
|
|
417
|
+
});
|
|
418
|
+
var SetTableStyleSectionSchema = z.object({
|
|
419
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
420
|
+
styleId: z.string().describe('Table style GUID, e.g. "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"'),
|
|
421
|
+
section: z.enum(TABLE_STYLE_SECTIONS).describe("Which of the 13 CT_TableStyle parts to patch"),
|
|
422
|
+
styleName: z.string().optional().describe("Rename the style"),
|
|
423
|
+
fill: TableStyleFillSchema.optional(),
|
|
424
|
+
text: TableStyleTextSchema.optional(),
|
|
425
|
+
borders: TableStyleBordersSchema.optional(),
|
|
426
|
+
cell3D: TableStyleCell3DSchema.optional()
|
|
427
|
+
});
|
|
428
|
+
var CreateTableStyleSchema = z.object({
|
|
429
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
430
|
+
styleName: z.string().describe("Display name for the new style"),
|
|
431
|
+
basedOnStyleId: z.string().optional().describe("Deep-clone every section from this existing style GUID as the starting point"),
|
|
432
|
+
setAsDefault: z.boolean().optional().describe("Repoint ppt/tableStyles.xml's default style at the new one")
|
|
433
|
+
});
|
|
434
|
+
var DeleteTableStyleSchema = z.object({
|
|
435
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
436
|
+
styleId: z.string().describe("Table style GUID to remove"),
|
|
437
|
+
force: z.boolean().optional().describe("Delete even though a table on this deck still references the style")
|
|
438
|
+
});
|
|
439
|
+
var AssignTableStyleSchema = z.object({
|
|
440
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
441
|
+
slideIndex: z.number().int().min(0),
|
|
442
|
+
elementId: z.string().describe("Table element ID"),
|
|
443
|
+
styleId: z.string().optional().describe(
|
|
444
|
+
"Table style GUID to assign. Defaults to the presentation's current default table style when omitted."
|
|
445
|
+
),
|
|
446
|
+
bandedRows: z.boolean().optional(),
|
|
447
|
+
bandedColumns: z.boolean().optional(),
|
|
448
|
+
firstRowHeader: z.boolean().optional(),
|
|
449
|
+
lastRow: z.boolean().optional(),
|
|
450
|
+
firstCol: z.boolean().optional(),
|
|
451
|
+
lastCol: z.boolean().optional()
|
|
452
|
+
});
|
|
264
453
|
var GetThemeInfoSchema = z.object({
|
|
265
454
|
filePath: z.string().describe("Path to the PPTX file")
|
|
266
455
|
});
|
|
@@ -290,6 +479,139 @@ var UpdateThemeFontsSchema = z.object({
|
|
|
290
479
|
majorFont: z.string().optional().describe("Heading (major) font family"),
|
|
291
480
|
minorFont: z.string().optional().describe("Body (minor) font family")
|
|
292
481
|
});
|
|
482
|
+
var MarkerSymbolSchema = z.enum([
|
|
483
|
+
"circle",
|
|
484
|
+
"dash",
|
|
485
|
+
"diamond",
|
|
486
|
+
"dot",
|
|
487
|
+
"none",
|
|
488
|
+
"picture",
|
|
489
|
+
"plus",
|
|
490
|
+
"square",
|
|
491
|
+
"star",
|
|
492
|
+
"triangle",
|
|
493
|
+
"x",
|
|
494
|
+
"auto"
|
|
495
|
+
]);
|
|
496
|
+
var DataLabelPositionSchema = z.enum([
|
|
497
|
+
"bestFit",
|
|
498
|
+
"b",
|
|
499
|
+
"ctr",
|
|
500
|
+
"inBase",
|
|
501
|
+
"inEnd",
|
|
502
|
+
"l",
|
|
503
|
+
"outEnd",
|
|
504
|
+
"r",
|
|
505
|
+
"t"
|
|
506
|
+
]);
|
|
507
|
+
var FormatChartDataPointSchema = z.object({
|
|
508
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
509
|
+
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
510
|
+
elementId: z.string().describe("Chart element ID"),
|
|
511
|
+
seriesIndex: z.number().int().min(0).describe("Zero-based series index"),
|
|
512
|
+
pointIndex: z.number().int().min(0).describe("Zero-based data point (category) index"),
|
|
513
|
+
fillColor: z.string().optional().describe("Fill colour (hex) for this point only"),
|
|
514
|
+
strokeColor: z.string().optional().describe("Outline colour (hex) for this point only"),
|
|
515
|
+
strokeWidth: z.number().optional().describe("Outline width in points"),
|
|
516
|
+
strokeDashStyle: z.string().optional().describe("Outline dash style, e.g. solid, dash, dashDot, sysDot"),
|
|
517
|
+
clearStyle: z.boolean().optional().describe("Remove all per-point shape formatting"),
|
|
518
|
+
explosion: z.number().nullable().optional().describe("Pie/doughnut slice pull-out distance 0-100; null clears it"),
|
|
519
|
+
marker: z.object({
|
|
520
|
+
symbol: MarkerSymbolSchema.optional(),
|
|
521
|
+
size: z.number().optional(),
|
|
522
|
+
fillColor: z.string().optional()
|
|
523
|
+
}).nullable().optional().describe("Per-point marker override (line/scatter/bubble); null clears it")
|
|
524
|
+
});
|
|
525
|
+
var FormatChartDataLabelSchema = z.object({
|
|
526
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
527
|
+
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
528
|
+
elementId: z.string().describe("Chart element ID"),
|
|
529
|
+
seriesIndex: z.number().int().min(0).describe("Zero-based series index"),
|
|
530
|
+
pointIndex: z.number().int().min(0).describe("Zero-based data point (category) index"),
|
|
531
|
+
remove: z.boolean().optional().describe("Remove the per-point label override entirely"),
|
|
532
|
+
showValue: z.boolean().optional(),
|
|
533
|
+
showCategory: z.boolean().optional(),
|
|
534
|
+
showSeriesName: z.boolean().optional(),
|
|
535
|
+
showPercent: z.boolean().optional(),
|
|
536
|
+
showLegendKey: z.boolean().optional(),
|
|
537
|
+
position: DataLabelPositionSchema.optional(),
|
|
538
|
+
text: z.string().optional().describe("Custom label text override; '' clears it"),
|
|
539
|
+
spPr: z.object({
|
|
540
|
+
fillColor: z.string().optional(),
|
|
541
|
+
strokeColor: z.string().optional(),
|
|
542
|
+
strokeWidth: z.number().optional(),
|
|
543
|
+
strokeDashStyle: z.string().optional()
|
|
544
|
+
}).nullable().optional().describe("This label's own fill/line formatting; null removes it"),
|
|
545
|
+
txPr: z.object({
|
|
546
|
+
fontFamily: z.string().optional(),
|
|
547
|
+
fontSize: z.number().optional(),
|
|
548
|
+
bold: z.boolean().optional(),
|
|
549
|
+
italic: z.boolean().optional(),
|
|
550
|
+
color: z.string().optional()
|
|
551
|
+
}).nullable().optional().describe("This label's own font; null removes it")
|
|
552
|
+
});
|
|
553
|
+
var FormatChartSeriesSchema = z.object({
|
|
554
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
555
|
+
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
556
|
+
elementId: z.string().describe("Chart element ID"),
|
|
557
|
+
seriesIndex: z.number().int().min(0).describe("Zero-based series index"),
|
|
558
|
+
marker: z.object({
|
|
559
|
+
symbol: MarkerSymbolSchema.optional(),
|
|
560
|
+
size: z.number().optional(),
|
|
561
|
+
fillColor: z.string().optional(),
|
|
562
|
+
strokeColor: z.string().optional(),
|
|
563
|
+
strokeWidth: z.number().optional(),
|
|
564
|
+
strokeDashStyle: z.string().optional()
|
|
565
|
+
}).nullable().optional().describe("Series marker (line/scatter/bubble/radar); null removes it"),
|
|
566
|
+
trendline: z.object({
|
|
567
|
+
trendlineType: z.enum([
|
|
568
|
+
"linear",
|
|
569
|
+
"exponential",
|
|
570
|
+
"logarithmic",
|
|
571
|
+
"polynomial",
|
|
572
|
+
"power",
|
|
573
|
+
"movingAvg"
|
|
574
|
+
]),
|
|
575
|
+
color: z.string().optional(),
|
|
576
|
+
lineWidth: z.number().optional().describe("Trendline width in points"),
|
|
577
|
+
lineDashStyle: z.string().optional(),
|
|
578
|
+
order: z.number().optional().describe("Polynomial order, 2-6"),
|
|
579
|
+
period: z.number().optional().describe("Moving-average period"),
|
|
580
|
+
displayEq: z.boolean().optional(),
|
|
581
|
+
displayRSq: z.boolean().optional()
|
|
582
|
+
}).nullable().optional().describe("Series trendline; null removes it"),
|
|
583
|
+
errorBars: z.object({
|
|
584
|
+
direction: z.enum(["x", "y"]),
|
|
585
|
+
barType: z.enum(["both", "minus", "plus"]),
|
|
586
|
+
valType: z.enum(["cust", "fixedVal", "percentage", "stdDev", "stdErr"]),
|
|
587
|
+
val: z.number().optional(),
|
|
588
|
+
customPlus: z.array(z.number()).optional(),
|
|
589
|
+
customMinus: z.array(z.number()).optional(),
|
|
590
|
+
noEndCap: z.boolean().optional(),
|
|
591
|
+
color: z.string().optional(),
|
|
592
|
+
width: z.number().optional().describe("Error-bar line width in points"),
|
|
593
|
+
dashStyle: z.string().optional()
|
|
594
|
+
}).nullable().optional().describe("Series error bars; null removes them")
|
|
595
|
+
});
|
|
596
|
+
var SetChartHelperLineSchema = z.object({
|
|
597
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
598
|
+
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
599
|
+
elementId: z.string().describe("Chart element ID"),
|
|
600
|
+
line: z.enum(["dropLines", "hiLowLines"]).describe("Which helper line to set"),
|
|
601
|
+
style: z.object({
|
|
602
|
+
color: z.string().optional(),
|
|
603
|
+
width: z.number().optional(),
|
|
604
|
+
dashStyle: z.string().optional()
|
|
605
|
+
}).nullable().describe("Line colour/width/dash; {} shows the line with defaults, null removes it")
|
|
606
|
+
});
|
|
607
|
+
var SetChartColorMapOverrideSchema = z.object({
|
|
608
|
+
filePath: z.string().describe("Path to the PPTX file"),
|
|
609
|
+
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
610
|
+
elementId: z.string().describe("Chart element ID"),
|
|
611
|
+
overrides: z.record(z.string(), z.string()).nullable().describe(
|
|
612
|
+
'Theme colour role remap (bg1/tx1/bg2/tx2/accent1-6/hlink/folHlink -> role), e.g. { "accent1": "accent2" }; null removes the override'
|
|
613
|
+
)
|
|
614
|
+
});
|
|
293
615
|
var UpdateChartSchema = z.object({
|
|
294
616
|
filePath: z.string().describe("Path to the PPTX file"),
|
|
295
617
|
slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
|
|
@@ -553,4 +875,4 @@ var ApplyLayoutSchema = z.object({
|
|
|
553
875
|
layoutType: z.string().optional().describe("Layout type to apply (alternative to name)")
|
|
554
876
|
});
|
|
555
877
|
|
|
556
|
-
export { AccessibilityCheckSchema, AddChartSeriesSchema, AddChartUserShapeSchema, AddElementSchema, AddSlideSchema, ApplyLayoutSchema, ApplyTemplateSchema, ApplyThemePresetSchema, ArrangeElementsSchema, BatchUpdateElementsSchema, CloneElementSchema, ConvertToMarkdownSchema, CreateChartSchema, DeleteElementsSchema, DeleteSlidesSchema, DuplicateSlideSchema, ExportSlideSvgSchema, ExportToJsonSchema, ExportToSvgSchema, FindPlaceholdersSchema, FindTextSchema, GetLayoutsSchema, GetMetadataSchema, GetPresentationPropertiesSchema, GetSlideSchema, GetThemeInfoSchema, GroupElementsSchema, ImportFromJsonSchema, ListChartUserShapesSchema, ManageCommentsSchema, ManageHyperlinksSchema, ManageSectionsSchema, ManageSmartArtSchema, ManageTableStructureSchema, RemoveChartSeriesSchema, RemoveChartUserShapeSchema, RenameElementSchema, ReorderSlidesSchema, RepairPresentationSchema, ReplaceGeometrySchema, ReplaceTextSchema, SetCanvasSizeSchema, SetElementAnimationSchema, SetElementLockSchema, SetSlideTransitionSchema, UngroupElementsSchema, UpdateChartSchema, UpdateChartSeriesDataSchema, UpdateChartUserShapeSchema, UpdateElementSchema, UpdateElementStyleSchema, UpdateMetadataSchema, UpdatePresentationPropertiesSchema, UpdateSlidePropertiesSchema, UpdateTableCellsSchema, UpdateThemeColorsSchema, UpdateThemeFontsSchema, ValidatePresentationSchema };
|
|
878
|
+
export { AccessibilityCheckSchema, AddChartSeriesSchema, AddChartUserShapeSchema, AddElementSchema, AddSlideSchema, ApplyLayoutSchema, ApplyTemplateSchema, ApplyThemePresetSchema, ArrangeElementsSchema, AssignTableStyleSchema, BatchUpdateElementsSchema, CloneElementSchema, ConvertToMarkdownSchema, CreateChartSchema, CreateTableStyleSchema, DeleteElementsSchema, DeleteSlidesSchema, DeleteTableStyleSchema, DuplicateSlideSchema, ExportSlideSvgSchema, ExportToJsonSchema, ExportToSvgSchema, FindPlaceholdersSchema, FindTextSchema, FormatChartDataLabelSchema, FormatChartDataPointSchema, FormatChartSeriesSchema, GetLayoutsSchema, GetMetadataSchema, GetPresentationPropertiesSchema, GetSlideSchema, GetThemeInfoSchema, GroupElementsSchema, ImportFromJsonSchema, ListChartUserShapesSchema, ManageCommentsSchema, ManageHyperlinksSchema, ManageSectionsSchema, ManageSmartArtSchema, ManageTableStructureSchema, RemoveChartSeriesSchema, RemoveChartUserShapeSchema, RenameElementSchema, ReorderSlidesSchema, RepairPresentationSchema, ReplaceGeometrySchema, ReplaceTextSchema, SetCanvasSizeSchema, SetChartColorMapOverrideSchema, SetChartHelperLineSchema, SetElementAnimationSchema, SetElementLockSchema, SetSlideTransitionSchema, SetTableStyleSectionSchema, TABLE_STYLE_SECTIONS, TableStyleBordersSchema, TableStyleCell3DSchema, TableStyleFillSchema, TableStyleTextSchema, UngroupElementsSchema, UpdateChartSchema, UpdateChartSeriesDataSchema, UpdateChartUserShapeSchema, UpdateElementSchema, UpdateElementStyleSchema, UpdateMetadataSchema, UpdatePresentationPropertiesSchema, UpdateSlidePropertiesSchema, UpdateTableCellsSchema, UpdateThemeColorsSchema, UpdateThemeFontsSchema, ValidatePresentationSchema };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-viewer-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "PowerPoint PPTX tools and MCP server: manipulate, convert, and collaborate on .pptx files from AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
73
73
|
"fast-xml-parser": "^5.11.0",
|
|
74
74
|
"jszip": "^3.10.1",
|
|
75
|
-
"pptx-viewer-core": "^3.
|
|
75
|
+
"pptx-viewer-core": "^3.6.0",
|
|
76
76
|
"zod": "^4.4.3"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|