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.
Files changed (32) hide show
  1. package/app/docs/content.js +50 -16
  2. package/cli/dist/commands/edit.d.ts +1 -1
  3. package/cli/dist/commands/edit.js +30 -13
  4. package/cli/dist/index.js +0 -0
  5. package/lib/local-editor-server.js +316 -0
  6. package/lib/local-editor-state.js +45 -0
  7. package/lib/local-slide-editor-launcher.js +19 -18
  8. package/lib/pptx-studio-mcp-core.js +15 -9
  9. package/local-editor-app/app/api/edit-slide/local-health/route.js +16 -0
  10. package/local-editor-app/app/edit-slide/edit-slide-client.jsx +13153 -0
  11. package/local-editor-app/app/edit-slide/page.jsx +13 -0
  12. package/local-editor-app/app/globals.css +4 -0
  13. package/local-editor-app/app/layout.jsx +14 -0
  14. package/local-editor-app/components/studio/edit-property-panel.jsx +1061 -0
  15. package/local-editor-app/lib/edit-panel-value-normalizer.js +97 -0
  16. package/local-editor-app/lib/edit-slide-editor-helpers.js +120 -0
  17. package/local-editor-app/lib/edit-slide-url-security.js +247 -0
  18. package/local-editor-app/next.config.mjs +31 -0
  19. package/local-editor-app/package.json +7 -0
  20. package/mcp/pptx-studio-mcp-server.mjs +1 -1
  21. package/package.json +13 -2
  22. package/public/skills/html2pptx/SKILL.md +635 -0
  23. package/public/skills/html2pptx/references/automation-contract.md +68 -0
  24. package/public/skills/html2pptx/references/input-contract.md +107 -0
  25. package/public/skills/html2pptx/references/japanese-slide-design.md +273 -0
  26. package/public/skills/html2pptx/references/rewrite-patterns.md +218 -0
  27. package/public/skills/icon-generator/SKILL.md +133 -0
  28. package/public/skills/open-slide/SKILL.md +160 -0
  29. package/public/skills/publish-template/SKILL.md +215 -0
  30. package/public/skills/register-template/SKILL.md +142 -0
  31. package/scripts/install-mcp.mjs +28 -2
  32. package/scripts/install-skills.mjs +82 -0
@@ -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
+ }