html2pptx-local-mcp 1.1.20 → 1.1.21
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/app/docs/content.js +50 -16
- package/cli/dist/commands/edit.d.ts +1 -1
- package/cli/dist/commands/edit.js +30 -13
- package/cli/dist/index.js +0 -0
- package/lib/local-editor-server.js +316 -0
- package/lib/local-editor-state.js +45 -0
- package/lib/local-slide-editor-launcher.js +19 -18
- package/lib/pptx-studio-mcp-core.js +15 -9
- package/local-editor-app/app/api/edit-slide/local-health/route.js +16 -0
- package/local-editor-app/app/edit-slide/edit-slide-client.jsx +13153 -0
- package/local-editor-app/app/edit-slide/page.jsx +13 -0
- package/local-editor-app/app/globals.css +4 -0
- package/local-editor-app/app/layout.jsx +14 -0
- package/local-editor-app/components/studio/edit-property-panel.jsx +1061 -0
- package/local-editor-app/lib/edit-panel-value-normalizer.js +97 -0
- package/local-editor-app/lib/edit-slide-editor-helpers.js +120 -0
- package/local-editor-app/lib/edit-slide-url-security.js +247 -0
- package/local-editor-app/next.config.mjs +31 -0
- package/local-editor-app/package.json +7 -0
- package/mcp/pptx-studio-mcp-server.mjs +1 -1
- package/package.json +13 -2
- package/public/skills/html2pptx/SKILL.md +635 -0
- package/public/skills/html2pptx/references/automation-contract.md +68 -0
- package/public/skills/html2pptx/references/input-contract.md +107 -0
- package/public/skills/html2pptx/references/japanese-slide-design.md +273 -0
- package/public/skills/html2pptx/references/rewrite-patterns.md +218 -0
- package/public/skills/icon-generator/SKILL.md +133 -0
- package/public/skills/open-slide/SKILL.md +160 -0
- package/public/skills/publish-template/SKILL.md +215 -0
- package/public/skills/register-template/SKILL.md +142 -0
- package/scripts/install-mcp.mjs +28 -2
- package/scripts/install-skills.mjs +82 -0
package/scripts/install-mcp.mjs
CHANGED
|
@@ -21,7 +21,7 @@ if (help) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
if (!client) {
|
|
24
|
-
console.error('Unknown MCP client. Use one of: claude, codex.');
|
|
24
|
+
console.error('Unknown MCP client. Use one of: claude, codex, grok.');
|
|
25
25
|
printHelp();
|
|
26
26
|
process.exit(1);
|
|
27
27
|
}
|
|
@@ -62,6 +62,7 @@ function resolveClient(argv) {
|
|
|
62
62
|
function normalizeClient(value) {
|
|
63
63
|
if (value === 'claude' || value === 'claude-code') return 'claude';
|
|
64
64
|
if (value === 'codex') return 'codex';
|
|
65
|
+
if (value === 'grok' || value === 'grok-build') return 'grok';
|
|
65
66
|
return null;
|
|
66
67
|
}
|
|
67
68
|
|
|
@@ -78,6 +79,29 @@ function buildSteps(targetClient) {
|
|
|
78
79
|
];
|
|
79
80
|
}
|
|
80
81
|
|
|
82
|
+
if (targetClient === 'grok') {
|
|
83
|
+
return [
|
|
84
|
+
{
|
|
85
|
+
command: 'grok',
|
|
86
|
+
args: ['mcp', 'add', REMOTE_SERVER_NAME, '--url', REMOTE_MCP_URL],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
command: 'grok',
|
|
90
|
+
args: [
|
|
91
|
+
'mcp',
|
|
92
|
+
'add',
|
|
93
|
+
LOCAL_SERVER_NAME,
|
|
94
|
+
'--command',
|
|
95
|
+
'npx',
|
|
96
|
+
`--args=--yes`,
|
|
97
|
+
`--args=--package`,
|
|
98
|
+
`--args=${LOCAL_PACKAGE_SPEC}`,
|
|
99
|
+
`--args=html2pptx-mcp`,
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
];
|
|
103
|
+
}
|
|
104
|
+
|
|
81
105
|
return [
|
|
82
106
|
{
|
|
83
107
|
command: 'codex',
|
|
@@ -193,13 +217,15 @@ function isAlreadyRegistered(output) {
|
|
|
193
217
|
function printHelp() {
|
|
194
218
|
console.log(`
|
|
195
219
|
Usage:
|
|
196
|
-
html2pptx-install-mcp [claude|codex] [--dry-run]
|
|
220
|
+
html2pptx-install-mcp [claude|codex|grok] [--dry-run]
|
|
197
221
|
html2pptx-install-mcp --client claude
|
|
198
222
|
html2pptx-install-mcp --client codex
|
|
223
|
+
html2pptx-install-mcp --client grok
|
|
199
224
|
|
|
200
225
|
Examples:
|
|
201
226
|
npx --yes --package html2pptx-local-mcp@latest html2pptx-install-mcp claude
|
|
202
227
|
npx --yes --package html2pptx-local-mcp@latest html2pptx-install-mcp codex
|
|
228
|
+
npx --yes --package html2pptx-local-mcp@latest html2pptx-install-mcp grok
|
|
203
229
|
|
|
204
230
|
Optional:
|
|
205
231
|
HTML2PPTX_LOCAL_MCP_PACKAGE_SPEC=<package-or-tarball> html2pptx-install-mcp claude
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { cpSync, existsSync, mkdirSync } from 'node:fs';
|
|
4
|
+
import { dirname, join } from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
|
|
7
|
+
const PACKAGE_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
8
|
+
const PUBLIC_SKILLS_DIR = join(PACKAGE_ROOT, 'public', 'skills');
|
|
9
|
+
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
const dryRun = args.includes('--dry-run');
|
|
12
|
+
const help = args.includes('--help') || args.includes('-h');
|
|
13
|
+
const client = resolveClient(args);
|
|
14
|
+
|
|
15
|
+
if (help) {
|
|
16
|
+
printHelp();
|
|
17
|
+
process.exit(0);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (!client) {
|
|
21
|
+
console.error('Unknown skills client. Use: grok.');
|
|
22
|
+
printHelp();
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
console.log(`Installing html2pptx skills for ${client}.`);
|
|
27
|
+
installGrokSkills();
|
|
28
|
+
console.log('');
|
|
29
|
+
console.log('html2pptx skills setup finished.');
|
|
30
|
+
|
|
31
|
+
function resolveClient(argv) {
|
|
32
|
+
const clientFlagIndex = argv.findIndex((value) => value === '--client');
|
|
33
|
+
if (clientFlagIndex !== -1) {
|
|
34
|
+
return normalizeClient(argv[clientFlagIndex + 1]);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const clientEquals = argv.find((value) => value.startsWith('--client='));
|
|
38
|
+
if (clientEquals) {
|
|
39
|
+
return normalizeClient(clientEquals.slice('--client='.length));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const positional = argv.find((value) => !value.startsWith('-'));
|
|
43
|
+
return normalizeClient(positional || 'grok');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function normalizeClient(value) {
|
|
47
|
+
if (value === 'grok' || value === 'grok-build') return 'grok';
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function installGrokSkills() {
|
|
52
|
+
const targetRoot = join(process.env.HOME || process.cwd(), '.grok', 'skills');
|
|
53
|
+
|
|
54
|
+
console.log(`> install Grok skills ${PUBLIC_SKILLS_DIR} -> ${targetRoot}`);
|
|
55
|
+
|
|
56
|
+
if (dryRun) return;
|
|
57
|
+
|
|
58
|
+
if (!existsSync(PUBLIC_SKILLS_DIR)) {
|
|
59
|
+
console.error(`Public skills directory not found: ${PUBLIC_SKILLS_DIR}`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
mkdirSync(targetRoot, { recursive: true });
|
|
64
|
+
cpSync(PUBLIC_SKILLS_DIR, targetRoot, {
|
|
65
|
+
recursive: true,
|
|
66
|
+
force: true,
|
|
67
|
+
errorOnExist: false,
|
|
68
|
+
});
|
|
69
|
+
console.log(`Installed html2pptx skills in ${targetRoot}.`);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function printHelp() {
|
|
73
|
+
console.log(`
|
|
74
|
+
Usage:
|
|
75
|
+
html2pptx-install-skills [grok] [--dry-run]
|
|
76
|
+
html2pptx-install-skills --client grok
|
|
77
|
+
|
|
78
|
+
Examples:
|
|
79
|
+
npx --yes --package html2pptx-local-mcp@latest html2pptx-install-skills grok
|
|
80
|
+
npx --yes --package html2pptx-local-mcp@latest html2pptx-install-skills --client grok
|
|
81
|
+
`.trim());
|
|
82
|
+
}
|