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