pptx-viewer-mcp 2.5.3 → 2.5.5
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 +14 -0
- package/dist/codec/index.js +10 -1
- package/dist/codec/index.mjs +10 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ A release listed with no entries carried no Conventional Commit in this package'
|
|
|
7
7
|
scope: scripts/release-plan.mjs re-releases a package whenever any of its files
|
|
8
8
|
change, not only on conventional ones.
|
|
9
9
|
|
|
10
|
+
## [2.5.4](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@2.5.4) - 2026-09-18
|
|
11
|
+
|
|
12
|
+
## [2.5.3](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@2.5.3) - 2026-09-17
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- **tools:** Preserve consecutive collaborative text breaks (by @Sudhansh6) ([e32b60b](https://github.com/ChristopherVR/pptx-viewer/commit/e32b60bcbf9bf7608bac1597ef27289e57424f32))
|
|
17
|
+
|
|
18
|
+
### Chores
|
|
19
|
+
|
|
20
|
+
- Merge main into live list editing (by @Sudhansh6) ([a9b760d](https://github.com/ChristopherVR/pptx-viewer/commit/a9b760d9c051b39066731665824af3230b8797db))
|
|
21
|
+
- Sync upstream validation and ribbon updates (by @Sudhansh6) ([c70516c](https://github.com/ChristopherVR/pptx-viewer/commit/c70516c0389efd29e2dde70aeb041053fe9bd17b))
|
|
22
|
+
- Merge main and resolve locale documentation conflicts (by @yunfeizhu) ([ac9123d](https://github.com/ChristopherVR/pptx-viewer/commit/ac9123d4fa531cd591898a721bd690cca25b2cf6))
|
|
23
|
+
|
|
10
24
|
## [2.5.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@2.5.2) - 2026-09-14
|
|
11
25
|
|
|
12
26
|
### Documentation
|
package/dist/codec/index.js
CHANGED
|
@@ -31,6 +31,9 @@ function buildAttrs(seg) {
|
|
|
31
31
|
if (seg.endParaRunProperties) {
|
|
32
32
|
a.pr = JSON.stringify(seg.endParaRunProperties);
|
|
33
33
|
}
|
|
34
|
+
if (seg.paragraphProperties) {
|
|
35
|
+
a.pp = JSON.stringify(seg.paragraphProperties);
|
|
36
|
+
}
|
|
34
37
|
if (typeof seg.fieldType === "string") {
|
|
35
38
|
a.ft = seg.fieldType;
|
|
36
39
|
}
|
|
@@ -70,7 +73,7 @@ function encodeTextBodyToYText(segments, ytext) {
|
|
|
70
73
|
let offset = 0;
|
|
71
74
|
for (const raw of segments) {
|
|
72
75
|
const seg = raw;
|
|
73
|
-
const attrs = buildAttrs(seg);
|
|
76
|
+
const attrs = buildAttrs(seg) ?? {};
|
|
74
77
|
if (seg.isParagraphBreak === true || seg.isLineBreak === true) {
|
|
75
78
|
ytext.insert(offset, "\n", attrs);
|
|
76
79
|
offset += 1;
|
|
@@ -121,6 +124,12 @@ function decodeTextBodyFromYText(ytext) {
|
|
|
121
124
|
} catch {
|
|
122
125
|
}
|
|
123
126
|
}
|
|
127
|
+
if (a.pp) {
|
|
128
|
+
try {
|
|
129
|
+
seg.paragraphProperties = JSON.parse(a.pp);
|
|
130
|
+
} catch {
|
|
131
|
+
}
|
|
132
|
+
}
|
|
124
133
|
if (a.ft) {
|
|
125
134
|
seg.fieldType = a.ft;
|
|
126
135
|
}
|
package/dist/codec/index.mjs
CHANGED
|
@@ -29,6 +29,9 @@ function buildAttrs(seg) {
|
|
|
29
29
|
if (seg.endParaRunProperties) {
|
|
30
30
|
a.pr = JSON.stringify(seg.endParaRunProperties);
|
|
31
31
|
}
|
|
32
|
+
if (seg.paragraphProperties) {
|
|
33
|
+
a.pp = JSON.stringify(seg.paragraphProperties);
|
|
34
|
+
}
|
|
32
35
|
if (typeof seg.fieldType === "string") {
|
|
33
36
|
a.ft = seg.fieldType;
|
|
34
37
|
}
|
|
@@ -68,7 +71,7 @@ function encodeTextBodyToYText(segments, ytext) {
|
|
|
68
71
|
let offset = 0;
|
|
69
72
|
for (const raw of segments) {
|
|
70
73
|
const seg = raw;
|
|
71
|
-
const attrs = buildAttrs(seg);
|
|
74
|
+
const attrs = buildAttrs(seg) ?? {};
|
|
72
75
|
if (seg.isParagraphBreak === true || seg.isLineBreak === true) {
|
|
73
76
|
ytext.insert(offset, "\n", attrs);
|
|
74
77
|
offset += 1;
|
|
@@ -119,6 +122,12 @@ function decodeTextBodyFromYText(ytext) {
|
|
|
119
122
|
} catch {
|
|
120
123
|
}
|
|
121
124
|
}
|
|
125
|
+
if (a.pp) {
|
|
126
|
+
try {
|
|
127
|
+
seg.paragraphProperties = JSON.parse(a.pp);
|
|
128
|
+
} catch {
|
|
129
|
+
}
|
|
130
|
+
}
|
|
122
131
|
if (a.ft) {
|
|
123
132
|
seg.fieldType = a.ft;
|
|
124
133
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-viewer-mcp",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.5",
|
|
4
4
|
"description": "PowerPoint PPTX tools and MCP server: manipulate, convert, and collaborate on .pptx files from AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
73
73
|
"fast-xml-parser": "^5.11.1",
|
|
74
74
|
"jszip": "^3.10.2",
|
|
75
|
-
"pptx-viewer-core": "^
|
|
75
|
+
"pptx-viewer-core": "^4.0.1",
|
|
76
76
|
"zod": ">=4.4.3 <4.5.3"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|