pptx-viewer-mcp 2.7.2 → 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.
- package/CHANGELOG.md +6 -0
- package/dist/mcp/cli.js +111 -998
- package/dist/mcp/cli.mjs +91 -998
- package/dist/mcp/index.js +111 -999
- package/dist/mcp/index.mjs +91 -999
- package/dist/schemas/index.d.ts +1 -1335
- package/dist/schemas/index.js +8 -1004
- package/dist/schemas/index.mjs +1 -929
- package/package.json +1 -1
- package/dist/schemas/index.d.ts.map +0 -1
package/dist/mcp/cli.js
CHANGED
|
@@ -3,935 +3,48 @@
|
|
|
3
3
|
|
|
4
4
|
var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
5
5
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
6
|
-
var
|
|
6
|
+
var schemas_star = require('ooxml-core/pptx/automation/schemas');
|
|
7
7
|
var automation = require('ooxml-core/pptx/automation');
|
|
8
8
|
var promises = require('fs/promises');
|
|
9
9
|
var path = require('path');
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
advanceOnClick: zod.z.boolean().optional().describe("Advance on mouse click"),
|
|
49
|
-
advanceAfterMs: zod.z.number().int().min(0).optional().describe("Auto-advance after ms")
|
|
50
|
-
});
|
|
51
|
-
var SetCanvasSizeSchema = zod.z.object({
|
|
52
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
53
|
-
width: zod.z.number().positive().describe("Canvas width in points"),
|
|
54
|
-
height: zod.z.number().positive().describe("Canvas height in points")
|
|
55
|
-
});
|
|
56
|
-
var ConvertToMarkdownSchema = zod.z.object({
|
|
57
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
58
|
-
outputDir: zod.z.string().optional().describe("Output directory for markdown and media"),
|
|
59
|
-
mediaFolderName: zod.z.string().optional().describe("Name for extracted media folder"),
|
|
60
|
-
includeMetadata: zod.z.boolean().optional().describe("Include presentation metadata"),
|
|
61
|
-
slideRange: zod.z.object({
|
|
62
|
-
start: zod.z.number().int().min(0).optional(),
|
|
63
|
-
end: zod.z.number().int().min(0).optional()
|
|
64
|
-
}).optional().describe("Slide range to convert"),
|
|
65
|
-
includeSpeakerNotes: zod.z.boolean().optional().describe("Include speaker notes"),
|
|
66
|
-
semanticMode: zod.z.boolean().optional().describe("Use semantic (clean) markdown mode")
|
|
67
|
-
});
|
|
68
|
-
var AccessibilityCheckSchema = zod.z.object({
|
|
69
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
70
|
-
});
|
|
71
|
-
var ThemeColorRefSchema = zod.z.object({
|
|
72
|
-
scheme: zod.z.enum([
|
|
73
|
-
"dk1",
|
|
74
|
-
"lt1",
|
|
75
|
-
"dk2",
|
|
76
|
-
"lt2",
|
|
77
|
-
"accent1",
|
|
78
|
-
"accent2",
|
|
79
|
-
"accent3",
|
|
80
|
-
"accent4",
|
|
81
|
-
"accent5",
|
|
82
|
-
"accent6",
|
|
83
|
-
"hlink",
|
|
84
|
-
"folHlink",
|
|
85
|
-
"bg1",
|
|
86
|
-
"tx1",
|
|
87
|
-
"bg2",
|
|
88
|
-
"tx2",
|
|
89
|
-
"phClr"
|
|
90
|
-
]),
|
|
91
|
-
lumMod: zod.z.number().optional().describe("Multiply HSL luminance (0..1)"),
|
|
92
|
-
lumOff: zod.z.number().optional().describe("Add to HSL luminance after lumMod (0..1)"),
|
|
93
|
-
tint: zod.z.number().optional().describe("Blend towards white (0..1)"),
|
|
94
|
-
shade: zod.z.number().optional().describe("Blend towards black (0..1)"),
|
|
95
|
-
alpha: zod.z.number().optional().describe("Opacity fraction, 1 = opaque")
|
|
96
|
-
});
|
|
97
|
-
var AddElementSchema = zod.z.object({
|
|
98
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
99
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
100
|
-
type: zod.z.enum(["text", "shape", "image", "table", "connector"]).describe("Element type to add"),
|
|
101
|
-
x: zod.z.number().optional().describe("X position in points"),
|
|
102
|
-
y: zod.z.number().optional().describe("Y position in points"),
|
|
103
|
-
width: zod.z.number().optional().describe("Width in points"),
|
|
104
|
-
height: zod.z.number().optional().describe("Height in points"),
|
|
105
|
-
text: zod.z.string().optional().describe("Text content"),
|
|
106
|
-
fontSize: zod.z.number().optional().describe("Font size in points"),
|
|
107
|
-
fontFamily: zod.z.string().optional().describe("Font family name"),
|
|
108
|
-
fontColor: zod.z.string().optional().describe("Font color (hex)"),
|
|
109
|
-
bold: zod.z.boolean().optional().describe("Bold text"),
|
|
110
|
-
italic: zod.z.boolean().optional().describe("Italic text"),
|
|
111
|
-
underline: zod.z.boolean().optional().describe("Underline text"),
|
|
112
|
-
alignment: zod.z.enum(["left", "center", "right", "justify"]).optional().describe("Text alignment"),
|
|
113
|
-
shapeType: zod.z.string().optional().describe('Shape type (e.g. "rect", "ellipse")'),
|
|
114
|
-
fillColor: zod.z.string().optional().describe("Fill color (hex)"),
|
|
115
|
-
strokeColor: zod.z.string().optional().describe("Stroke color (hex)"),
|
|
116
|
-
strokeWidth: zod.z.number().optional().describe("Stroke width in points"),
|
|
117
|
-
imageData: zod.z.string().optional().describe("Image as base64 data URL"),
|
|
118
|
-
altText: zod.z.string().optional().describe("Alt text for accessibility"),
|
|
119
|
-
rows: zod.z.number().int().min(1).optional().describe("Number of table rows"),
|
|
120
|
-
columns: zod.z.number().int().min(1).optional().describe("Number of table columns"),
|
|
121
|
-
cellData: zod.z.array(zod.z.array(zod.z.string())).optional().describe("Table cell data as 2D array"),
|
|
122
|
-
headerRow: zod.z.boolean().optional().describe("Style first row as header"),
|
|
123
|
-
startArrow: zod.z.string().optional().describe("Start arrow type"),
|
|
124
|
-
endArrow: zod.z.string().optional().describe("End arrow type"),
|
|
125
|
-
startShapeId: zod.z.string().optional().describe("Connect start to shape ID"),
|
|
126
|
-
endShapeId: zod.z.string().optional().describe("Connect end to shape ID")
|
|
127
|
-
});
|
|
128
|
-
var UpdateElementSchema = zod.z.object({
|
|
129
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
130
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
131
|
-
elementId: zod.z.string().describe("Element ID to update"),
|
|
132
|
-
x: zod.z.number().optional(),
|
|
133
|
-
y: zod.z.number().optional(),
|
|
134
|
-
width: zod.z.number().optional(),
|
|
135
|
-
height: zod.z.number().optional(),
|
|
136
|
-
rotation: zod.z.number().optional(),
|
|
137
|
-
text: zod.z.string().optional(),
|
|
138
|
-
textSegments: zod.z.array(
|
|
139
|
-
zod.z.object({
|
|
140
|
-
text: zod.z.string(),
|
|
141
|
-
style: zod.z.record(zod.z.string(), zod.z.any())
|
|
142
|
-
}).passthrough()
|
|
143
|
-
).optional().describe(
|
|
144
|
-
"Rich text segments, including paragraph and bullet metadata. Takes precedence over text."
|
|
145
|
-
),
|
|
146
|
-
fontSize: zod.z.number().optional(),
|
|
147
|
-
fontFamily: zod.z.string().optional(),
|
|
148
|
-
fontColor: zod.z.string().optional(),
|
|
149
|
-
/**
|
|
150
|
-
* A theme colour for the run text. Wins on save; resolves `fontColor`
|
|
151
|
-
* immediately when `fontColor` was not also given. Passing `fontColor`
|
|
152
|
-
* alone clears a previously-set text theme colour.
|
|
153
|
-
*/
|
|
154
|
-
fontThemeColor: ThemeColorRefSchema.optional(),
|
|
155
|
-
bold: zod.z.boolean().optional(),
|
|
156
|
-
italic: zod.z.boolean().optional(),
|
|
157
|
-
underline: zod.z.boolean().optional(),
|
|
158
|
-
alignment: zod.z.enum(["left", "center", "right", "justify"]).optional(),
|
|
159
|
-
fillColor: zod.z.string().optional(),
|
|
160
|
-
strokeColor: zod.z.string().optional(),
|
|
161
|
-
strokeWidth: zod.z.number().optional(),
|
|
162
|
-
opacity: zod.z.number().min(0).max(1).optional(),
|
|
163
|
-
hidden: zod.z.boolean().optional(),
|
|
164
|
-
flipH: zod.z.boolean().optional(),
|
|
165
|
-
flipV: zod.z.boolean().optional(),
|
|
166
|
-
altText: zod.z.string().optional().describe(
|
|
167
|
-
"Accessibility description (p:cNvPr/@descr) for image, picture, table, chart, smartArt, ole, media, text, shape and connector elements"
|
|
168
|
-
),
|
|
169
|
-
title: zod.z.string().optional().describe(
|
|
170
|
-
"Accessibility title (p:cNvPr/@title) for table, chart, smartArt, ole, media, text, shape and connector elements (not pictures)"
|
|
171
|
-
)
|
|
172
|
-
});
|
|
173
|
-
var RenameElementSchema = zod.z.object({
|
|
174
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
175
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
176
|
-
elementId: zod.z.string().describe("Element ID to rename"),
|
|
177
|
-
name: zod.z.string().describe("New element name (empty string clears the name)")
|
|
178
|
-
});
|
|
179
|
-
var DeleteElementsSchema = zod.z.object({
|
|
180
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
181
|
-
slideIndex: zod.z.number().int().min(0),
|
|
182
|
-
elementIds: zod.z.array(zod.z.string()).min(1).describe("Element IDs to delete")
|
|
183
|
-
});
|
|
184
|
-
var ArrangeElementsSchema = zod.z.object({
|
|
185
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
186
|
-
slideIndex: zod.z.number().int().min(0),
|
|
187
|
-
action: zod.z.enum(["align", "reorderLayer"]),
|
|
188
|
-
elementIds: zod.z.array(zod.z.string()).optional().describe("Element IDs (for align)"),
|
|
189
|
-
alignment: zod.z.enum(["left", "right", "top", "bottom", "centerH", "centerV"]).optional(),
|
|
190
|
-
elementId: zod.z.string().optional().describe("Element ID (for reorderLayer)"),
|
|
191
|
-
layerAction: zod.z.enum(["bringForward", "sendBackward", "bringToFront", "sendToBack"]).optional()
|
|
192
|
-
});
|
|
193
|
-
var CloneElementSchema = zod.z.object({
|
|
194
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
195
|
-
slideIndex: zod.z.number().int().min(0),
|
|
196
|
-
elementId: zod.z.string(),
|
|
197
|
-
targetSlideIndexes: zod.z.array(zod.z.number().int().min(0)).optional(),
|
|
198
|
-
offsetX: zod.z.number().optional(),
|
|
199
|
-
offsetY: zod.z.number().optional()
|
|
200
|
-
});
|
|
201
|
-
var SetElementAnimationSchema = zod.z.object({
|
|
202
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
203
|
-
slideIndex: zod.z.number().int().min(0),
|
|
204
|
-
elementId: zod.z.string(),
|
|
205
|
-
entrance: zod.z.string().optional(),
|
|
206
|
-
exit: zod.z.string().optional(),
|
|
207
|
-
durationMs: zod.z.number().optional(),
|
|
208
|
-
delayMs: zod.z.number().optional(),
|
|
209
|
-
order: zod.z.number().optional()
|
|
210
|
-
});
|
|
211
|
-
var GroupElementsSchema = zod.z.object({
|
|
212
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
213
|
-
slideIndex: zod.z.number().int().min(0),
|
|
214
|
-
elementIds: zod.z.array(zod.z.string()).min(2).describe("At least 2 element IDs to group")
|
|
215
|
-
});
|
|
216
|
-
var UngroupElementsSchema = zod.z.object({
|
|
217
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
218
|
-
slideIndex: zod.z.number().int().min(0),
|
|
219
|
-
groupElementId: zod.z.string().describe("Group element ID to ungroup")
|
|
220
|
-
});
|
|
221
|
-
var BatchUpdateElementsSchema = zod.z.object({
|
|
222
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
223
|
-
slideIndex: zod.z.number().int().min(0),
|
|
224
|
-
elementIds: zod.z.array(zod.z.string()).min(1),
|
|
225
|
-
x: zod.z.number().optional(),
|
|
226
|
-
y: zod.z.number().optional(),
|
|
227
|
-
width: zod.z.number().optional(),
|
|
228
|
-
height: zod.z.number().optional(),
|
|
229
|
-
rotation: zod.z.number().optional(),
|
|
230
|
-
opacity: zod.z.number().min(0).max(1).optional(),
|
|
231
|
-
hidden: zod.z.boolean().optional()
|
|
232
|
-
});
|
|
233
|
-
var ThemeColorRefSchema2 = zod.z.object({
|
|
234
|
-
scheme: zod.z.enum([
|
|
235
|
-
"dk1",
|
|
236
|
-
"lt1",
|
|
237
|
-
"dk2",
|
|
238
|
-
"lt2",
|
|
239
|
-
"accent1",
|
|
240
|
-
"accent2",
|
|
241
|
-
"accent3",
|
|
242
|
-
"accent4",
|
|
243
|
-
"accent5",
|
|
244
|
-
"accent6",
|
|
245
|
-
"hlink",
|
|
246
|
-
"folHlink",
|
|
247
|
-
"bg1",
|
|
248
|
-
"tx1",
|
|
249
|
-
"bg2",
|
|
250
|
-
"tx2",
|
|
251
|
-
"phClr"
|
|
252
|
-
]),
|
|
253
|
-
lumMod: zod.z.number().optional().describe("Multiply HSL luminance (0..1)"),
|
|
254
|
-
lumOff: zod.z.number().optional().describe("Add to HSL luminance after lumMod (0..1)"),
|
|
255
|
-
tint: zod.z.number().optional().describe("Blend towards white (0..1)"),
|
|
256
|
-
shade: zod.z.number().optional().describe("Blend towards black (0..1)"),
|
|
257
|
-
alpha: zod.z.number().optional().describe("Opacity fraction, 1 = opaque")
|
|
258
|
-
});
|
|
259
|
-
var UpdateTableCellsSchema = zod.z.object({
|
|
260
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
261
|
-
slideIndex: zod.z.number().int().min(0),
|
|
262
|
-
elementId: zod.z.string().describe("Table element ID"),
|
|
263
|
-
cells: zod.z.array(
|
|
264
|
-
zod.z.object({
|
|
265
|
-
row: zod.z.number().int().min(0),
|
|
266
|
-
col: zod.z.number().int().min(0),
|
|
267
|
-
text: zod.z.string()
|
|
268
|
-
})
|
|
269
|
-
).min(1).describe("Cells to update")
|
|
270
|
-
});
|
|
271
|
-
var ManageTableStructureSchema = zod.z.object({
|
|
272
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
273
|
-
slideIndex: zod.z.number().int().min(0),
|
|
274
|
-
elementId: zod.z.string().describe("Table element ID"),
|
|
275
|
-
action: zod.z.enum(["insertRow", "deleteRow", "insertColumn", "deleteColumn"]),
|
|
276
|
-
position: zod.z.number().int().min(0).optional().describe("Insertion position index"),
|
|
277
|
-
referenceIndex: zod.z.number().int().min(0).optional(),
|
|
278
|
-
cellTexts: zod.z.array(zod.z.string()).optional()
|
|
279
|
-
});
|
|
280
|
-
var UpdateElementStyleSchema = zod.z.object({
|
|
281
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
282
|
-
slideIndex: zod.z.number().int().min(0),
|
|
283
|
-
elementId: zod.z.string(),
|
|
284
|
-
fillColor: zod.z.string().optional(),
|
|
285
|
-
/**
|
|
286
|
-
* A theme colour for the fill (e.g. `{ scheme: 'accent1', lumMod: 0.8 }`
|
|
287
|
-
* for "Accent 1, Lighter 80%"). When set, the shape saves as
|
|
288
|
-
* `<a:schemeClr>` and keeps following the theme after a later theme
|
|
289
|
-
* change, instead of freezing today's resolved hex. Setting `fillColor`
|
|
290
|
-
* without this clears any previously-set fill theme colour.
|
|
291
|
-
*/
|
|
292
|
-
fillThemeColor: ThemeColorRefSchema2.optional(),
|
|
293
|
-
fillMode: zod.z.string().optional(),
|
|
294
|
-
fillGradientStops: zod.z.array(
|
|
295
|
-
zod.z.object({
|
|
296
|
-
color: zod.z.string(),
|
|
297
|
-
position: zod.z.number(),
|
|
298
|
-
opacity: zod.z.number().optional()
|
|
299
|
-
})
|
|
300
|
-
).optional(),
|
|
301
|
-
fillGradientAngle: zod.z.number().optional(),
|
|
302
|
-
fillGradientType: zod.z.string().optional(),
|
|
303
|
-
fillOpacity: zod.z.number().optional(),
|
|
304
|
-
strokeColor: zod.z.string().optional(),
|
|
305
|
-
/** A theme colour for the outline; see `fillThemeColor` above. */
|
|
306
|
-
strokeThemeColor: ThemeColorRefSchema2.optional(),
|
|
307
|
-
strokeWidth: zod.z.number().optional(),
|
|
308
|
-
strokeDash: zod.z.string().optional(),
|
|
309
|
-
strokeOpacity: zod.z.number().optional(),
|
|
310
|
-
shadowColor: zod.z.string().optional(),
|
|
311
|
-
shadowBlur: zod.z.number().optional(),
|
|
312
|
-
shadowOffsetX: zod.z.number().optional(),
|
|
313
|
-
shadowOffsetY: zod.z.number().optional(),
|
|
314
|
-
shadowOpacity: zod.z.number().optional(),
|
|
315
|
-
glowColor: zod.z.string().optional(),
|
|
316
|
-
glowRadius: zod.z.number().optional(),
|
|
317
|
-
glowOpacity: zod.z.number().optional(),
|
|
318
|
-
softEdgeRadius: zod.z.number().optional(),
|
|
319
|
-
cropLeft: zod.z.number().optional(),
|
|
320
|
-
cropTop: zod.z.number().optional(),
|
|
321
|
-
cropRight: zod.z.number().optional(),
|
|
322
|
-
cropBottom: zod.z.number().optional(),
|
|
323
|
-
brightness: zod.z.number().optional(),
|
|
324
|
-
contrast: zod.z.number().optional(),
|
|
325
|
-
grayscale: zod.z.boolean().optional(),
|
|
326
|
-
altText: zod.z.string().optional().describe(
|
|
327
|
-
"Accessibility description (p:cNvPr/@descr) for image, picture, table, chart, smartArt, ole, media, text, shape and connector elements"
|
|
328
|
-
),
|
|
329
|
-
title: zod.z.string().optional().describe(
|
|
330
|
-
"Accessibility title (p:cNvPr/@title) for table, chart, smartArt, ole, media, text, shape and connector elements (not pictures)"
|
|
331
|
-
)
|
|
332
|
-
});
|
|
333
|
-
var FindTextSchema = zod.z.object({
|
|
334
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
335
|
-
query: zod.z.string().describe("Text to search for"),
|
|
336
|
-
useRegex: zod.z.boolean().optional().describe("Treat query as regex"),
|
|
337
|
-
caseSensitive: zod.z.boolean().optional().describe("Case-sensitive search"),
|
|
338
|
-
slideIndexes: zod.z.array(zod.z.number().int().min(0)).optional().describe("Limit search to specific slides")
|
|
339
|
-
});
|
|
340
|
-
var ReplaceTextSchema = zod.z.object({
|
|
341
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
342
|
-
query: zod.z.string().describe("Text to find"),
|
|
343
|
-
replacement: zod.z.string().describe("Replacement text"),
|
|
344
|
-
useRegex: zod.z.boolean().optional(),
|
|
345
|
-
caseSensitive: zod.z.boolean().optional(),
|
|
346
|
-
slideIndexes: zod.z.array(zod.z.number().int().min(0)).optional()
|
|
347
|
-
});
|
|
348
|
-
var ManageCommentsSchema = zod.z.object({
|
|
349
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
350
|
-
action: zod.z.enum(["list", "add", "delete", "resolve"]),
|
|
351
|
-
slideIndex: zod.z.number().int().min(0).optional(),
|
|
352
|
-
text: zod.z.string().optional(),
|
|
353
|
-
author: zod.z.string().optional(),
|
|
354
|
-
commentId: zod.z.string().optional(),
|
|
355
|
-
resolved: zod.z.boolean().optional(),
|
|
356
|
-
includeResolved: zod.z.boolean().optional()
|
|
357
|
-
});
|
|
358
|
-
var TABLE_STYLE_SECTIONS = [
|
|
359
|
-
"wholeTbl",
|
|
360
|
-
"band1H",
|
|
361
|
-
"band2H",
|
|
362
|
-
"band1V",
|
|
363
|
-
"band2V",
|
|
364
|
-
"lastCol",
|
|
365
|
-
"firstCol",
|
|
366
|
-
"lastRow",
|
|
367
|
-
"seCell",
|
|
368
|
-
"swCell",
|
|
369
|
-
"firstRow",
|
|
370
|
-
"neCell",
|
|
371
|
-
"nwCell"
|
|
372
|
-
];
|
|
373
|
-
var TableStyleSimpleColorSchema = zod.z.object({
|
|
374
|
-
schemeColor: zod.z.string().describe('Theme colour key (e.g. "accent1"), or "" for a non-scheme fill'),
|
|
375
|
-
tint: zod.z.number().optional().describe("0-100000"),
|
|
376
|
-
shade: zod.z.number().optional().describe("0-100000"),
|
|
377
|
-
color: zod.z.string().optional().describe('Explicit hex colour, e.g. "#FF8800"')
|
|
378
|
-
});
|
|
379
|
-
var TableStyleFillSchema = zod.z.object({
|
|
380
|
-
schemeColor: zod.z.string(),
|
|
381
|
-
tint: zod.z.number().optional(),
|
|
382
|
-
shade: zod.z.number().optional(),
|
|
383
|
-
color: zod.z.string().optional(),
|
|
384
|
-
noFill: zod.z.boolean().optional(),
|
|
385
|
-
gradient: zod.z.object({
|
|
386
|
-
type: zod.z.enum(["linear", "radial"]),
|
|
387
|
-
angle: zod.z.number().optional(),
|
|
388
|
-
stops: zod.z.array(zod.z.object({ position: zod.z.number(), fill: TableStyleSimpleColorSchema }))
|
|
389
|
-
}).optional(),
|
|
390
|
-
pattern: zod.z.object({
|
|
391
|
-
preset: zod.z.string(),
|
|
392
|
-
foreground: TableStyleSimpleColorSchema.optional(),
|
|
393
|
-
background: TableStyleSimpleColorSchema.optional()
|
|
394
|
-
}).optional(),
|
|
395
|
-
image: zod.z.object({ path: zod.z.string().optional(), data: zod.z.string().optional() }).optional()
|
|
396
|
-
});
|
|
397
|
-
var TableStyleTextSchema = zod.z.object({
|
|
398
|
-
bold: zod.z.boolean().optional(),
|
|
399
|
-
italic: zod.z.boolean().optional(),
|
|
400
|
-
underline: zod.z.boolean().optional(),
|
|
401
|
-
fontSchemeColor: zod.z.string().optional(),
|
|
402
|
-
fontTint: zod.z.number().optional(),
|
|
403
|
-
fontShade: zod.z.number().optional(),
|
|
404
|
-
fontColor: zod.z.string().optional(),
|
|
405
|
-
fontFace: zod.z.string().optional(),
|
|
406
|
-
fontRefIdx: zod.z.string().optional()
|
|
407
|
-
});
|
|
408
|
-
var TableStyleBorderSideSchema = zod.z.object({
|
|
409
|
-
width: zod.z.number().optional(),
|
|
410
|
-
dash: zod.z.string().optional(),
|
|
411
|
-
fill: TableStyleSimpleColorSchema.optional(),
|
|
412
|
-
color: zod.z.string().optional(),
|
|
413
|
-
noFill: zod.z.boolean().optional()
|
|
414
|
-
});
|
|
415
|
-
var TableStyleBordersSchema = zod.z.object({
|
|
416
|
-
left: TableStyleBorderSideSchema.optional(),
|
|
417
|
-
right: TableStyleBorderSideSchema.optional(),
|
|
418
|
-
top: TableStyleBorderSideSchema.optional(),
|
|
419
|
-
bottom: TableStyleBorderSideSchema.optional(),
|
|
420
|
-
insideH: TableStyleBorderSideSchema.optional(),
|
|
421
|
-
insideV: TableStyleBorderSideSchema.optional(),
|
|
422
|
-
tl2br: TableStyleBorderSideSchema.optional(),
|
|
423
|
-
tr2bl: TableStyleBorderSideSchema.optional()
|
|
424
|
-
});
|
|
425
|
-
var TableStyleCell3DSchema = zod.z.object({
|
|
426
|
-
bevelWidth: zod.z.number().optional(),
|
|
427
|
-
bevelHeight: zod.z.number().optional(),
|
|
428
|
-
bevelPreset: zod.z.string().optional(),
|
|
429
|
-
material: zod.z.string().optional(),
|
|
430
|
-
lightRig: zod.z.string().optional(),
|
|
431
|
-
lightRigDirection: zod.z.string().optional()
|
|
432
|
-
});
|
|
433
|
-
var SetTableStyleSectionSchema = zod.z.object({
|
|
434
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
435
|
-
styleId: zod.z.string().describe('Table style GUID, e.g. "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}"'),
|
|
436
|
-
section: zod.z.enum(TABLE_STYLE_SECTIONS).describe("Which of the 13 CT_TableStyle parts to patch"),
|
|
437
|
-
styleName: zod.z.string().optional().describe("Rename the style"),
|
|
438
|
-
fill: TableStyleFillSchema.optional(),
|
|
439
|
-
text: TableStyleTextSchema.optional(),
|
|
440
|
-
borders: TableStyleBordersSchema.optional(),
|
|
441
|
-
cell3D: TableStyleCell3DSchema.optional()
|
|
442
|
-
});
|
|
443
|
-
var CreateTableStyleSchema = zod.z.object({
|
|
444
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
445
|
-
styleName: zod.z.string().describe("Display name for the new style"),
|
|
446
|
-
basedOnStyleId: zod.z.string().optional().describe("Deep-clone every section from this existing style GUID as the starting point"),
|
|
447
|
-
setAsDefault: zod.z.boolean().optional().describe("Repoint ppt/tableStyles.xml's default style at the new one")
|
|
448
|
-
});
|
|
449
|
-
var DeleteTableStyleSchema = zod.z.object({
|
|
450
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
451
|
-
styleId: zod.z.string().describe("Table style GUID to remove"),
|
|
452
|
-
force: zod.z.boolean().optional().describe("Delete even though a table on this deck still references the style")
|
|
453
|
-
});
|
|
454
|
-
var AssignTableStyleSchema = zod.z.object({
|
|
455
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
456
|
-
slideIndex: zod.z.number().int().min(0),
|
|
457
|
-
elementId: zod.z.string().describe("Table element ID"),
|
|
458
|
-
styleId: zod.z.string().optional().describe(
|
|
459
|
-
"Table style GUID to assign. Defaults to the presentation's current default table style when omitted."
|
|
460
|
-
),
|
|
461
|
-
bandedRows: zod.z.boolean().optional(),
|
|
462
|
-
bandedColumns: zod.z.boolean().optional(),
|
|
463
|
-
firstRowHeader: zod.z.boolean().optional(),
|
|
464
|
-
lastRow: zod.z.boolean().optional(),
|
|
465
|
-
firstCol: zod.z.boolean().optional(),
|
|
466
|
-
lastCol: zod.z.boolean().optional()
|
|
467
|
-
});
|
|
468
|
-
var GetThemeInfoSchema = zod.z.object({
|
|
469
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
470
|
-
});
|
|
471
|
-
var ApplyThemePresetSchema = zod.z.object({
|
|
472
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
473
|
-
presetName: zod.z.string().describe(
|
|
474
|
-
'Theme preset name (e.g. "OFFICE", "MODERN_BLUE", "EARTH", "MONOCHROME", "VIBRANT", "CORPORATE", "MINIMAL", "DARK")'
|
|
475
|
-
)
|
|
476
|
-
});
|
|
477
|
-
var UpdateThemeColorsSchema = zod.z.object({
|
|
478
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
479
|
-
dk1: zod.z.string().optional().describe("Dark 1 color (hex)"),
|
|
480
|
-
lt1: zod.z.string().optional().describe("Light 1 color (hex)"),
|
|
481
|
-
dk2: zod.z.string().optional().describe("Dark 2 color (hex)"),
|
|
482
|
-
lt2: zod.z.string().optional().describe("Light 2 color (hex)"),
|
|
483
|
-
accent1: zod.z.string().optional().describe("Accent 1 color (hex)"),
|
|
484
|
-
accent2: zod.z.string().optional().describe("Accent 2 color (hex)"),
|
|
485
|
-
accent3: zod.z.string().optional().describe("Accent 3 color (hex)"),
|
|
486
|
-
accent4: zod.z.string().optional().describe("Accent 4 color (hex)"),
|
|
487
|
-
accent5: zod.z.string().optional().describe("Accent 5 color (hex)"),
|
|
488
|
-
accent6: zod.z.string().optional().describe("Accent 6 color (hex)"),
|
|
489
|
-
hlink: zod.z.string().optional().describe("Hyperlink color (hex)"),
|
|
490
|
-
folHlink: zod.z.string().optional().describe("Followed hyperlink color (hex)")
|
|
491
|
-
});
|
|
492
|
-
var UpdateThemeFontsSchema = zod.z.object({
|
|
493
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
494
|
-
majorFont: zod.z.string().optional().describe("Heading (major) font family"),
|
|
495
|
-
minorFont: zod.z.string().optional().describe("Body (minor) font family")
|
|
496
|
-
});
|
|
497
|
-
var MarkerSymbolSchema = zod.z.enum([
|
|
498
|
-
"circle",
|
|
499
|
-
"dash",
|
|
500
|
-
"diamond",
|
|
501
|
-
"dot",
|
|
502
|
-
"none",
|
|
503
|
-
"picture",
|
|
504
|
-
"plus",
|
|
505
|
-
"square",
|
|
506
|
-
"star",
|
|
507
|
-
"triangle",
|
|
508
|
-
"x",
|
|
509
|
-
"auto"
|
|
510
|
-
]);
|
|
511
|
-
var DataLabelPositionSchema = zod.z.enum([
|
|
512
|
-
"bestFit",
|
|
513
|
-
"b",
|
|
514
|
-
"ctr",
|
|
515
|
-
"inBase",
|
|
516
|
-
"inEnd",
|
|
517
|
-
"l",
|
|
518
|
-
"outEnd",
|
|
519
|
-
"r",
|
|
520
|
-
"t"
|
|
521
|
-
]);
|
|
522
|
-
var FormatChartDataPointSchema = zod.z.object({
|
|
523
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
524
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
525
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
526
|
-
seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index"),
|
|
527
|
-
pointIndex: zod.z.number().int().min(0).describe("Zero-based data point (category) index"),
|
|
528
|
-
fillColor: zod.z.string().optional().describe("Fill colour (hex) for this point only"),
|
|
529
|
-
strokeColor: zod.z.string().optional().describe("Outline colour (hex) for this point only"),
|
|
530
|
-
strokeWidth: zod.z.number().optional().describe("Outline width in points"),
|
|
531
|
-
strokeDashStyle: zod.z.string().optional().describe("Outline dash style, e.g. solid, dash, dashDot, sysDot"),
|
|
532
|
-
clearStyle: zod.z.boolean().optional().describe("Remove all per-point shape formatting"),
|
|
533
|
-
explosion: zod.z.number().nullable().optional().describe("Pie/doughnut slice pull-out distance 0-100; null clears it"),
|
|
534
|
-
marker: zod.z.object({
|
|
535
|
-
symbol: MarkerSymbolSchema.optional(),
|
|
536
|
-
size: zod.z.number().optional(),
|
|
537
|
-
fillColor: zod.z.string().optional()
|
|
538
|
-
}).nullable().optional().describe("Per-point marker override (line/scatter/bubble); null clears it")
|
|
539
|
-
});
|
|
540
|
-
var FormatChartDataLabelSchema = zod.z.object({
|
|
541
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
542
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
543
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
544
|
-
seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index"),
|
|
545
|
-
pointIndex: zod.z.number().int().min(0).describe("Zero-based data point (category) index"),
|
|
546
|
-
remove: zod.z.boolean().optional().describe("Remove the per-point label override entirely"),
|
|
547
|
-
showValue: zod.z.boolean().optional(),
|
|
548
|
-
showCategory: zod.z.boolean().optional(),
|
|
549
|
-
showSeriesName: zod.z.boolean().optional(),
|
|
550
|
-
showPercent: zod.z.boolean().optional(),
|
|
551
|
-
showLegendKey: zod.z.boolean().optional(),
|
|
552
|
-
position: DataLabelPositionSchema.optional(),
|
|
553
|
-
text: zod.z.string().optional().describe("Custom label text override; '' clears it"),
|
|
554
|
-
spPr: zod.z.object({
|
|
555
|
-
fillColor: zod.z.string().optional(),
|
|
556
|
-
strokeColor: zod.z.string().optional(),
|
|
557
|
-
strokeWidth: zod.z.number().optional(),
|
|
558
|
-
strokeDashStyle: zod.z.string().optional()
|
|
559
|
-
}).nullable().optional().describe("This label's own fill/line formatting; null removes it"),
|
|
560
|
-
txPr: zod.z.object({
|
|
561
|
-
fontFamily: zod.z.string().optional(),
|
|
562
|
-
fontSize: zod.z.number().optional(),
|
|
563
|
-
bold: zod.z.boolean().optional(),
|
|
564
|
-
italic: zod.z.boolean().optional(),
|
|
565
|
-
color: zod.z.string().optional()
|
|
566
|
-
}).nullable().optional().describe("This label's own font; null removes it")
|
|
567
|
-
});
|
|
568
|
-
var FormatChartSeriesSchema = zod.z.object({
|
|
569
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
570
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
571
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
572
|
-
seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index"),
|
|
573
|
-
marker: zod.z.object({
|
|
574
|
-
symbol: MarkerSymbolSchema.optional(),
|
|
575
|
-
size: zod.z.number().optional(),
|
|
576
|
-
fillColor: zod.z.string().optional(),
|
|
577
|
-
strokeColor: zod.z.string().optional(),
|
|
578
|
-
strokeWidth: zod.z.number().optional(),
|
|
579
|
-
strokeDashStyle: zod.z.string().optional()
|
|
580
|
-
}).nullable().optional().describe("Series marker (line/scatter/bubble/radar); null removes it"),
|
|
581
|
-
trendline: zod.z.object({
|
|
582
|
-
trendlineType: zod.z.enum([
|
|
583
|
-
"linear",
|
|
584
|
-
"exponential",
|
|
585
|
-
"logarithmic",
|
|
586
|
-
"polynomial",
|
|
587
|
-
"power",
|
|
588
|
-
"movingAvg"
|
|
589
|
-
]),
|
|
590
|
-
color: zod.z.string().optional(),
|
|
591
|
-
lineWidth: zod.z.number().optional().describe("Trendline width in points"),
|
|
592
|
-
lineDashStyle: zod.z.string().optional(),
|
|
593
|
-
order: zod.z.number().optional().describe("Polynomial order, 2-6"),
|
|
594
|
-
period: zod.z.number().optional().describe("Moving-average period"),
|
|
595
|
-
displayEq: zod.z.boolean().optional(),
|
|
596
|
-
displayRSq: zod.z.boolean().optional()
|
|
597
|
-
}).nullable().optional().describe("Series trendline; null removes it"),
|
|
598
|
-
errorBars: zod.z.object({
|
|
599
|
-
direction: zod.z.enum(["x", "y"]),
|
|
600
|
-
barType: zod.z.enum(["both", "minus", "plus"]),
|
|
601
|
-
valType: zod.z.enum(["cust", "fixedVal", "percentage", "stdDev", "stdErr"]),
|
|
602
|
-
val: zod.z.number().optional(),
|
|
603
|
-
customPlus: zod.z.array(zod.z.number()).optional(),
|
|
604
|
-
customMinus: zod.z.array(zod.z.number()).optional(),
|
|
605
|
-
noEndCap: zod.z.boolean().optional(),
|
|
606
|
-
color: zod.z.string().optional(),
|
|
607
|
-
width: zod.z.number().optional().describe("Error-bar line width in points"),
|
|
608
|
-
dashStyle: zod.z.string().optional()
|
|
609
|
-
}).nullable().optional().describe("Series error bars; null removes them")
|
|
610
|
-
});
|
|
611
|
-
var SetChartHelperLineSchema = zod.z.object({
|
|
612
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
613
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
614
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
615
|
-
line: zod.z.enum(["dropLines", "hiLowLines"]).describe("Which helper line to set"),
|
|
616
|
-
style: zod.z.object({
|
|
617
|
-
color: zod.z.string().optional(),
|
|
618
|
-
width: zod.z.number().optional(),
|
|
619
|
-
dashStyle: zod.z.string().optional()
|
|
620
|
-
}).nullable().describe("Line colour/width/dash; {} shows the line with defaults, null removes it")
|
|
621
|
-
});
|
|
622
|
-
var SetChartColorMapOverrideSchema = zod.z.object({
|
|
623
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
624
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
625
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
626
|
-
overrides: zod.z.record(zod.z.string(), zod.z.string()).nullable().describe(
|
|
627
|
-
'Theme colour role remap (bg1/tx1/bg2/tx2/accent1-6/hlink/folHlink -> role), e.g. { "accent1": "accent2" }; null removes the override'
|
|
628
|
-
)
|
|
629
|
-
});
|
|
630
|
-
var UpdateChartSchema = zod.z.object({
|
|
631
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
632
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
633
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
634
|
-
chartType: zod.z.string().optional().describe(
|
|
635
|
-
'New chart type (bar, line, pie, scatter, area, doughnut, radar, histogram, waterfall, funnel, treemap, sunburst, boxWhisker, regionMap). "pareto" is also accepted: it is authored as a histogram chart with an added cumulative-percentage line series.'
|
|
636
|
-
),
|
|
637
|
-
title: zod.z.string().optional().describe("Chart title"),
|
|
638
|
-
grouping: zod.z.enum(["clustered", "stacked", "percentStacked"]).optional().describe("Bar/column grouping"),
|
|
639
|
-
legend: zod.z.object({
|
|
640
|
-
show: zod.z.boolean().optional(),
|
|
641
|
-
position: zod.z.string().optional().describe("Legend position: b, t, l, r, tr")
|
|
642
|
-
}).optional().describe("Legend configuration"),
|
|
643
|
-
dataLabels: zod.z.object({
|
|
644
|
-
show: zod.z.boolean().optional(),
|
|
645
|
-
showValue: zod.z.boolean().optional(),
|
|
646
|
-
showCategory: zod.z.boolean().optional(),
|
|
647
|
-
showSeriesName: zod.z.boolean().optional(),
|
|
648
|
-
showPercent: zod.z.boolean().optional()
|
|
649
|
-
}).optional().describe("Data label configuration"),
|
|
650
|
-
axis: zod.z.object({
|
|
651
|
-
type: zod.z.string().describe("Axis type: valAx, catAx, dateAx, serAx"),
|
|
652
|
-
edit: zod.z.object({
|
|
653
|
-
min: zod.z.number().nullable().optional(),
|
|
654
|
-
max: zod.z.number().nullable().optional(),
|
|
655
|
-
majorUnit: zod.z.number().nullable().optional(),
|
|
656
|
-
title: zod.z.string().nullable().optional(),
|
|
657
|
-
numberFormat: zod.z.string().optional(),
|
|
658
|
-
majorGridlines: zod.z.boolean().optional(),
|
|
659
|
-
minorGridlines: zod.z.boolean().optional()
|
|
660
|
-
})
|
|
661
|
-
}).optional().describe("Axis configuration"),
|
|
662
|
-
categories: zod.z.array(zod.z.string()).optional().describe("Category axis labels")
|
|
663
|
-
});
|
|
664
|
-
var AddChartSeriesSchema = zod.z.object({
|
|
665
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
666
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
667
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
668
|
-
name: zod.z.string().describe("Series name"),
|
|
669
|
-
values: zod.z.array(zod.z.number()).describe("Data values"),
|
|
670
|
-
color: zod.z.string().optional().describe("Series color (hex)")
|
|
671
|
-
});
|
|
672
|
-
var RemoveChartSeriesSchema = zod.z.object({
|
|
673
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
674
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
675
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
676
|
-
seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index to remove")
|
|
677
|
-
});
|
|
678
|
-
var UpdateChartSeriesDataSchema = zod.z.object({
|
|
679
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
680
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
681
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
682
|
-
seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index"),
|
|
683
|
-
values: zod.z.array(zod.z.number()).describe("New data values")
|
|
684
|
-
});
|
|
685
|
-
var CreateChartSchema = zod.z.object({
|
|
686
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
687
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
688
|
-
chartType: zod.z.string().describe(
|
|
689
|
-
'Chart type (bar, line, pie, scatter, area, doughnut, radar, histogram, waterfall, funnel, treemap, sunburst, boxWhisker, regionMap). "pareto" is also accepted: it is authored as a histogram chart with an added cumulative-percentage line series.'
|
|
690
|
-
),
|
|
691
|
-
x: zod.z.number().optional().describe("X position in points"),
|
|
692
|
-
y: zod.z.number().optional().describe("Y position in points"),
|
|
693
|
-
width: zod.z.number().optional().describe("Width in points"),
|
|
694
|
-
height: zod.z.number().optional().describe("Height in points"),
|
|
695
|
-
title: zod.z.string().optional().describe("Chart title"),
|
|
696
|
-
categories: zod.z.array(zod.z.string()).optional().describe("Category labels"),
|
|
697
|
-
series: zod.z.array(
|
|
698
|
-
zod.z.object({
|
|
699
|
-
name: zod.z.string(),
|
|
700
|
-
values: zod.z.array(zod.z.number()),
|
|
701
|
-
color: zod.z.string().optional()
|
|
702
|
-
})
|
|
703
|
-
).optional().describe("Data series"),
|
|
704
|
-
legend: zod.z.object({
|
|
705
|
-
show: zod.z.boolean(),
|
|
706
|
-
position: zod.z.string().optional()
|
|
707
|
-
}).optional().describe("Legend configuration")
|
|
708
|
-
});
|
|
709
|
-
var PointSchema = zod.z.object({ x: zod.z.number(), y: zod.z.number() });
|
|
710
|
-
var ExtentSchema = zod.z.object({ cx: zod.z.number(), cy: zod.z.number() });
|
|
711
|
-
var ChartUserShapeInputSchema = zod.z.object({
|
|
712
|
-
kind: zod.z.enum(["sp", "cxnSp"]).optional().describe('Overlay shape kind: "sp" (text/preset shape, default) or "cxnSp" (connector).'),
|
|
713
|
-
anchor: zod.z.enum(["rel", "abs"]).optional().describe(
|
|
714
|
-
'Anchor kind: "rel" (default, resizes with the chart; needs `to`) or "abs" (fixed EMU size; needs `ext`).'
|
|
715
|
-
),
|
|
716
|
-
from: PointSchema.describe("Top-left corner as chart-relative fractions (0-1 each)."),
|
|
717
|
-
to: PointSchema.optional().describe(
|
|
718
|
-
"Bottom-right corner as chart-relative fractions; rel anchors only."
|
|
719
|
-
),
|
|
720
|
-
ext: ExtentSchema.optional().describe("Width/height in EMU; abs anchors only."),
|
|
721
|
-
prst: zod.z.string().optional().describe('Preset geometry name (e.g. "rect", "roundRect"); default "rect".'),
|
|
722
|
-
fill: zod.z.string().optional().describe('Solid fill colour, hex (e.g. "#FFFF00").'),
|
|
723
|
-
stroke: zod.z.string().optional().describe("Line colour, hex."),
|
|
724
|
-
strokeWidth: zod.z.number().optional().describe("Line width in points."),
|
|
725
|
-
text: zod.z.string().optional().describe("Plain text content, centred in the shape.")
|
|
726
|
-
});
|
|
727
|
-
var ListChartUserShapesSchema = zod.z.object({
|
|
728
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
729
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
730
|
-
elementId: zod.z.string().describe("Chart element ID")
|
|
731
|
-
});
|
|
732
|
-
var AddChartUserShapeSchema = zod.z.object({
|
|
733
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
734
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
735
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
736
|
-
shape: ChartUserShapeInputSchema.describe("The overlay shape to add.")
|
|
737
|
-
});
|
|
738
|
-
var UpdateChartUserShapeSchema = zod.z.object({
|
|
739
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
740
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
741
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
742
|
-
index: zod.z.number().int().min(0).describe("Zero-based overlay-shape index (from chart_user_shape_list)"),
|
|
743
|
-
patch: ChartUserShapeInputSchema.partial().describe(
|
|
744
|
-
"Fields to overwrite; anything omitted is left as-is."
|
|
745
|
-
)
|
|
746
|
-
});
|
|
747
|
-
var RemoveChartUserShapeSchema = zod.z.object({
|
|
748
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
749
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
750
|
-
elementId: zod.z.string().describe("Chart element ID"),
|
|
751
|
-
index: zod.z.number().int().min(0).describe("Zero-based overlay-shape index to remove")
|
|
752
|
-
});
|
|
753
|
-
var ManageSmartArtSchema = zod.z.object({
|
|
754
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
755
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
756
|
-
elementId: zod.z.string().describe("SmartArt element ID"),
|
|
757
|
-
action: zod.z.enum([
|
|
758
|
-
"getNodes",
|
|
759
|
-
"addNode",
|
|
760
|
-
"removeNode",
|
|
761
|
-
"updateNodeText",
|
|
762
|
-
"reorderNode",
|
|
763
|
-
"promoteNode",
|
|
764
|
-
"demoteNode",
|
|
765
|
-
"decompose"
|
|
766
|
-
]).describe("SmartArt action"),
|
|
767
|
-
nodeId: zod.z.string().optional().describe("Node ID (required for most actions)"),
|
|
768
|
-
text: zod.z.string().optional().describe("Text for addNode or updateNodeText"),
|
|
769
|
-
afterNodeId: zod.z.string().optional().describe("Insert after this node ID"),
|
|
770
|
-
direction: zod.z.number().optional().describe("Reorder direction: 1 (forward) or -1 (backward)")
|
|
771
|
-
});
|
|
772
|
-
var FindPlaceholdersSchema = zod.z.object({
|
|
773
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
774
|
-
});
|
|
775
|
-
var ApplyTemplateSchema = zod.z.object({
|
|
776
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
777
|
-
data: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Template data: keys are placeholder names, values are replacement values")
|
|
778
|
-
});
|
|
779
|
-
var GetMetadataSchema = zod.z.object({
|
|
780
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
781
|
-
});
|
|
782
|
-
var UpdateMetadataSchema = zod.z.object({
|
|
783
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
784
|
-
title: zod.z.string().optional().describe("Presentation title"),
|
|
785
|
-
subject: zod.z.string().optional().describe("Subject"),
|
|
786
|
-
creator: zod.z.string().optional().describe("Creator/author name"),
|
|
787
|
-
keywords: zod.z.string().optional().describe("Keywords (comma-separated)"),
|
|
788
|
-
description: zod.z.string().optional().describe("Description/comments"),
|
|
789
|
-
lastModifiedBy: zod.z.string().optional().describe("Last modified by"),
|
|
790
|
-
category: zod.z.string().optional().describe("Category"),
|
|
791
|
-
company: zod.z.string().optional().describe("Company name"),
|
|
792
|
-
manager: zod.z.string().optional().describe("Manager name"),
|
|
793
|
-
customProperties: zod.z.array(
|
|
794
|
-
zod.z.object({
|
|
795
|
-
name: zod.z.string(),
|
|
796
|
-
value: zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean()])
|
|
797
|
-
})
|
|
798
|
-
).optional().describe("Custom properties to set")
|
|
799
|
-
});
|
|
800
|
-
var ManageSectionsSchema = zod.z.object({
|
|
801
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
802
|
-
action: zod.z.enum(["list", "add", "remove", "reorder", "moveSlides", "getForSlide"]).describe("Section action"),
|
|
803
|
-
name: zod.z.string().optional().describe("Section name (for add)"),
|
|
804
|
-
slideIndices: zod.z.array(zod.z.number().int().min(0)).optional().describe("Slide indices (for add, moveSlides)"),
|
|
805
|
-
sectionId: zod.z.string().optional().describe("Section ID (for remove, moveSlides)"),
|
|
806
|
-
sectionIds: zod.z.array(zod.z.string()).optional().describe("Ordered section IDs (for reorder)"),
|
|
807
|
-
slideIndex: zod.z.number().int().min(0).optional().describe("Slide index (for getForSlide)")
|
|
808
|
-
});
|
|
809
|
-
var ExportToSvgSchema = zod.z.object({
|
|
810
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
811
|
-
slideIndices: zod.z.array(zod.z.number().int().min(0)).optional().describe("Specific slides to export (all if omitted)"),
|
|
812
|
-
includeHidden: zod.z.boolean().optional().describe("Include hidden slides"),
|
|
813
|
-
defaultFontFamily: zod.z.string().optional().describe("Default font family for SVG"),
|
|
814
|
-
defaultFontSize: zod.z.number().optional().describe("Default font size")
|
|
815
|
-
});
|
|
816
|
-
var ExportSlideSvgSchema = zod.z.object({
|
|
817
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
818
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index to export"),
|
|
819
|
-
defaultFontFamily: zod.z.string().optional().describe("Default font family for SVG"),
|
|
820
|
-
defaultFontSize: zod.z.number().optional().describe("Default font size")
|
|
821
|
-
});
|
|
822
|
-
var ExportToJsonSchema = zod.z.object({
|
|
823
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
824
|
-
pretty: zod.z.boolean().optional().describe("Pretty-print the JSON document with 2-space indentation (default true)")
|
|
825
|
-
});
|
|
826
|
-
var ImportFromJsonSchema = zod.z.object({
|
|
827
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
828
|
-
json: zod.z.string().describe("The pptx-viewer-json document text to import (replaces the deck content)")
|
|
829
|
-
});
|
|
830
|
-
var ManageHyperlinksSchema = zod.z.object({
|
|
831
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
832
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
833
|
-
action: zod.z.enum(["list", "set", "remove"]).describe("Hyperlink action"),
|
|
834
|
-
elementId: zod.z.string().optional().describe("Element ID (for set/remove)"),
|
|
835
|
-
trigger: zod.z.enum(["click", "hover"]).optional().describe("Action trigger (default: click)"),
|
|
836
|
-
url: zod.z.string().optional().describe("URL for the hyperlink"),
|
|
837
|
-
tooltip: zod.z.string().optional().describe("Tooltip text"),
|
|
838
|
-
targetSlideIndex: zod.z.number().int().min(0).optional().describe("Target slide index for internal links"),
|
|
839
|
-
actionType: zod.z.enum(["url", "slide", "nextSlide", "prevSlide", "firstSlide", "lastSlide", "endShow"]).optional().describe("Link action type")
|
|
840
|
-
});
|
|
841
|
-
var ReplaceGeometrySchema = zod.z.object({
|
|
842
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
843
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
844
|
-
elementId: zod.z.string().describe("Shape element ID"),
|
|
845
|
-
shapeType: zod.z.string().optional().describe('Preset shape type (e.g. "roundRect", "star5", "ellipse", "diamond")'),
|
|
846
|
-
svgPath: zod.z.string().optional().describe("Custom SVG path data (mutually exclusive with shapeType)"),
|
|
847
|
-
pathWidth: zod.z.number().optional().describe("Width of SVG path coordinate space"),
|
|
848
|
-
pathHeight: zod.z.number().optional().describe("Height of SVG path coordinate space"),
|
|
849
|
-
adjustments: zod.z.record(zod.z.string(), zod.z.number()).optional().describe("Shape adjustment values")
|
|
850
|
-
});
|
|
851
|
-
var SetElementLockSchema = zod.z.object({
|
|
852
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
853
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
854
|
-
elementId: zod.z.string().describe("Element ID to lock/unlock"),
|
|
855
|
-
locked: zod.z.boolean().describe("Whether the element should be locked"),
|
|
856
|
-
noMove: zod.z.boolean().optional().describe("Prevent moving"),
|
|
857
|
-
noResize: zod.z.boolean().optional().describe("Prevent resizing"),
|
|
858
|
-
noRotation: zod.z.boolean().optional().describe("Prevent rotation"),
|
|
859
|
-
noSelect: zod.z.boolean().optional().describe("Prevent selection"),
|
|
860
|
-
noTextEdit: zod.z.boolean().optional().describe("Prevent text editing")
|
|
861
|
-
});
|
|
862
|
-
var ValidatePresentationSchema = zod.z.object({
|
|
863
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
864
|
-
});
|
|
865
|
-
var RepairPresentationSchema = zod.z.object({
|
|
866
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
867
|
-
});
|
|
868
|
-
var GetPresentationPropertiesSchema = zod.z.object({
|
|
869
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
870
|
-
});
|
|
871
|
-
var UpdatePresentationPropertiesSchema = zod.z.object({
|
|
872
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
873
|
-
showType: zod.z.enum(["presented", "browsed", "kiosk"]).optional().describe("Slideshow mode"),
|
|
874
|
-
loopContinuously: zod.z.boolean().optional().describe("Loop the slideshow"),
|
|
875
|
-
showWithNarration: zod.z.boolean().optional().describe("Play narration"),
|
|
876
|
-
showWithAnimation: zod.z.boolean().optional().describe("Play animations"),
|
|
877
|
-
advanceMode: zod.z.enum(["manual", "useTimings"]).optional().describe("Slide advance mode"),
|
|
878
|
-
showSlidesMode: zod.z.enum(["all", "customShow", "range"]).optional().describe("Which slides to show"),
|
|
879
|
-
showSlidesFrom: zod.z.number().int().min(1).optional().describe("Range start (1-based)"),
|
|
880
|
-
showSlidesTo: zod.z.number().int().min(1).optional().describe("Range end (1-based)"),
|
|
881
|
-
penColor: zod.z.string().optional().describe("Annotation pen color (hex)")
|
|
882
|
-
});
|
|
883
|
-
var GetLayoutsSchema = zod.z.object({
|
|
884
|
-
filePath: zod.z.string().describe("Path to the PPTX file")
|
|
885
|
-
});
|
|
886
|
-
var ApplyLayoutSchema = zod.z.object({
|
|
887
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
888
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
889
|
-
layoutName: zod.z.string().optional().describe("Layout name to apply"),
|
|
890
|
-
layoutType: zod.z.string().optional().describe("Layout type to apply (alternative to name)")
|
|
891
|
-
});
|
|
892
|
-
var GetOleContentSchema = zod.z.object({
|
|
893
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
894
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
895
|
-
elementId: zod.z.string().describe("OLE element ID")
|
|
896
|
-
});
|
|
897
|
-
var SetOleSheetCellSchema = zod.z.object({
|
|
898
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
899
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
900
|
-
elementId: zod.z.string().describe("OLE element ID (Excel payload: .xlsx or .xls)"),
|
|
901
|
-
row: zod.z.number().int().min(0).describe("Zero-based row index on the first worksheet"),
|
|
902
|
-
col: zod.z.number().int().min(0).describe("Zero-based column index on the first worksheet"),
|
|
903
|
-
value: zod.z.string().describe("New cell value")
|
|
904
|
-
});
|
|
905
|
-
var SetOleDocumentParagraphSchema = zod.z.object({
|
|
906
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
907
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
908
|
-
elementId: zod.z.string().describe("OLE element ID (Word payload: .docx)"),
|
|
909
|
-
paragraphIndex: zod.z.number().int().min(0).describe("Zero-based paragraph index"),
|
|
910
|
-
text: zod.z.string().describe("New paragraph text")
|
|
911
|
-
});
|
|
912
|
-
var SetOleDeckSlideTitleSchema = zod.z.object({
|
|
913
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
914
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
915
|
-
elementId: zod.z.string().describe("OLE element ID (nested-deck payload: .pptx)"),
|
|
916
|
-
deckSlideIndex: zod.z.number().int().min(0).describe("Zero-based slide index within the nested deck"),
|
|
917
|
-
deckElementId: zod.z.string().describe(
|
|
918
|
-
"ID of the text-bearing shape to edit within the nested slide, from ole_get_content's deckSlides[n].elements[i].elementId"
|
|
919
|
-
),
|
|
920
|
-
title: zod.z.string().describe("New text for the chosen shape")
|
|
921
|
-
});
|
|
922
|
-
var ReplaceOleFileSchema = zod.z.object({
|
|
923
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
924
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
925
|
-
elementId: zod.z.string().describe("OLE element ID"),
|
|
926
|
-
fileData: zod.z.string().describe('New payload as a base64 data URL (e.g. "data:application/pdf;base64,...")'),
|
|
927
|
-
fileName: zod.z.string().optional().describe("Optional new file name (also updates the resolved MIME type)")
|
|
928
|
-
});
|
|
929
|
-
var SetOleObjectNameSchema = zod.z.object({
|
|
930
|
-
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
931
|
-
slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
|
|
932
|
-
elementId: zod.z.string().describe("OLE element ID"),
|
|
933
|
-
name: zod.z.string().describe("New Object Name (p:oleObj/@name); blank/whitespace clears it")
|
|
934
|
-
});
|
|
11
|
+
function _interopNamespace(e) {
|
|
12
|
+
if (e && e.__esModule) return e;
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var schemas_star__namespace = /*#__PURE__*/_interopNamespace(schemas_star);
|
|
30
|
+
|
|
31
|
+
var __defProp = Object.defineProperty;
|
|
32
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
33
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
34
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
35
|
+
var __copyProps = (to, from, except, desc) => {
|
|
36
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
37
|
+
for (let key of __getOwnPropNames(from))
|
|
38
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
39
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
40
|
+
}
|
|
41
|
+
return to;
|
|
42
|
+
};
|
|
43
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
|
|
44
|
+
|
|
45
|
+
// src/schemas/index.ts
|
|
46
|
+
var schemas_exports = {};
|
|
47
|
+
__reExport(schemas_exports, schemas_star__namespace);
|
|
935
48
|
var formatChartDataPoint = automation.apiToolsChartFormattingTools.formatChartDataPoint;
|
|
936
49
|
var formatChartDataLabel = automation.apiToolsChartFormattingTools.formatChartDataLabel;
|
|
937
50
|
var formatChartSeries = automation.apiToolsChartFormattingTools.formatChartSeries;
|
|
@@ -1079,7 +192,7 @@ function registerTools(server, options) {
|
|
|
1079
192
|
"get_slide",
|
|
1080
193
|
{
|
|
1081
194
|
description: "Inspect a single slide: returns layout, notes, elements",
|
|
1082
|
-
inputSchema: GetSlideSchema.shape
|
|
195
|
+
inputSchema: schemas_exports.GetSlideSchema.shape
|
|
1083
196
|
},
|
|
1084
197
|
async (params) => {
|
|
1085
198
|
const result = await runMcpTool2(
|
|
@@ -1100,7 +213,7 @@ function registerTools(server, options) {
|
|
|
1100
213
|
"add_slide",
|
|
1101
214
|
{
|
|
1102
215
|
description: "Add a new blank slide to the presentation",
|
|
1103
|
-
inputSchema: AddSlideSchema.shape
|
|
216
|
+
inputSchema: schemas_exports.AddSlideSchema.shape
|
|
1104
217
|
},
|
|
1105
218
|
async (params) => {
|
|
1106
219
|
const result = await runMcpTool2(params.filePath, (ctx) => addSlide(ctx, params));
|
|
@@ -1118,7 +231,7 @@ function registerTools(server, options) {
|
|
|
1118
231
|
"delete_slides",
|
|
1119
232
|
{
|
|
1120
233
|
description: "Delete one or more slides by index",
|
|
1121
|
-
inputSchema: DeleteSlidesSchema.shape
|
|
234
|
+
inputSchema: schemas_exports.DeleteSlidesSchema.shape
|
|
1122
235
|
},
|
|
1123
236
|
async (params) => {
|
|
1124
237
|
const result = await runMcpTool2(
|
|
@@ -1141,7 +254,7 @@ function registerTools(server, options) {
|
|
|
1141
254
|
"reorder_slides",
|
|
1142
255
|
{
|
|
1143
256
|
description: "Reorder slides by providing a new index array",
|
|
1144
|
-
inputSchema: ReorderSlidesSchema.shape
|
|
257
|
+
inputSchema: schemas_exports.ReorderSlidesSchema.shape
|
|
1145
258
|
},
|
|
1146
259
|
async (params) => {
|
|
1147
260
|
const result = await runMcpTool2(
|
|
@@ -1162,7 +275,7 @@ function registerTools(server, options) {
|
|
|
1162
275
|
"duplicate_slide",
|
|
1163
276
|
{
|
|
1164
277
|
description: "Duplicate a slide with new element IDs",
|
|
1165
|
-
inputSchema: DuplicateSlideSchema.shape
|
|
278
|
+
inputSchema: schemas_exports.DuplicateSlideSchema.shape
|
|
1166
279
|
},
|
|
1167
280
|
async (params) => {
|
|
1168
281
|
const result = await runMcpTool2(
|
|
@@ -1183,7 +296,7 @@ function registerTools(server, options) {
|
|
|
1183
296
|
"update_slide_properties",
|
|
1184
297
|
{
|
|
1185
298
|
description: "Update slide background, notes, or visibility",
|
|
1186
|
-
inputSchema: UpdateSlidePropertiesSchema.shape
|
|
299
|
+
inputSchema: schemas_exports.UpdateSlidePropertiesSchema.shape
|
|
1187
300
|
},
|
|
1188
301
|
async (params) => {
|
|
1189
302
|
const result = await runMcpTool2(
|
|
@@ -1204,7 +317,7 @@ function registerTools(server, options) {
|
|
|
1204
317
|
"set_slide_transition",
|
|
1205
318
|
{
|
|
1206
319
|
description: "Set or remove a slide transition effect",
|
|
1207
|
-
inputSchema: SetSlideTransitionSchema.shape
|
|
320
|
+
inputSchema: schemas_exports.SetSlideTransitionSchema.shape
|
|
1208
321
|
},
|
|
1209
322
|
async (params) => {
|
|
1210
323
|
const result = await runMcpTool2(
|
|
@@ -1225,7 +338,7 @@ function registerTools(server, options) {
|
|
|
1225
338
|
"set_canvas_size",
|
|
1226
339
|
{
|
|
1227
340
|
description: "Change the presentation canvas dimensions",
|
|
1228
|
-
inputSchema: SetCanvasSizeSchema.shape
|
|
341
|
+
inputSchema: schemas_exports.SetCanvasSizeSchema.shape
|
|
1229
342
|
},
|
|
1230
343
|
async (params) => {
|
|
1231
344
|
const result = await runMcpTool2(
|
|
@@ -1246,7 +359,7 @@ function registerTools(server, options) {
|
|
|
1246
359
|
"add_element",
|
|
1247
360
|
{
|
|
1248
361
|
description: "Add a text, shape, image, table, or connector element",
|
|
1249
|
-
inputSchema: AddElementSchema.shape
|
|
362
|
+
inputSchema: schemas_exports.AddElementSchema.shape
|
|
1250
363
|
},
|
|
1251
364
|
async (params) => {
|
|
1252
365
|
const result = await runMcpTool2(
|
|
@@ -1267,7 +380,7 @@ function registerTools(server, options) {
|
|
|
1267
380
|
"update_element",
|
|
1268
381
|
{
|
|
1269
382
|
description: "Update element position, size, text, or style",
|
|
1270
|
-
inputSchema: UpdateElementSchema.shape
|
|
383
|
+
inputSchema: schemas_exports.UpdateElementSchema.shape
|
|
1271
384
|
},
|
|
1272
385
|
async (params) => {
|
|
1273
386
|
const result = await runMcpTool2(
|
|
@@ -1288,7 +401,7 @@ function registerTools(server, options) {
|
|
|
1288
401
|
"rename_element",
|
|
1289
402
|
{
|
|
1290
403
|
description: "Rename an element (the selection pane's display name; cNvPr/@name)",
|
|
1291
|
-
inputSchema: RenameElementSchema.shape
|
|
404
|
+
inputSchema: schemas_exports.RenameElementSchema.shape
|
|
1292
405
|
},
|
|
1293
406
|
async (params) => {
|
|
1294
407
|
const result = await runMcpTool2(
|
|
@@ -1309,7 +422,7 @@ function registerTools(server, options) {
|
|
|
1309
422
|
"delete_elements",
|
|
1310
423
|
{
|
|
1311
424
|
description: "Delete one or more elements by ID",
|
|
1312
|
-
inputSchema: DeleteElementsSchema.shape
|
|
425
|
+
inputSchema: schemas_exports.DeleteElementsSchema.shape
|
|
1313
426
|
},
|
|
1314
427
|
async (params) => {
|
|
1315
428
|
const result = await runMcpTool2(
|
|
@@ -1330,7 +443,7 @@ function registerTools(server, options) {
|
|
|
1330
443
|
"arrange_elements",
|
|
1331
444
|
{
|
|
1332
445
|
description: "Align elements or change z-order (layer)",
|
|
1333
|
-
inputSchema: ArrangeElementsSchema.shape
|
|
446
|
+
inputSchema: schemas_exports.ArrangeElementsSchema.shape
|
|
1334
447
|
},
|
|
1335
448
|
async (params) => {
|
|
1336
449
|
const result = await runMcpTool2(
|
|
@@ -1351,7 +464,7 @@ function registerTools(server, options) {
|
|
|
1351
464
|
"clone_element",
|
|
1352
465
|
{
|
|
1353
466
|
description: "Clone an element within or across slides",
|
|
1354
|
-
inputSchema: CloneElementSchema.shape
|
|
467
|
+
inputSchema: schemas_exports.CloneElementSchema.shape
|
|
1355
468
|
},
|
|
1356
469
|
async (params) => {
|
|
1357
470
|
const result = await runMcpTool2(
|
|
@@ -1372,7 +485,7 @@ function registerTools(server, options) {
|
|
|
1372
485
|
"set_element_animation",
|
|
1373
486
|
{
|
|
1374
487
|
description: "Set entrance/exit animation on an element",
|
|
1375
|
-
inputSchema: SetElementAnimationSchema.shape
|
|
488
|
+
inputSchema: schemas_exports.SetElementAnimationSchema.shape
|
|
1376
489
|
},
|
|
1377
490
|
async (params) => {
|
|
1378
491
|
const result = await runMcpTool2(
|
|
@@ -1393,7 +506,7 @@ function registerTools(server, options) {
|
|
|
1393
506
|
"group_elements",
|
|
1394
507
|
{
|
|
1395
508
|
description: "Group multiple elements into a group",
|
|
1396
|
-
inputSchema: GroupElementsSchema.shape
|
|
509
|
+
inputSchema: schemas_exports.GroupElementsSchema.shape
|
|
1397
510
|
},
|
|
1398
511
|
async (params) => {
|
|
1399
512
|
const result = await runMcpTool2(
|
|
@@ -1414,7 +527,7 @@ function registerTools(server, options) {
|
|
|
1414
527
|
"ungroup_elements",
|
|
1415
528
|
{
|
|
1416
529
|
description: "Ungroup a group element back to individual elements",
|
|
1417
|
-
inputSchema: UngroupElementsSchema.shape
|
|
530
|
+
inputSchema: schemas_exports.UngroupElementsSchema.shape
|
|
1418
531
|
},
|
|
1419
532
|
async (params) => {
|
|
1420
533
|
const result = await runMcpTool2(
|
|
@@ -1435,7 +548,7 @@ function registerTools(server, options) {
|
|
|
1435
548
|
"batch_update_elements",
|
|
1436
549
|
{
|
|
1437
550
|
description: "Apply the same properties to multiple elements",
|
|
1438
|
-
inputSchema: BatchUpdateElementsSchema.shape
|
|
551
|
+
inputSchema: schemas_exports.BatchUpdateElementsSchema.shape
|
|
1439
552
|
},
|
|
1440
553
|
async (params) => {
|
|
1441
554
|
const result = await runMcpTool2(
|
|
@@ -1456,7 +569,7 @@ function registerTools(server, options) {
|
|
|
1456
569
|
"update_table_cells",
|
|
1457
570
|
{
|
|
1458
571
|
description: "Update text content of table cells",
|
|
1459
|
-
inputSchema: UpdateTableCellsSchema.shape
|
|
572
|
+
inputSchema: schemas_exports.UpdateTableCellsSchema.shape
|
|
1460
573
|
},
|
|
1461
574
|
async (params) => {
|
|
1462
575
|
const result = await runMcpTool2(
|
|
@@ -1477,7 +590,7 @@ function registerTools(server, options) {
|
|
|
1477
590
|
"manage_table_structure",
|
|
1478
591
|
{
|
|
1479
592
|
description: "Insert or delete table rows and columns",
|
|
1480
|
-
inputSchema: ManageTableStructureSchema.shape
|
|
593
|
+
inputSchema: schemas_exports.ManageTableStructureSchema.shape
|
|
1481
594
|
},
|
|
1482
595
|
async (params) => {
|
|
1483
596
|
const result = await runMcpTool2(
|
|
@@ -1498,7 +611,7 @@ function registerTools(server, options) {
|
|
|
1498
611
|
"set_table_style_section",
|
|
1499
612
|
{
|
|
1500
613
|
description: "Patch the fill, text, borders, or cell3D of one section (wholeTbl, banding, first/last row/col, or a corner cell) of an existing loaded table style",
|
|
1501
|
-
inputSchema: SetTableStyleSectionSchema.shape
|
|
614
|
+
inputSchema: schemas_exports.SetTableStyleSectionSchema.shape
|
|
1502
615
|
},
|
|
1503
616
|
async (params) => {
|
|
1504
617
|
const result = await runMcpTool2(
|
|
@@ -1514,7 +627,7 @@ function registerTools(server, options) {
|
|
|
1514
627
|
"create_table_style",
|
|
1515
628
|
{
|
|
1516
629
|
description: "Create a new table style (optionally cloned from an existing one) and optionally set it as the default",
|
|
1517
|
-
inputSchema: CreateTableStyleSchema.shape
|
|
630
|
+
inputSchema: schemas_exports.CreateTableStyleSchema.shape
|
|
1518
631
|
},
|
|
1519
632
|
async (params) => {
|
|
1520
633
|
const result = await runMcpTool2(
|
|
@@ -1530,7 +643,7 @@ function registerTools(server, options) {
|
|
|
1530
643
|
"delete_table_style",
|
|
1531
644
|
{
|
|
1532
645
|
description: "Remove a table style from the presentation",
|
|
1533
|
-
inputSchema: DeleteTableStyleSchema.shape
|
|
646
|
+
inputSchema: schemas_exports.DeleteTableStyleSchema.shape
|
|
1534
647
|
},
|
|
1535
648
|
async (params) => {
|
|
1536
649
|
const result = await runMcpTool2(
|
|
@@ -1546,7 +659,7 @@ function registerTools(server, options) {
|
|
|
1546
659
|
"assign_table_style",
|
|
1547
660
|
{
|
|
1548
661
|
description: "Assign a table style (and row/column emphasis flags) to an existing table",
|
|
1549
|
-
inputSchema: AssignTableStyleSchema.shape
|
|
662
|
+
inputSchema: schemas_exports.AssignTableStyleSchema.shape
|
|
1550
663
|
},
|
|
1551
664
|
async (params) => {
|
|
1552
665
|
const result = await runMcpTool2(
|
|
@@ -1562,7 +675,7 @@ function registerTools(server, options) {
|
|
|
1562
675
|
"update_element_style",
|
|
1563
676
|
{
|
|
1564
677
|
description: "Update fill, stroke, shadow, glow, or image effects",
|
|
1565
|
-
inputSchema: UpdateElementStyleSchema.shape
|
|
678
|
+
inputSchema: schemas_exports.UpdateElementStyleSchema.shape
|
|
1566
679
|
},
|
|
1567
680
|
async (params) => {
|
|
1568
681
|
const result = await runMcpTool2(
|
|
@@ -1583,7 +696,7 @@ function registerTools(server, options) {
|
|
|
1583
696
|
"run_accessibility_check",
|
|
1584
697
|
{
|
|
1585
698
|
description: "Audit the presentation for accessibility issues",
|
|
1586
|
-
inputSchema: AccessibilityCheckSchema.shape
|
|
699
|
+
inputSchema: schemas_exports.AccessibilityCheckSchema.shape
|
|
1587
700
|
},
|
|
1588
701
|
async (params) => {
|
|
1589
702
|
const result = await runMcpTool2(
|
|
@@ -1604,7 +717,7 @@ function registerTools(server, options) {
|
|
|
1604
717
|
"find_text",
|
|
1605
718
|
{
|
|
1606
719
|
description: "Search for text across all slides",
|
|
1607
|
-
inputSchema: FindTextSchema.shape
|
|
720
|
+
inputSchema: schemas_exports.FindTextSchema.shape
|
|
1608
721
|
},
|
|
1609
722
|
async (params) => {
|
|
1610
723
|
const result = await runMcpTool2(params.filePath, (ctx) => findText(ctx, params));
|
|
@@ -1622,7 +735,7 @@ function registerTools(server, options) {
|
|
|
1622
735
|
"replace_text",
|
|
1623
736
|
{
|
|
1624
737
|
description: "Find and replace text across slides",
|
|
1625
|
-
inputSchema: ReplaceTextSchema.shape
|
|
738
|
+
inputSchema: schemas_exports.ReplaceTextSchema.shape
|
|
1626
739
|
},
|
|
1627
740
|
async (params) => {
|
|
1628
741
|
const result = await runMcpTool2(
|
|
@@ -1643,7 +756,7 @@ function registerTools(server, options) {
|
|
|
1643
756
|
"manage_comments",
|
|
1644
757
|
{
|
|
1645
758
|
description: "List, add, delete, or resolve slide comments",
|
|
1646
|
-
inputSchema: ManageCommentsSchema.shape
|
|
759
|
+
inputSchema: schemas_exports.ManageCommentsSchema.shape
|
|
1647
760
|
},
|
|
1648
761
|
async (params) => {
|
|
1649
762
|
const result = await runMcpTool2(
|
|
@@ -1664,7 +777,7 @@ function registerTools(server, options) {
|
|
|
1664
777
|
"convert_to_markdown",
|
|
1665
778
|
{
|
|
1666
779
|
description: "Convert the presentation to Markdown format",
|
|
1667
|
-
inputSchema: ConvertToMarkdownSchema.shape
|
|
780
|
+
inputSchema: schemas_exports.ConvertToMarkdownSchema.shape
|
|
1668
781
|
},
|
|
1669
782
|
async (params) => {
|
|
1670
783
|
const result = await runMcpTool2(
|
|
@@ -1685,7 +798,7 @@ function registerTools(server, options) {
|
|
|
1685
798
|
"get_theme_info",
|
|
1686
799
|
{
|
|
1687
800
|
description: "Get current theme information (colors, fonts, available presets)",
|
|
1688
|
-
inputSchema: GetThemeInfoSchema.shape
|
|
801
|
+
inputSchema: schemas_exports.GetThemeInfoSchema.shape
|
|
1689
802
|
},
|
|
1690
803
|
async (params) => {
|
|
1691
804
|
const result = await runMcpTool2(params.filePath, (ctx) => getThemeInfo(ctx));
|
|
@@ -1696,7 +809,7 @@ function registerTools(server, options) {
|
|
|
1696
809
|
"apply_theme_preset",
|
|
1697
810
|
{
|
|
1698
811
|
description: "Apply a built-in theme preset to the presentation",
|
|
1699
|
-
inputSchema: ApplyThemePresetSchema.shape
|
|
812
|
+
inputSchema: schemas_exports.ApplyThemePresetSchema.shape
|
|
1700
813
|
},
|
|
1701
814
|
async (params) => {
|
|
1702
815
|
const result = await runMcpTool2(
|
|
@@ -1710,7 +823,7 @@ function registerTools(server, options) {
|
|
|
1710
823
|
"update_theme_colors",
|
|
1711
824
|
{
|
|
1712
825
|
description: "Update individual theme colors (accent1-6, dk1/2, lt1/2, hlink, folHlink)",
|
|
1713
|
-
inputSchema: UpdateThemeColorsSchema.shape
|
|
826
|
+
inputSchema: schemas_exports.UpdateThemeColorsSchema.shape
|
|
1714
827
|
},
|
|
1715
828
|
async (params) => {
|
|
1716
829
|
const result = await runMcpTool2(
|
|
@@ -1724,7 +837,7 @@ function registerTools(server, options) {
|
|
|
1724
837
|
"update_theme_fonts",
|
|
1725
838
|
{
|
|
1726
839
|
description: "Update theme heading (major) and body (minor) fonts",
|
|
1727
|
-
inputSchema: UpdateThemeFontsSchema.shape
|
|
840
|
+
inputSchema: schemas_exports.UpdateThemeFontsSchema.shape
|
|
1728
841
|
},
|
|
1729
842
|
async (params) => {
|
|
1730
843
|
const result = await runMcpTool2(
|
|
@@ -1738,7 +851,7 @@ function registerTools(server, options) {
|
|
|
1738
851
|
"update_chart",
|
|
1739
852
|
{
|
|
1740
853
|
description: "Update chart type, title, legend, data labels, axis, or categories",
|
|
1741
|
-
inputSchema: UpdateChartSchema.shape
|
|
854
|
+
inputSchema: schemas_exports.UpdateChartSchema.shape
|
|
1742
855
|
},
|
|
1743
856
|
async (params) => {
|
|
1744
857
|
const result = await runMcpTool2(
|
|
@@ -1752,7 +865,7 @@ function registerTools(server, options) {
|
|
|
1752
865
|
"add_chart_series",
|
|
1753
866
|
{
|
|
1754
867
|
description: "Add a data series to an existing chart",
|
|
1755
|
-
inputSchema: AddChartSeriesSchema.shape
|
|
868
|
+
inputSchema: schemas_exports.AddChartSeriesSchema.shape
|
|
1756
869
|
},
|
|
1757
870
|
async (params) => {
|
|
1758
871
|
const result = await runMcpTool2(
|
|
@@ -1766,7 +879,7 @@ function registerTools(server, options) {
|
|
|
1766
879
|
"remove_chart_series",
|
|
1767
880
|
{
|
|
1768
881
|
description: "Remove a data series from a chart by index",
|
|
1769
|
-
inputSchema: RemoveChartSeriesSchema.shape
|
|
882
|
+
inputSchema: schemas_exports.RemoveChartSeriesSchema.shape
|
|
1770
883
|
},
|
|
1771
884
|
async (params) => {
|
|
1772
885
|
const result = await runMcpTool2(
|
|
@@ -1780,7 +893,7 @@ function registerTools(server, options) {
|
|
|
1780
893
|
"update_chart_series_data",
|
|
1781
894
|
{
|
|
1782
895
|
description: "Update data values for a chart series",
|
|
1783
|
-
inputSchema: UpdateChartSeriesDataSchema.shape
|
|
896
|
+
inputSchema: schemas_exports.UpdateChartSeriesDataSchema.shape
|
|
1784
897
|
},
|
|
1785
898
|
async (params) => {
|
|
1786
899
|
const result = await runMcpTool2(
|
|
@@ -1794,7 +907,7 @@ function registerTools(server, options) {
|
|
|
1794
907
|
"create_chart",
|
|
1795
908
|
{
|
|
1796
909
|
description: "Create a new chart element on a slide",
|
|
1797
|
-
inputSchema: CreateChartSchema.shape
|
|
910
|
+
inputSchema: schemas_exports.CreateChartSchema.shape
|
|
1798
911
|
},
|
|
1799
912
|
async (params) => {
|
|
1800
913
|
const result = await runMcpTool2(
|
|
@@ -1808,7 +921,7 @@ function registerTools(server, options) {
|
|
|
1808
921
|
"format_chart_data_point",
|
|
1809
922
|
{
|
|
1810
923
|
description: "Set per-data-point chart formatting: fill/stroke colour, stroke width, dash style (c:dPt/c:spPr), explosion, and marker override",
|
|
1811
|
-
inputSchema: FormatChartDataPointSchema.shape
|
|
924
|
+
inputSchema: schemas_exports.FormatChartDataPointSchema.shape
|
|
1812
925
|
},
|
|
1813
926
|
async (params) => {
|
|
1814
927
|
const result = await runMcpTool2(
|
|
@@ -1822,7 +935,7 @@ function registerTools(server, options) {
|
|
|
1822
935
|
"format_chart_data_label",
|
|
1823
936
|
{
|
|
1824
937
|
description: "Set a per-data-point data-label override (c:dLbl): show flags, position, custom text, and the label's own fill/line formatting (c:spPr) and font (c:txPr)",
|
|
1825
|
-
inputSchema: FormatChartDataLabelSchema.shape
|
|
938
|
+
inputSchema: schemas_exports.FormatChartDataLabelSchema.shape
|
|
1826
939
|
},
|
|
1827
940
|
async (params) => {
|
|
1828
941
|
const result = await runMcpTool2(
|
|
@@ -1836,7 +949,7 @@ function registerTools(server, options) {
|
|
|
1836
949
|
"format_chart_series",
|
|
1837
950
|
{
|
|
1838
951
|
description: "Set a chart series marker (c:marker), trendline (c:trendline, incl. line width/dash), or error bars (c:errBars, incl. line width/dash)",
|
|
1839
|
-
inputSchema: FormatChartSeriesSchema.shape
|
|
952
|
+
inputSchema: schemas_exports.FormatChartSeriesSchema.shape
|
|
1840
953
|
},
|
|
1841
954
|
async (params) => {
|
|
1842
955
|
const result = await runMcpTool2(
|
|
@@ -1850,7 +963,7 @@ function registerTools(server, options) {
|
|
|
1850
963
|
"set_chart_helper_line",
|
|
1851
964
|
{
|
|
1852
965
|
description: "Set or remove a chart-level helper line on a line/stock/combo chart: c:dropLines or c:hiLowLines",
|
|
1853
|
-
inputSchema: SetChartHelperLineSchema.shape
|
|
966
|
+
inputSchema: schemas_exports.SetChartHelperLineSchema.shape
|
|
1854
967
|
},
|
|
1855
968
|
async (params) => {
|
|
1856
969
|
const result = await runMcpTool2(
|
|
@@ -1864,7 +977,7 @@ function registerTools(server, options) {
|
|
|
1864
977
|
"set_chart_color_map_override",
|
|
1865
978
|
{
|
|
1866
979
|
description: "Set or remove a chart's theme colour-map override (c:clrMapOvr), remapping theme colour roles for this chart only",
|
|
1867
|
-
inputSchema: SetChartColorMapOverrideSchema.shape
|
|
980
|
+
inputSchema: schemas_exports.SetChartColorMapOverrideSchema.shape
|
|
1868
981
|
},
|
|
1869
982
|
async (params) => {
|
|
1870
983
|
const result = await runMcpTool2(
|
|
@@ -1878,7 +991,7 @@ function registerTools(server, options) {
|
|
|
1878
991
|
"chart_user_shape_list",
|
|
1879
992
|
{
|
|
1880
993
|
description: "List a chart's drawing-overlay shapes (c:userShapes)",
|
|
1881
|
-
inputSchema: ListChartUserShapesSchema.shape
|
|
994
|
+
inputSchema: schemas_exports.ListChartUserShapesSchema.shape
|
|
1882
995
|
},
|
|
1883
996
|
async (params) => {
|
|
1884
997
|
const result = await runMcpTool2(
|
|
@@ -1892,7 +1005,7 @@ function registerTools(server, options) {
|
|
|
1892
1005
|
"chart_user_shape_add",
|
|
1893
1006
|
{
|
|
1894
1007
|
description: "Add a drawing-overlay shape (text box or connector) to a chart's c:userShapes",
|
|
1895
|
-
inputSchema: AddChartUserShapeSchema.shape
|
|
1008
|
+
inputSchema: schemas_exports.AddChartUserShapeSchema.shape
|
|
1896
1009
|
},
|
|
1897
1010
|
async (params) => {
|
|
1898
1011
|
const result = await runMcpTool2(
|
|
@@ -1906,7 +1019,7 @@ function registerTools(server, options) {
|
|
|
1906
1019
|
"chart_user_shape_update",
|
|
1907
1020
|
{
|
|
1908
1021
|
description: "Move, resize, or restyle one of a chart's drawing-overlay shapes by index",
|
|
1909
|
-
inputSchema: UpdateChartUserShapeSchema.shape
|
|
1022
|
+
inputSchema: schemas_exports.UpdateChartUserShapeSchema.shape
|
|
1910
1023
|
},
|
|
1911
1024
|
async (params) => {
|
|
1912
1025
|
const result = await runMcpTool2(
|
|
@@ -1920,7 +1033,7 @@ function registerTools(server, options) {
|
|
|
1920
1033
|
"chart_user_shape_remove",
|
|
1921
1034
|
{
|
|
1922
1035
|
description: "Remove one of a chart's drawing-overlay shapes by index",
|
|
1923
|
-
inputSchema: RemoveChartUserShapeSchema.shape
|
|
1036
|
+
inputSchema: schemas_exports.RemoveChartUserShapeSchema.shape
|
|
1924
1037
|
},
|
|
1925
1038
|
async (params) => {
|
|
1926
1039
|
const result = await runMcpTool2(
|
|
@@ -1934,7 +1047,7 @@ function registerTools(server, options) {
|
|
|
1934
1047
|
"manage_smart_art",
|
|
1935
1048
|
{
|
|
1936
1049
|
description: "Manage SmartArt: get nodes, add/remove/reorder/promote/demote nodes, or decompose to shapes",
|
|
1937
|
-
inputSchema: ManageSmartArtSchema.shape
|
|
1050
|
+
inputSchema: schemas_exports.ManageSmartArtSchema.shape
|
|
1938
1051
|
},
|
|
1939
1052
|
async (params) => {
|
|
1940
1053
|
const result = await runMcpTool2(
|
|
@@ -1948,7 +1061,7 @@ function registerTools(server, options) {
|
|
|
1948
1061
|
"find_placeholders",
|
|
1949
1062
|
{
|
|
1950
1063
|
description: "Discover all {{placeholder}} tokens in the presentation",
|
|
1951
|
-
inputSchema: FindPlaceholdersSchema.shape
|
|
1064
|
+
inputSchema: schemas_exports.FindPlaceholdersSchema.shape
|
|
1952
1065
|
},
|
|
1953
1066
|
async (params) => {
|
|
1954
1067
|
const result = await runMcpTool2(
|
|
@@ -1962,7 +1075,7 @@ function registerTools(server, options) {
|
|
|
1962
1075
|
"apply_template",
|
|
1963
1076
|
{
|
|
1964
1077
|
description: "Replace {{placeholder}} tokens with provided values (mail merge)",
|
|
1965
|
-
inputSchema: ApplyTemplateSchema.shape
|
|
1078
|
+
inputSchema: schemas_exports.ApplyTemplateSchema.shape
|
|
1966
1079
|
},
|
|
1967
1080
|
async (params) => {
|
|
1968
1081
|
const result = await runMcpTool2(
|
|
@@ -1976,7 +1089,7 @@ function registerTools(server, options) {
|
|
|
1976
1089
|
"get_metadata",
|
|
1977
1090
|
{
|
|
1978
1091
|
description: "Get presentation metadata (title, author, keywords, custom properties)",
|
|
1979
|
-
inputSchema: GetMetadataSchema.shape
|
|
1092
|
+
inputSchema: schemas_exports.GetMetadataSchema.shape
|
|
1980
1093
|
},
|
|
1981
1094
|
async (params) => {
|
|
1982
1095
|
const result = await runMcpTool2(params.filePath, (ctx) => getMetadata(ctx));
|
|
@@ -1987,7 +1100,7 @@ function registerTools(server, options) {
|
|
|
1987
1100
|
"update_metadata",
|
|
1988
1101
|
{
|
|
1989
1102
|
description: "Update presentation metadata (title, author, company, custom properties)",
|
|
1990
|
-
inputSchema: UpdateMetadataSchema.shape
|
|
1103
|
+
inputSchema: schemas_exports.UpdateMetadataSchema.shape
|
|
1991
1104
|
},
|
|
1992
1105
|
async (params) => {
|
|
1993
1106
|
const result = await runMcpTool2(
|
|
@@ -2001,7 +1114,7 @@ function registerTools(server, options) {
|
|
|
2001
1114
|
"manage_sections",
|
|
2002
1115
|
{
|
|
2003
1116
|
description: "List, add, remove, reorder sections or move slides between sections",
|
|
2004
|
-
inputSchema: ManageSectionsSchema.shape
|
|
1117
|
+
inputSchema: schemas_exports.ManageSectionsSchema.shape
|
|
2005
1118
|
},
|
|
2006
1119
|
async (params) => {
|
|
2007
1120
|
const result = await runMcpTool2(
|
|
@@ -2015,7 +1128,7 @@ function registerTools(server, options) {
|
|
|
2015
1128
|
"export_to_svg",
|
|
2016
1129
|
{
|
|
2017
1130
|
description: "Export all or specific slides to SVG strings",
|
|
2018
|
-
inputSchema: ExportToSvgSchema.shape
|
|
1131
|
+
inputSchema: schemas_exports.ExportToSvgSchema.shape
|
|
2019
1132
|
},
|
|
2020
1133
|
async (params) => {
|
|
2021
1134
|
const result = await runMcpTool2(
|
|
@@ -2029,7 +1142,7 @@ function registerTools(server, options) {
|
|
|
2029
1142
|
"export_slide_svg",
|
|
2030
1143
|
{
|
|
2031
1144
|
description: "Export a single slide to SVG",
|
|
2032
|
-
inputSchema: ExportSlideSvgSchema.shape
|
|
1145
|
+
inputSchema: schemas_exports.ExportSlideSvgSchema.shape
|
|
2033
1146
|
},
|
|
2034
1147
|
async (params) => {
|
|
2035
1148
|
const result = await runMcpTool2(
|
|
@@ -2043,7 +1156,7 @@ function registerTools(server, options) {
|
|
|
2043
1156
|
"export_to_json",
|
|
2044
1157
|
{
|
|
2045
1158
|
description: "Export the presentation to the portable pptx-viewer-json document format (self-contained, binary assets embedded as base64)",
|
|
2046
|
-
inputSchema: ExportToJsonSchema.shape
|
|
1159
|
+
inputSchema: schemas_exports.ExportToJsonSchema.shape
|
|
2047
1160
|
},
|
|
2048
1161
|
async (params) => {
|
|
2049
1162
|
const result = await runMcpTool2(
|
|
@@ -2057,7 +1170,7 @@ function registerTools(server, options) {
|
|
|
2057
1170
|
"import_from_json",
|
|
2058
1171
|
{
|
|
2059
1172
|
description: "Replace the presentation content with a deck imported from a pptx-viewer-json document",
|
|
2060
|
-
inputSchema: ImportFromJsonSchema.shape
|
|
1173
|
+
inputSchema: schemas_exports.ImportFromJsonSchema.shape
|
|
2061
1174
|
},
|
|
2062
1175
|
async (params) => {
|
|
2063
1176
|
const result = await runMcpTool2(
|
|
@@ -2071,7 +1184,7 @@ function registerTools(server, options) {
|
|
|
2071
1184
|
"manage_hyperlinks",
|
|
2072
1185
|
{
|
|
2073
1186
|
description: "List, set, or remove hyperlinks/actions on elements",
|
|
2074
|
-
inputSchema: ManageHyperlinksSchema.shape
|
|
1187
|
+
inputSchema: schemas_exports.ManageHyperlinksSchema.shape
|
|
2075
1188
|
},
|
|
2076
1189
|
async (params) => {
|
|
2077
1190
|
const result = await runMcpTool2(
|
|
@@ -2085,7 +1198,7 @@ function registerTools(server, options) {
|
|
|
2085
1198
|
"replace_geometry",
|
|
2086
1199
|
{
|
|
2087
1200
|
description: "Replace a shape element geometry with a preset or custom SVG path",
|
|
2088
|
-
inputSchema: ReplaceGeometrySchema.shape
|
|
1201
|
+
inputSchema: schemas_exports.ReplaceGeometrySchema.shape
|
|
2089
1202
|
},
|
|
2090
1203
|
async (params) => {
|
|
2091
1204
|
const result = await runMcpTool2(
|
|
@@ -2102,7 +1215,7 @@ function registerTools(server, options) {
|
|
|
2102
1215
|
"set_element_lock",
|
|
2103
1216
|
{
|
|
2104
1217
|
description: "Lock or unlock an element (prevent move, resize, rotation, selection, text edit)",
|
|
2105
|
-
inputSchema: SetElementLockSchema.shape
|
|
1218
|
+
inputSchema: schemas_exports.SetElementLockSchema.shape
|
|
2106
1219
|
},
|
|
2107
1220
|
async (params) => {
|
|
2108
1221
|
const result = await runMcpTool2(
|
|
@@ -2116,7 +1229,7 @@ function registerTools(server, options) {
|
|
|
2116
1229
|
"validate_presentation",
|
|
2117
1230
|
{
|
|
2118
1231
|
description: "Validate PPTX structural integrity (content types, relationships, XML)",
|
|
2119
|
-
inputSchema: ValidatePresentationSchema.shape
|
|
1232
|
+
inputSchema: schemas_exports.ValidatePresentationSchema.shape
|
|
2120
1233
|
},
|
|
2121
1234
|
async (params) => {
|
|
2122
1235
|
const { readFile: readFile2 } = await import('fs/promises');
|
|
@@ -2130,7 +1243,7 @@ function registerTools(server, options) {
|
|
|
2130
1243
|
"repair_presentation",
|
|
2131
1244
|
{
|
|
2132
1245
|
description: "Auto-repair common PPTX structural issues",
|
|
2133
|
-
inputSchema: RepairPresentationSchema.shape
|
|
1246
|
+
inputSchema: schemas_exports.RepairPresentationSchema.shape
|
|
2134
1247
|
},
|
|
2135
1248
|
async (params) => {
|
|
2136
1249
|
const { readFile: readFile2, writeFile: writeFile2 } = await import('fs/promises');
|
|
@@ -2149,7 +1262,7 @@ function registerTools(server, options) {
|
|
|
2149
1262
|
"get_presentation_properties",
|
|
2150
1263
|
{
|
|
2151
1264
|
description: "Get slideshow properties (show type, loop, advance mode, slide range)",
|
|
2152
|
-
inputSchema: GetPresentationPropertiesSchema.shape
|
|
1265
|
+
inputSchema: schemas_exports.GetPresentationPropertiesSchema.shape
|
|
2153
1266
|
},
|
|
2154
1267
|
async (params) => {
|
|
2155
1268
|
const result = await runMcpTool2(
|
|
@@ -2163,7 +1276,7 @@ function registerTools(server, options) {
|
|
|
2163
1276
|
"update_presentation_properties",
|
|
2164
1277
|
{
|
|
2165
1278
|
description: "Update slideshow properties (show type, loop, advance mode, pen color)",
|
|
2166
|
-
inputSchema: UpdatePresentationPropertiesSchema.shape
|
|
1279
|
+
inputSchema: schemas_exports.UpdatePresentationPropertiesSchema.shape
|
|
2167
1280
|
},
|
|
2168
1281
|
async (params) => {
|
|
2169
1282
|
const result = await runMcpTool2(
|
|
@@ -2177,7 +1290,7 @@ function registerTools(server, options) {
|
|
|
2177
1290
|
"get_layouts",
|
|
2178
1291
|
{
|
|
2179
1292
|
description: "List available slide layouts from the presentation masters",
|
|
2180
|
-
inputSchema: GetLayoutsSchema.shape
|
|
1293
|
+
inputSchema: schemas_exports.GetLayoutsSchema.shape
|
|
2181
1294
|
},
|
|
2182
1295
|
async (params) => {
|
|
2183
1296
|
const result = await runMcpTool2(params.filePath, (ctx) => getLayouts(ctx));
|
|
@@ -2188,7 +1301,7 @@ function registerTools(server, options) {
|
|
|
2188
1301
|
"apply_layout",
|
|
2189
1302
|
{
|
|
2190
1303
|
description: "Apply a slide layout to a specific slide",
|
|
2191
|
-
inputSchema: ApplyLayoutSchema.shape
|
|
1304
|
+
inputSchema: schemas_exports.ApplyLayoutSchema.shape
|
|
2192
1305
|
},
|
|
2193
1306
|
async (params) => {
|
|
2194
1307
|
const result = await runMcpTool2(
|
|
@@ -2202,7 +1315,7 @@ function registerTools(server, options) {
|
|
|
2202
1315
|
"ole_get_content",
|
|
2203
1316
|
{
|
|
2204
1317
|
description: "Inspect an embedded OLE object's editable content: resolved kind, plus the sheet grid, paragraph list, or nested-deck slide summaries, whichever applies",
|
|
2205
|
-
inputSchema: GetOleContentSchema.shape
|
|
1318
|
+
inputSchema: schemas_exports.GetOleContentSchema.shape
|
|
2206
1319
|
},
|
|
2207
1320
|
async (params) => {
|
|
2208
1321
|
const result = await runMcpTool2(
|
|
@@ -2216,7 +1329,7 @@ function registerTools(server, options) {
|
|
|
2216
1329
|
"ole_set_sheet_cell",
|
|
2217
1330
|
{
|
|
2218
1331
|
description: "Edit one cell of an embedded Excel OLE object's first worksheet",
|
|
2219
|
-
inputSchema: SetOleSheetCellSchema.shape
|
|
1332
|
+
inputSchema: schemas_exports.SetOleSheetCellSchema.shape
|
|
2220
1333
|
},
|
|
2221
1334
|
async (params) => {
|
|
2222
1335
|
const result = await runMcpTool2(
|
|
@@ -2230,7 +1343,7 @@ function registerTools(server, options) {
|
|
|
2230
1343
|
"ole_set_document_paragraph",
|
|
2231
1344
|
{
|
|
2232
1345
|
description: "Replace one paragraph's text in an embedded Word (.docx or legacy .doc) OLE object",
|
|
2233
|
-
inputSchema: SetOleDocumentParagraphSchema.shape
|
|
1346
|
+
inputSchema: schemas_exports.SetOleDocumentParagraphSchema.shape
|
|
2234
1347
|
},
|
|
2235
1348
|
async (params) => {
|
|
2236
1349
|
const result = await runMcpTool2(
|
|
@@ -2244,7 +1357,7 @@ function registerTools(server, options) {
|
|
|
2244
1357
|
"ole_set_deck_slide_title",
|
|
2245
1358
|
{
|
|
2246
1359
|
description: "Edit one text-bearing shape on one slide of an embedded nested-deck (PowerPoint) OLE object, via a full load/save round-trip through the nested deck (call ole_get_content first to discover each slide's elementIds)",
|
|
2247
|
-
inputSchema: SetOleDeckSlideTitleSchema.shape
|
|
1360
|
+
inputSchema: schemas_exports.SetOleDeckSlideTitleSchema.shape
|
|
2248
1361
|
},
|
|
2249
1362
|
async (params) => {
|
|
2250
1363
|
const result = await runMcpTool2(
|
|
@@ -2258,7 +1371,7 @@ function registerTools(server, options) {
|
|
|
2258
1371
|
"ole_replace_file",
|
|
2259
1372
|
{
|
|
2260
1373
|
description: `Replace an embedded OLE object's payload wholesale with an arbitrary file; works for any OLE kind, including a generic "Package" object or an unsupported format`,
|
|
2261
|
-
inputSchema: ReplaceOleFileSchema.shape
|
|
1374
|
+
inputSchema: schemas_exports.ReplaceOleFileSchema.shape
|
|
2262
1375
|
},
|
|
2263
1376
|
async (params) => {
|
|
2264
1377
|
const result = await runMcpTool2(
|
|
@@ -2272,7 +1385,7 @@ function registerTools(server, options) {
|
|
|
2272
1385
|
"ole_set_object_name",
|
|
2273
1386
|
{
|
|
2274
1387
|
description: "Rename an OLE object's Object Name (p:oleObj/@name); regenerates the baked-in icon caption too when the object is displayed as an icon",
|
|
2275
|
-
inputSchema: SetOleObjectNameSchema.shape
|
|
1388
|
+
inputSchema: schemas_exports.SetOleObjectNameSchema.shape
|
|
2276
1389
|
},
|
|
2277
1390
|
async (params) => {
|
|
2278
1391
|
const result = await runMcpTool2(
|