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