pptx-viewer-mcp 1.3.2 → 2.0.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 +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -6
- package/dist/index.mjs +9 -3
- package/dist/mcp/index.js +16 -18
- package/dist/mcp/index.mjs +16 -18
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@ All notable changes to this project are documented here.
|
|
|
4
4
|
This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
|
|
5
5
|
by [git-cliff](https://git-cliff.org); do not edit it by hand.
|
|
6
6
|
|
|
7
|
+
## 2.0.0
|
|
8
|
+
|
|
9
|
+
V2 tidies the MCP server's public API. (The exact version and date are set
|
|
10
|
+
when the release is tagged.)
|
|
11
|
+
|
|
12
|
+
### Breaking changes and migration
|
|
13
|
+
|
|
14
|
+
- The deprecated `runMutatingTool` re-export is removed. Call `runMcpTool`
|
|
15
|
+
instead; it is a pure rename with no behavioural difference.
|
|
16
|
+
|
|
17
|
+
## [1.3.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@1.3.2) - 2026-07-18
|
|
18
|
+
|
|
19
|
+
### Documentation
|
|
20
|
+
|
|
21
|
+
- Correct and expand the per-package npm readmes (by @ChristopherVR) ([46f7c57](https://github.com/ChristopherVR/pptx-viewer/commit/46f7c573701a19e91c507d41ebdc956c64699c38))
|
|
22
|
+
|
|
7
23
|
## [1.3.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@1.3.1) - 2026-07-17
|
|
8
24
|
|
|
9
25
|
### Dependencies
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/execution.ts","../src/tools/slide-tools.ts","../src/tools/helpers.ts","../src/tools/element-tools.ts","../src/tools/table-tools.ts","../src/tools/style-tools.ts","../src/tools/content-tools.ts","../src/tools/conversion-tools.ts","../src/tools/theme-tools.ts","../src/tools/chart-tools.ts","../src/tools/smartart-tools.ts","../src/tools/merge-tools.ts","../src/tools/template-tools.ts","../src/tools/metadata-tools.ts","../src/tools/section-tools.ts","../src/tools/export-tools.ts","../src/tools/hyperlink-tools.ts","../src/tools/geometry-tools.ts","../src/tools/lock-tools.ts","../src/tools/validation-tools.ts","../src/tools/presentation-tools.ts","../src/tools/layout-tools.ts"],"mappings":";;;;;;;UAOiB;;EAEhB,UAAU;;EAEV,gBAAgB,iBAAiB,QAAQ;;EAEzC,gBAAgB,iBAAiB,QAAQ;;;;;;UAOzB,WAAW;;EAE3B,UAAU;;EAEV,QAAQ;;EAER;;;;;;UAWgB;;EAEhB,QAAQ;IAAqB,MAAM;;;EAEnC,SAAS;IACR,QAAQ,MAAM,KAAM,OAAO,YAAY,kBAAkB;IACzD,UAAU,MAAM,MAAO,QAAQ;;;EAGhC,YAAY;;;;;;;UAQI;EAChB,SAAS,eAAe,QAAQ;EAChC,UAAU,cAAc,MAAM,aAAa;;;;;;UAO3B;EAChB,eACC,kBACA,OAAO,YACP;IAAW;IAAoB;;EAEhC,SAAS,mBAAmB;;;;;UAMZ;;EAEhB,YAAY;;EAEZ,gBAAgB;;EAEhB,SAAS;;EAET;;;;;;;;;iBCvEqB,iBACrB,kBACA,SAAS,mBACP;EAAU,UAAU;EAAU,UAAU;;;;;iBA0BrB,iBACrB,kBACA,UAAU,YACV,UAAU,YACV,SAAS,mBACP;EAAU;EAAsB;;;;;;iBAgDb,uBAAuB,GAC5C,kBACA,SAAS,kBACT,SAAS,KAAK,gBAAgB,WAAW,KAAK,QAAQ,WAAW,MAC/D,QAAQ;EAAM;EAAuB;;;;UCxFvB;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;;iBAGK,SACf,KAAK,aACL;EAAU;IACR,WAAW;UAuBG;EAChB;EACA;;UAGgB;EAChB;EACA;;iBAGe,SAAS,KAAK,aAAa,QAAQ,iBAAiB,WAAW;UA2B9D;EAChB;;UAGgB;EAChB;EACA;;iBAGe,aACf,KAAK,aACL,QAAQ,qBACN,WAAW;UA4BG;EAChB;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN;EAAa;;UA2BC;EAChB;EACA;;iBAGe,eACf,KAAK,aACL,QAAQ,uBACN;EAAa;EAAuB;;UA4BtB;EAChB;EACA;EACA;EACA;EACA;EACA;;iBAGe,sBACf,KAAK,aACL,QAAQ,8BACN;EAAa;;UA8BC;EAChB;EACA;EACA;EACA;EACA;EACA;;iBAGe,mBACf,KAAK,aACL,QAAQ,2BACN;EAAa;EAAoB;;UAmCnB;EAChB;EACA;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN;EAAa;EAAqB;;;;iBChSrB;iBAIA;;iBAKA,gBAAgB,IAAI,gBAAc;;iBAwGlC,iBAAiB,OAAO;;iBA0BxB,mBAAmB,oBAAoB;;;UC9HtC;EAChB;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;;iBAGe,WACf,KAAK,aACL,QAAQ,mBACN,WAAW;UAmKG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN;EAAa;;UA8GC;EAChB;EACA;;iBAGe,eACf,KAAK,aACL,QAAQ,uBACN;EAAa;;UA0BC;EAChB;EACA;EAEA;EACA;EAEA;EACA;;iBAGe,gBACf,KAAK,aACL,QAAQ,wBACN;EAAa;;UA6GC;EAChB;EACA;EACA;EACA;EACA;;UAGgB;EAChB;;iBAGe,aACf,KAAK,aACL,QAAQ,qBACN,WAAW;UAuCG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,oBACf,KAAK,aACL,QAAQ,4BACN;EAAa;;UAsDC;EAChB;EACA;;UAGgB;EAChB;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN,WAAW;UAyDG;EAChB;EACA;;UAGgB;EAChB;;iBAGe,gBACf,KAAK,aACL,QAAQ,wBACN,WAAW;UAqCG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,oBACf,KAAK,aACL,QAAQ,4BACN;EAAa;;;;UC7vBC;EAChB;EACA;EACA,OAAO;IAAQ;IAAa;IAAa;;;iBAG1B,iBACf,KAAK,aACL,QAAQ,yBACN;EAAa;;UA6CC;EAChB;EACA;EACA;EACA;EACA;EACA;;iBAGe,qBACf,KAAK,aACL,QAAQ,6BACN;EAAa;EAAkB;;;;UCjEjB;EAChB;EACA;EAEA;EACA,WAAW;EACX,oBAAoB;IAAQ;IAAe;IAAkB;;EAC7D;EACA;EACA;EAEA;EACA;EACA,aAAa;EACb;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,mBACf,KAAK,aACL,QAAQ,2BACN;EAAa;;UA6HC;EAChB;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;EACA;EACA;EACA,QAAQ;;iBAGO,sBAAsB,KAAK,cAAc,WAAW;;;UCnJnD;EAChB;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA,SAAS;;iBAGM,SAAS,KAAK,aAAa,QAAQ,iBAAiB,WAAW;UA2G9D;EAChB;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;;iBAGe,YACf,KAAK,aACL,QAAQ,oBACN,WAAW;UAiGG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA,WAAW;EACX;EACA;;iBAGe,eACf,KAAK,aACL,QAAQ,uBACN,WAAW;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/execution.ts","../src/tools/slide-tools.ts","../src/tools/helpers.ts","../src/tools/element-tools.ts","../src/tools/table-tools.ts","../src/tools/style-tools.ts","../src/tools/content-tools.ts","../src/tools/conversion-tools.ts","../src/tools/theme-tools.ts","../src/tools/chart-tools.ts","../src/tools/smartart-tools.ts","../src/tools/merge-tools.ts","../src/tools/template-tools.ts","../src/tools/metadata-tools.ts","../src/tools/section-tools.ts","../src/tools/export-tools.ts","../src/tools/hyperlink-tools.ts","../src/tools/geometry-tools.ts","../src/tools/lock-tools.ts","../src/tools/validation-tools.ts","../src/tools/presentation-tools.ts","../src/tools/layout-tools.ts"],"mappings":";;;;;;;UAOiB;;EAEhB,UAAU;;EAEV,gBAAgB,iBAAiB,QAAQ;;EAEzC,gBAAgB,iBAAiB,QAAQ;;;;;;UAOzB,WAAW;;EAE3B,UAAU;;EAEV,QAAQ;;EAER;;;;;;UAWgB;;EAEhB,QAAQ;IAAqB,MAAM;;;EAEnC,SAAS;IACR,QAAQ,MAAM,KAAM,OAAO,YAAY,kBAAkB;IACzD,UAAU,MAAM,MAAO,QAAQ;;;EAGhC,YAAY;;;;;;;UAQI;EAChB,SAAS,eAAe,QAAQ;EAChC,UAAU,cAAc,MAAM,aAAa;;;;;;UAO3B;EAChB,eACC,kBACA,OAAO,YACP;IAAW;IAAoB;;EAEhC,SAAS,mBAAmB;;;;;UAMZ;;EAEhB,YAAY;;EAEZ,gBAAgB;;EAEhB,SAAS;;EAET;;;;;;;;;iBCvEqB,iBACrB,kBACA,SAAS,mBACP;EAAU,UAAU;EAAU,UAAU;;;;;iBA0BrB,iBACrB,kBACA,UAAU,YACV,UAAU,YACV,SAAS,mBACP;EAAU;EAAsB;;;;;;iBAgDb,uBAAuB,GAC5C,kBACA,SAAS,kBACT,SAAS,KAAK,gBAAgB,WAAW,KAAK,QAAQ,WAAW,MAC/D,QAAQ;EAAM;EAAuB;;;;UCxFvB;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;;iBAGK,SACf,KAAK,aACL;EAAU;IACR,WAAW;UAuBG;EAChB;EACA;;UAGgB;EAChB;EACA;;iBAGe,SAAS,KAAK,aAAa,QAAQ,iBAAiB,WAAW;UA2B9D;EAChB;;UAGgB;EAChB;EACA;;iBAGe,aACf,KAAK,aACL,QAAQ,qBACN,WAAW;UA4BG;EAChB;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN;EAAa;;UA2BC;EAChB;EACA;;iBAGe,eACf,KAAK,aACL,QAAQ,uBACN;EAAa;EAAuB;;UA4BtB;EAChB;EACA;EACA;EACA;EACA;EACA;;iBAGe,sBACf,KAAK,aACL,QAAQ,8BACN;EAAa;;UA8BC;EAChB;EACA;EACA;EACA;EACA;EACA;;iBAGe,mBACf,KAAK,aACL,QAAQ,2BACN;EAAa;EAAoB;;UAmCnB;EAChB;EACA;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN;EAAa;EAAqB;;;;iBChSrB;iBAIA;;iBAKA,gBAAgB,IAAI,gBAAc;;iBAwGlC,iBAAiB,OAAO;;iBA0BxB,mBAAmB,oBAAoB;;;UC9HtC;EAChB;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;;iBAGe,WACf,KAAK,aACL,QAAQ,mBACN,WAAW;UAmKG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN;EAAa;;UA8GC;EAChB;EACA;;iBAGe,eACf,KAAK,aACL,QAAQ,uBACN;EAAa;;UA0BC;EAChB;EACA;EAEA;EACA;EAEA;EACA;;iBAGe,gBACf,KAAK,aACL,QAAQ,wBACN;EAAa;;UA6GC;EAChB;EACA;EACA;EACA;EACA;;UAGgB;EAChB;;iBAGe,aACf,KAAK,aACL,QAAQ,qBACN,WAAW;UAuCG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,oBACf,KAAK,aACL,QAAQ,4BACN;EAAa;;UAsDC;EAChB;EACA;;UAGgB;EAChB;;iBAGe,cACf,KAAK,aACL,QAAQ,sBACN,WAAW;UAyDG;EAChB;EACA;;UAGgB;EAChB;;iBAGe,gBACf,KAAK,aACL,QAAQ,wBACN,WAAW;UAqCG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,oBACf,KAAK,aACL,QAAQ,4BACN;EAAa;;;;UC7vBC;EAChB;EACA;EACA,OAAO;IAAQ;IAAa;IAAa;;;iBAG1B,iBACf,KAAK,aACL,QAAQ,yBACN;EAAa;;UA6CC;EAChB;EACA;EACA;EACA;EACA;EACA;;iBAGe,qBACf,KAAK,aACL,QAAQ,6BACN;EAAa;EAAkB;;;;UCjEjB;EAChB;EACA;EAEA;EACA,WAAW;EACX,oBAAoB;IAAQ;IAAe;IAAkB;;EAC7D;EACA;EACA;EAEA;EACA;EACA,aAAa;EACb;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,mBACf,KAAK,aACL,QAAQ,2BACN;EAAa;;UA6HC;EAChB;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;EACA;EACA;EACA,QAAQ;;iBAGO,sBAAsB,KAAK,cAAc,WAAW;;;UCnJnD;EAChB;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA,SAAS;;iBAGM,SAAS,KAAK,aAAa,QAAQ,iBAAiB,WAAW;UA2G9D;EAChB;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;;iBAGe,YACf,KAAK,aACL,QAAQ,oBACN,WAAW;UAiGG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA;EACA;EACA;EACA;EACA;;UAGgB;EAChB;EACA,WAAW;EACX;EACA;;iBAGe,eACf,KAAK,aACL,QAAQ,uBACN,WAAW;;;UC/SG;EAChB;EACA;EACA;EACA;IAAe;IAAgB;;EAC/B;EACA;EACA;;;;;EAKA;;UA0BgB;EAChB;EACA;EACA;EACA;;iBAGqB,kBACrB,KAAK,aACL,QAAQ,0BACN,QAAQ,WAAW;;;UC9CL;EAChB;EACA,cAAc;EACd,aAAa;EACb;;iBAGe,aAAa,KAAK,cAAc,WAAW;UAgB1C;EAChB;;UAGgB;EAChB;EACA,aAAa;;iBAGE,iBACf,KAAK,aACL,QAAQ,yBACN,WAAW;UA8BG;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;iBAGe,kBACf,KAAK,aACL,QAAQ,0BACN;EAAa,aAAa;;UAsCZ;EAChB;EACA;;iBAGe,iBACf,KAAK,aACL,QAAQ,yBACN;EAAa,YAAY;;;;UCpHX;EAChB;EACA;EACA;EACA;EACA;EACA;IAAW;IAAgB;;EAC3B;IACC;IACA;IACA;I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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var pptxViewerCore = require('pptx-viewer-core');
|
|
4
|
-
var path = require('path');
|
|
5
4
|
|
|
6
5
|
// src/execution.ts
|
|
7
6
|
var PPTX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
|
|
@@ -1557,10 +1556,17 @@ function manageComments(ctx, params) {
|
|
|
1557
1556
|
}
|
|
1558
1557
|
}
|
|
1559
1558
|
}
|
|
1560
|
-
function
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1559
|
+
function isNodeRuntime() {
|
|
1560
|
+
return typeof process !== "undefined" && Boolean(process.versions?.node);
|
|
1561
|
+
}
|
|
1562
|
+
async function scopeOutputDir(outputDir, rootDir) {
|
|
1563
|
+
if (!isNodeRuntime()) {
|
|
1564
|
+
return outputDir;
|
|
1565
|
+
}
|
|
1566
|
+
const { isAbsolute, resolve, sep } = await import('path');
|
|
1567
|
+
const root = resolve(rootDir ?? process.env["PPTX_TOOLS_ROOT"] ?? process.cwd());
|
|
1568
|
+
const resolved = isAbsolute(outputDir) ? resolve(outputDir) : resolve(root, outputDir);
|
|
1569
|
+
const rootWithSep = root.endsWith(sep) ? root : root + sep;
|
|
1564
1570
|
if (resolved !== root && !resolved.startsWith(rootWithSep)) {
|
|
1565
1571
|
throw new Error(
|
|
1566
1572
|
`convertToMarkdown: outputDir "${outputDir}" resolves outside the allowed root "${root}"`
|
|
@@ -1577,7 +1583,7 @@ async function convertToMarkdown(ctx, params) {
|
|
|
1577
1583
|
semanticMode: params.semanticMode === true,
|
|
1578
1584
|
sourceName: params.sourceName ?? "unknown"
|
|
1579
1585
|
};
|
|
1580
|
-
const safeOutputDir = scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1586
|
+
const safeOutputDir = await scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1581
1587
|
const converter = new pptxViewerCore.PptxMarkdownConverter(safeOutputDir, options);
|
|
1582
1588
|
const markdown = await converter.convert(ctx.pptxData);
|
|
1583
1589
|
return {
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PptxHandler, hasTextProperties, PptxMarkdownConverter, ThemePresets, getThemePreset, setChartType, setChartTitle, setChartGrouping, setChartLegend, setChartDataLabels, setChartAxis, setChartCategories, addChartSeries, removeChartSeries, updateChartSeriesValues, ChartBuilder, decomposeSmartArt, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, updateSmartArtNodeText, removeSmartArtNode, addSmartArtNode, mergePresentation, diffPresentations, findPlaceholders, applyTemplate, getSectionForSlide, moveSlidesToSection, reorderSections, removeSection, addSection, SvgExporter, replaceWithCustomGeometry, replaceShapeGeometry, setElementLocked, validatePptx, repairPptx, findLayoutByName, findLayoutByType } from 'pptx-viewer-core';
|
|
2
2
|
export { PptxHandler } from 'pptx-viewer-core';
|
|
3
|
-
import { resolve, isAbsolute, sep } from 'path';
|
|
4
3
|
|
|
5
4
|
// src/execution.ts
|
|
6
5
|
var PPTX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
|
|
@@ -1556,7 +1555,14 @@ function manageComments(ctx, params) {
|
|
|
1556
1555
|
}
|
|
1557
1556
|
}
|
|
1558
1557
|
}
|
|
1559
|
-
function
|
|
1558
|
+
function isNodeRuntime() {
|
|
1559
|
+
return typeof process !== "undefined" && Boolean(process.versions?.node);
|
|
1560
|
+
}
|
|
1561
|
+
async function scopeOutputDir(outputDir, rootDir) {
|
|
1562
|
+
if (!isNodeRuntime()) {
|
|
1563
|
+
return outputDir;
|
|
1564
|
+
}
|
|
1565
|
+
const { isAbsolute, resolve, sep } = await import('path');
|
|
1560
1566
|
const root = resolve(rootDir ?? process.env["PPTX_TOOLS_ROOT"] ?? process.cwd());
|
|
1561
1567
|
const resolved = isAbsolute(outputDir) ? resolve(outputDir) : resolve(root, outputDir);
|
|
1562
1568
|
const rootWithSep = root.endsWith(sep) ? root : root + sep;
|
|
@@ -1576,7 +1582,7 @@ async function convertToMarkdown(ctx, params) {
|
|
|
1576
1582
|
semanticMode: params.semanticMode === true,
|
|
1577
1583
|
sourceName: params.sourceName ?? "unknown"
|
|
1578
1584
|
};
|
|
1579
|
-
const safeOutputDir = scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1585
|
+
const safeOutputDir = await scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1580
1586
|
const converter = new PptxMarkdownConverter(safeOutputDir, options);
|
|
1581
1587
|
const markdown = await converter.convert(ctx.pptxData);
|
|
1582
1588
|
return {
|
package/dist/mcp/index.js
CHANGED
|
@@ -5,8 +5,8 @@ var stdio_js = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
|
5
5
|
var mcp_js = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
6
6
|
var zod = require('zod');
|
|
7
7
|
var pptxViewerCore = require('pptx-viewer-core');
|
|
8
|
-
var path = require('path');
|
|
9
8
|
var promises = require('fs/promises');
|
|
9
|
+
var path = require('path');
|
|
10
10
|
|
|
11
11
|
var GetSlideSchema = zod.z.object({
|
|
12
12
|
filePath: zod.z.string().describe("Path to the PPTX file"),
|
|
@@ -1044,10 +1044,17 @@ function manageComments(ctx, params) {
|
|
|
1044
1044
|
}
|
|
1045
1045
|
}
|
|
1046
1046
|
}
|
|
1047
|
-
function
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1047
|
+
function isNodeRuntime() {
|
|
1048
|
+
return typeof process !== "undefined" && Boolean(process.versions?.node);
|
|
1049
|
+
}
|
|
1050
|
+
async function scopeOutputDir(outputDir, rootDir) {
|
|
1051
|
+
if (!isNodeRuntime()) {
|
|
1052
|
+
return outputDir;
|
|
1053
|
+
}
|
|
1054
|
+
const { isAbsolute: isAbsolute2, resolve: resolve2, sep: sep2 } = await import('path');
|
|
1055
|
+
const root = resolve2(rootDir ?? process.env["PPTX_TOOLS_ROOT"] ?? process.cwd());
|
|
1056
|
+
const resolved = isAbsolute2(outputDir) ? resolve2(outputDir) : resolve2(root, outputDir);
|
|
1057
|
+
const rootWithSep = root.endsWith(sep2) ? root : root + sep2;
|
|
1051
1058
|
if (resolved !== root && !resolved.startsWith(rootWithSep)) {
|
|
1052
1059
|
throw new Error(
|
|
1053
1060
|
`convertToMarkdown: outputDir "${outputDir}" resolves outside the allowed root "${root}"`
|
|
@@ -1064,7 +1071,7 @@ async function convertToMarkdown(ctx, params) {
|
|
|
1064
1071
|
semanticMode: params.semanticMode === true,
|
|
1065
1072
|
sourceName: params.sourceName ?? "unknown"
|
|
1066
1073
|
};
|
|
1067
|
-
const safeOutputDir = scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1074
|
+
const safeOutputDir = await scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1068
1075
|
const converter = new pptxViewerCore.PptxMarkdownConverter(safeOutputDir, options);
|
|
1069
1076
|
const markdown = await converter.convert(ctx.pptxData);
|
|
1070
1077
|
return {
|
|
@@ -3053,10 +3060,7 @@ function createServer() {
|
|
|
3053
3060
|
inputSchema: AddSlideSchema.shape
|
|
3054
3061
|
},
|
|
3055
3062
|
async (params) => {
|
|
3056
|
-
const result = await runMcpTool(
|
|
3057
|
-
params.filePath,
|
|
3058
|
-
(ctx) => addSlide(ctx, params)
|
|
3059
|
-
);
|
|
3063
|
+
const result = await runMcpTool(params.filePath, (ctx) => addSlide(ctx, params));
|
|
3060
3064
|
return {
|
|
3061
3065
|
content: [
|
|
3062
3066
|
{
|
|
@@ -3475,10 +3479,7 @@ function createServer() {
|
|
|
3475
3479
|
inputSchema: FindTextSchema.shape
|
|
3476
3480
|
},
|
|
3477
3481
|
async (params) => {
|
|
3478
|
-
const result = await runMcpTool(
|
|
3479
|
-
params.filePath,
|
|
3480
|
-
(ctx) => findText(ctx, params)
|
|
3481
|
-
);
|
|
3482
|
+
const result = await runMcpTool(params.filePath, (ctx) => findText(ctx, params));
|
|
3482
3483
|
return {
|
|
3483
3484
|
content: [
|
|
3484
3485
|
{
|
|
@@ -3724,10 +3725,7 @@ function createServer() {
|
|
|
3724
3725
|
inputSchema: GetMetadataSchema.shape
|
|
3725
3726
|
},
|
|
3726
3727
|
async (params) => {
|
|
3727
|
-
const result = await runMcpTool(
|
|
3728
|
-
params.filePath,
|
|
3729
|
-
(ctx) => getMetadata(ctx)
|
|
3730
|
-
);
|
|
3728
|
+
const result = await runMcpTool(params.filePath, (ctx) => getMetadata(ctx));
|
|
3731
3729
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
3732
3730
|
}
|
|
3733
3731
|
);
|
package/dist/mcp/index.mjs
CHANGED
|
@@ -3,8 +3,8 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
3
3
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { validatePptx, repairPptx, PptxHandler, hasTextProperties, PptxMarkdownConverter, ThemePresets, getThemePreset, setChartType, setChartTitle, setChartGrouping, setChartLegend, setChartDataLabels, setChartAxis, setChartCategories, addChartSeries, removeChartSeries, updateChartSeriesValues, ChartBuilder, decomposeSmartArt, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, updateSmartArtNodeText, removeSmartArtNode, addSmartArtNode, findPlaceholders, applyTemplate, getSectionForSlide, moveSlidesToSection, reorderSections, removeSection, addSection, SvgExporter, replaceWithCustomGeometry, replaceShapeGeometry, setElementLocked, findLayoutByName, findLayoutByType } from 'pptx-viewer-core';
|
|
6
|
-
import { resolve, isAbsolute, sep } from 'path';
|
|
7
6
|
import { writeFile, readFile } from 'fs/promises';
|
|
7
|
+
import { resolve, isAbsolute, sep } from 'path';
|
|
8
8
|
|
|
9
9
|
var GetSlideSchema = z.object({
|
|
10
10
|
filePath: z.string().describe("Path to the PPTX file"),
|
|
@@ -1042,10 +1042,17 @@ function manageComments(ctx, params) {
|
|
|
1042
1042
|
}
|
|
1043
1043
|
}
|
|
1044
1044
|
}
|
|
1045
|
-
function
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1045
|
+
function isNodeRuntime() {
|
|
1046
|
+
return typeof process !== "undefined" && Boolean(process.versions?.node);
|
|
1047
|
+
}
|
|
1048
|
+
async function scopeOutputDir(outputDir, rootDir) {
|
|
1049
|
+
if (!isNodeRuntime()) {
|
|
1050
|
+
return outputDir;
|
|
1051
|
+
}
|
|
1052
|
+
const { isAbsolute: isAbsolute2, resolve: resolve2, sep: sep2 } = await import('path');
|
|
1053
|
+
const root = resolve2(rootDir ?? process.env["PPTX_TOOLS_ROOT"] ?? process.cwd());
|
|
1054
|
+
const resolved = isAbsolute2(outputDir) ? resolve2(outputDir) : resolve2(root, outputDir);
|
|
1055
|
+
const rootWithSep = root.endsWith(sep2) ? root : root + sep2;
|
|
1049
1056
|
if (resolved !== root && !resolved.startsWith(rootWithSep)) {
|
|
1050
1057
|
throw new Error(
|
|
1051
1058
|
`convertToMarkdown: outputDir "${outputDir}" resolves outside the allowed root "${root}"`
|
|
@@ -1062,7 +1069,7 @@ async function convertToMarkdown(ctx, params) {
|
|
|
1062
1069
|
semanticMode: params.semanticMode === true,
|
|
1063
1070
|
sourceName: params.sourceName ?? "unknown"
|
|
1064
1071
|
};
|
|
1065
|
-
const safeOutputDir = scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1072
|
+
const safeOutputDir = await scopeOutputDir(params.outputDir ?? ".", params.rootDir);
|
|
1066
1073
|
const converter = new PptxMarkdownConverter(safeOutputDir, options);
|
|
1067
1074
|
const markdown = await converter.convert(ctx.pptxData);
|
|
1068
1075
|
return {
|
|
@@ -3051,10 +3058,7 @@ function createServer() {
|
|
|
3051
3058
|
inputSchema: AddSlideSchema.shape
|
|
3052
3059
|
},
|
|
3053
3060
|
async (params) => {
|
|
3054
|
-
const result = await runMcpTool(
|
|
3055
|
-
params.filePath,
|
|
3056
|
-
(ctx) => addSlide(ctx, params)
|
|
3057
|
-
);
|
|
3061
|
+
const result = await runMcpTool(params.filePath, (ctx) => addSlide(ctx, params));
|
|
3058
3062
|
return {
|
|
3059
3063
|
content: [
|
|
3060
3064
|
{
|
|
@@ -3473,10 +3477,7 @@ function createServer() {
|
|
|
3473
3477
|
inputSchema: FindTextSchema.shape
|
|
3474
3478
|
},
|
|
3475
3479
|
async (params) => {
|
|
3476
|
-
const result = await runMcpTool(
|
|
3477
|
-
params.filePath,
|
|
3478
|
-
(ctx) => findText(ctx, params)
|
|
3479
|
-
);
|
|
3480
|
+
const result = await runMcpTool(params.filePath, (ctx) => findText(ctx, params));
|
|
3480
3481
|
return {
|
|
3481
3482
|
content: [
|
|
3482
3483
|
{
|
|
@@ -3722,10 +3723,7 @@ function createServer() {
|
|
|
3722
3723
|
inputSchema: GetMetadataSchema.shape
|
|
3723
3724
|
},
|
|
3724
3725
|
async (params) => {
|
|
3725
|
-
const result = await runMcpTool(
|
|
3726
|
-
params.filePath,
|
|
3727
|
-
(ctx) => getMetadata(ctx)
|
|
3728
|
-
);
|
|
3726
|
+
const result = await runMcpTool(params.filePath, (ctx) => getMetadata(ctx));
|
|
3729
3727
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
3730
3728
|
}
|
|
3731
3729
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-viewer-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "PowerPoint PPTX tools and MCP server: manipulate, convert, and collaborate on .pptx files from AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"zod": "^4.4.3"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"tsdown": "^0.22.
|
|
79
|
+
"tsdown": "^0.22.12",
|
|
80
80
|
"tsup": "^8.5.1",
|
|
81
81
|
"typescript": "^7.0.2",
|
|
82
82
|
"vitest": "^4.1.10",
|