@mulmocast/slide 0.5.1 → 0.6.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.
Files changed (54) hide show
  1. package/README.md +170 -10
  2. package/lib/actions/bundle.d.ts.map +1 -1
  3. package/lib/actions/bundle.js +10 -0
  4. package/lib/actions/bundle.js.map +1 -1
  5. package/lib/actions/extend-merge.d.ts +2 -0
  6. package/lib/actions/extend-merge.d.ts.map +1 -0
  7. package/lib/actions/extend-merge.js +22 -0
  8. package/lib/actions/extend-merge.js.map +1 -0
  9. package/lib/actions/narrate.d.ts +1 -1
  10. package/lib/actions/narrate.d.ts.map +1 -1
  11. package/lib/actions/narrate.js +6 -8
  12. package/lib/actions/narrate.js.map +1 -1
  13. package/lib/actions/pipeline.d.ts +13 -0
  14. package/lib/actions/pipeline.d.ts.map +1 -0
  15. package/lib/actions/pipeline.js +78 -0
  16. package/lib/actions/pipeline.js.map +1 -0
  17. package/lib/cli/action-commands.d.ts +3 -0
  18. package/lib/cli/action-commands.d.ts.map +1 -0
  19. package/lib/cli/action-commands.js +144 -0
  20. package/lib/cli/action-commands.js.map +1 -0
  21. package/lib/cli/convert-commands.d.ts +3 -0
  22. package/lib/cli/convert-commands.d.ts.map +1 -0
  23. package/lib/cli/convert-commands.js +190 -0
  24. package/lib/cli/convert-commands.js.map +1 -0
  25. package/lib/cli/extend-commands.d.ts +3 -0
  26. package/lib/cli/extend-commands.d.ts.map +1 -0
  27. package/lib/cli/extend-commands.js +41 -0
  28. package/lib/cli/extend-commands.js.map +1 -0
  29. package/lib/cli/index.d.ts +3 -0
  30. package/lib/cli/index.d.ts.map +1 -0
  31. package/lib/cli/index.js +31 -0
  32. package/lib/cli/index.js.map +1 -0
  33. package/lib/cli/misc-commands.d.ts +3 -0
  34. package/lib/cli/misc-commands.d.ts.map +1 -0
  35. package/lib/cli/misc-commands.js +86 -0
  36. package/lib/cli/misc-commands.js.map +1 -0
  37. package/lib/cli/options.d.ts +194 -0
  38. package/lib/cli/options.d.ts.map +1 -0
  39. package/lib/cli/options.js +125 -0
  40. package/lib/cli/options.js.map +1 -0
  41. package/lib/cli.js +80 -23
  42. package/lib/cli.js.map +1 -1
  43. package/lib/utils/extended-bundle-merge.d.ts +6 -0
  44. package/lib/utils/extended-bundle-merge.d.ts.map +1 -0
  45. package/lib/utils/extended-bundle-merge.js +71 -0
  46. package/lib/utils/extended-bundle-merge.js.map +1 -0
  47. package/lib/vue/assets/index-BZu3TPGe.js +115 -0
  48. package/lib/vue/assets/index-DyeW2SiG.css +1 -0
  49. package/lib/vue/index.html +13 -0
  50. package/lib/vue/openai-chat.d.ts +12 -0
  51. package/lib/vue/openai-chat.d.ts.map +1 -0
  52. package/lib/vue/openai-chat.js +85 -0
  53. package/lib/vue/openai-chat.js.map +1 -0
  54. package/package.json +27 -24
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-commands.js","sourceRoot":"","sources":["../../src/cli/action-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Argv } from "yargs";
2
+ export declare function registerConvertCommands(yargs: Argv): Argv;
3
+ //# sourceMappingURL=convert-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-commands.d.ts","sourceRoot":"","sources":["../../src/cli/convert-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AA6FlC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CA0JzD"}
@@ -0,0 +1,190 @@
1
+ import * as path from "path";
2
+ import * as fs from "fs";
3
+ import { execSync } from "child_process";
4
+ import { detectFileType, getKeynoteScriptPath } from "../actions/common.js";
5
+ import { convertMarp } from "../convert/marp.js";
6
+ import { convertMarkdown } from "../convert/markdown.js";
7
+ import { convertPptx } from "../convert/pptx.js";
8
+ import { convertPdf } from "../convert/pdf.js";
9
+ import { convertMovie } from "../convert/movie.js";
10
+ import { convertOptions, marpOptions, markdownOptions, videoConvertOptions } from "./options.js";
11
+ async function runConvert(type, file, options) {
12
+ const inputPath = path.resolve(file);
13
+ if (!fs.existsSync(inputPath)) {
14
+ console.error(`File not found: ${inputPath}`);
15
+ process.exit(1);
16
+ }
17
+ switch (type) {
18
+ case "marp":
19
+ await convertMarp({
20
+ inputPath,
21
+ lang: options.lang,
22
+ generateText: options.generateText,
23
+ themePath: options.theme,
24
+ allowLocalFiles: options.allowLocalFiles,
25
+ });
26
+ break;
27
+ case "markdown":
28
+ await convertMarkdown({
29
+ inputPath,
30
+ lang: options.lang,
31
+ generateText: options.generateText,
32
+ separator: options.separator,
33
+ mermaid: options.mermaid,
34
+ directive: options.directive,
35
+ layout: options.layout,
36
+ style: options.style,
37
+ });
38
+ break;
39
+ case "pptx":
40
+ await convertPptx({
41
+ inputPath,
42
+ lang: options.lang,
43
+ generateText: options.generateText,
44
+ });
45
+ break;
46
+ case "pdf":
47
+ await convertPdf({
48
+ inputPath,
49
+ lang: options.lang,
50
+ generateText: options.generateText,
51
+ });
52
+ break;
53
+ case "movie":
54
+ await convertMovie({
55
+ inputPath,
56
+ lang: options.lang,
57
+ bundle: options.bundle,
58
+ targetLangs: options.targetLangs,
59
+ });
60
+ break;
61
+ case "keynote": {
62
+ const scriptPath = getKeynoteScriptPath();
63
+ execSync(`osascript "${scriptPath}" "${inputPath}"`, {
64
+ stdio: "inherit",
65
+ cwd: process.cwd(),
66
+ });
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ export function registerConvertCommands(yargs) {
72
+ return yargs
73
+ .command("marp <file>", "Convert Marp markdown to MulmoScript", (yargs) => {
74
+ return yargs
75
+ .positional("file", {
76
+ describe: "Marp markdown file to convert",
77
+ type: "string",
78
+ demandOption: true,
79
+ })
80
+ .options(marpOptions);
81
+ }, async (argv) => {
82
+ await runConvert("marp", argv.file, {
83
+ lang: argv.l,
84
+ generateText: argv.g,
85
+ theme: argv.theme,
86
+ allowLocalFiles: argv["allow-local-files"],
87
+ });
88
+ })
89
+ .command("markdown <file>", "Convert Markdown to MulmoScript (with separator and plugin options)", (yargs) => {
90
+ return yargs
91
+ .positional("file", {
92
+ describe: "Markdown file to convert",
93
+ type: "string",
94
+ demandOption: true,
95
+ })
96
+ .options(markdownOptions);
97
+ }, async (argv) => {
98
+ await runConvert("markdown", argv.file, {
99
+ lang: argv.l,
100
+ generateText: argv.g,
101
+ separator: argv.s,
102
+ mermaid: argv.mermaid,
103
+ directive: argv.directive,
104
+ layout: argv.layout,
105
+ style: argv.style,
106
+ });
107
+ })
108
+ .command("pptx <file>", "Convert PowerPoint to MulmoScript", (yargs) => {
109
+ return yargs
110
+ .positional("file", {
111
+ describe: "PPTX file to convert",
112
+ type: "string",
113
+ demandOption: true,
114
+ })
115
+ .options(convertOptions);
116
+ }, async (argv) => {
117
+ await runConvert("pptx", argv.file, {
118
+ lang: argv.l,
119
+ generateText: argv.g,
120
+ });
121
+ })
122
+ .command("pdf <file>", "Convert PDF to MulmoScript", (yargs) => {
123
+ return yargs
124
+ .positional("file", {
125
+ describe: "PDF file to convert",
126
+ type: "string",
127
+ demandOption: true,
128
+ })
129
+ .options(convertOptions);
130
+ }, async (argv) => {
131
+ await runConvert("pdf", argv.file, {
132
+ lang: argv.l,
133
+ generateText: argv.g,
134
+ });
135
+ })
136
+ .command("keynote <file>", "Convert Keynote to MulmoScript (macOS only)", (yargs) => {
137
+ return yargs.positional("file", {
138
+ describe: "Keynote file to convert",
139
+ type: "string",
140
+ demandOption: true,
141
+ });
142
+ }, async (argv) => {
143
+ await runConvert("keynote", argv.file, {});
144
+ })
145
+ .command("convert <file>", "Convert presentation or video to MulmoScript (auto-detect format)", (yargs) => {
146
+ return yargs
147
+ .positional("file", {
148
+ describe: "Presentation or video file (.pptx, .md, .key, .pdf, .mp4, .mov, .mkv, .webm, .avi)",
149
+ type: "string",
150
+ demandOption: true,
151
+ })
152
+ .options(videoConvertOptions);
153
+ }, async (argv) => {
154
+ const inputPath = path.resolve(argv.file);
155
+ if (!fs.existsSync(inputPath)) {
156
+ console.error(`File not found: ${inputPath}`);
157
+ process.exit(1);
158
+ }
159
+ const fileType = detectFileType(inputPath);
160
+ const targetLangsStr = argv["target-langs"];
161
+ await runConvert(fileType, argv.file, {
162
+ lang: argv.l,
163
+ generateText: argv.g,
164
+ bundle: argv.bundle,
165
+ targetLangs: targetLangsStr?.split(",").map((l) => l.trim()),
166
+ });
167
+ })
168
+ .command("transcribe <file>", "Transcribe video to MulmoScript with translations and TTS", (yargs) => {
169
+ return yargs
170
+ .positional("file", {
171
+ describe: "Video file (.mp4, .mov, .mkv, .webm, .avi)",
172
+ type: "string",
173
+ demandOption: true,
174
+ })
175
+ .options(videoConvertOptions);
176
+ }, async (argv) => {
177
+ const inputPath = path.resolve(argv.file);
178
+ if (!fs.existsSync(inputPath)) {
179
+ console.error(`File not found: ${inputPath}`);
180
+ process.exit(1);
181
+ }
182
+ const targetLangsStr = argv["target-langs"];
183
+ await runConvert("movie", argv.file, {
184
+ lang: argv.l,
185
+ bundle: argv.bundle,
186
+ targetLangs: targetLangsStr?.split(",").map((l) => l.trim()),
187
+ });
188
+ });
189
+ }
190
+ //# sourceMappingURL=convert-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-commands.js","sourceRoot":"","sources":["../../src/cli/convert-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Argv } from "yargs";
2
+ export declare function registerExtendCommands(yargs: Argv): Argv;
3
+ //# sourceMappingURL=extend-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-commands.d.ts","sourceRoot":"","sources":["../../src/cli/extend-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAgExD"}
@@ -0,0 +1,41 @@
1
+ export function registerExtendCommands(yargs) {
2
+ return yargs.command("extend", "Manage /extend Claude Code skill", (yargs) => {
3
+ return yargs
4
+ .command("init", "Install /extend skill into current project (.claude/skills/extend/)", () => { }, async () => {
5
+ const { runExtendInit } = await import("../actions/extend-init.js");
6
+ runExtendInit();
7
+ })
8
+ .command("validate <file>", "Validate an ExtendedMulmoScript JSON file against the schema", (yargs) => {
9
+ return yargs.positional("file", {
10
+ describe: "ExtendedMulmoScript JSON file to validate",
11
+ type: "string",
12
+ demandOption: true,
13
+ });
14
+ }, async (argv) => {
15
+ const { runExtendValidate } = await import("../actions/extend-validate.js");
16
+ runExtendValidate(argv.file);
17
+ })
18
+ .command("scaffold <file>", "Create ExtendedMulmoScript skeleton from MulmoScript (no LLM needed)", (yargs) => {
19
+ return yargs.positional("file", {
20
+ describe: "MulmoScript JSON file to scaffold",
21
+ type: "string",
22
+ demandOption: true,
23
+ });
24
+ }, async (argv) => {
25
+ const { runExtendScaffold } = await import("../actions/extend-scaffold.js");
26
+ runExtendScaffold(argv.file);
27
+ })
28
+ .command("merge <basename>", "Merge extended_script.json metadata into existing mulmo_view.json bundle", (yargs) => {
29
+ return yargs.positional("basename", {
30
+ describe: "Basename of the project (e.g., 2601.05047v2)",
31
+ type: "string",
32
+ demandOption: true,
33
+ });
34
+ }, async (argv) => {
35
+ const { runExtendMerge } = await import("../actions/extend-merge.js");
36
+ runExtendMerge(argv.basename);
37
+ })
38
+ .demandCommand(1, "Use 'mulmo-slide extend init|validate|scaffold|merge'");
39
+ }, () => { });
40
+ }
41
+ //# sourceMappingURL=extend-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-commands.js","sourceRoot":"","sources":["../../src/cli/extend-commands.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,KAAW;IAChD,OAAO,KAAK,CAAC,OAAO,CAClB,QAAQ,EACR,kCAAkC,EAClC,CAAC,KAAK,EAAE,EAAE;QACR,OAAO,KAAK;aACT,OAAO,CACN,MAAM,EACN,qEAAqE,EACrE,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,IAAI,EAAE;YACT,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YACpE,aAAa,EAAE,CAAC;QAClB,CAAC,CACF;aACA,OAAO,CACN,iBAAiB,EACjB,8DAA8D,EAC9D,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC9B,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC5E,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CACF;aACA,OAAO,CACN,iBAAiB,EACjB,sEAAsE,EACtE,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC9B,QAAQ,EAAE,mCAAmC;gBAC7C,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC5E,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CACF;aACA,OAAO,CACN,kBAAkB,EAClB,0EAA0E,EAC1E,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE;gBAClC,QAAQ,EAAE,8CAA8C;gBACxD,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACtE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CACF;aACA,aAAa,CAAC,CAAC,EAAE,uDAAuD,CAAC,CAAC;IAC/E,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ import dotenv from "dotenv";
3
+ dotenv.config({ quiet: true });
4
+ import yargs from "yargs";
5
+ import { hideBin } from "yargs/helpers";
6
+ import { registerConvertCommands } from "./convert-commands.js";
7
+ import { registerActionCommands } from "./action-commands.js";
8
+ import { registerExtendCommands } from "./extend-commands.js";
9
+ import { registerMiscCommands } from "./misc-commands.js";
10
+ const cli = [
11
+ registerConvertCommands,
12
+ registerActionCommands,
13
+ registerExtendCommands,
14
+ registerMiscCommands,
15
+ ].reduce((y, register) => register(y), yargs(hideBin(process.argv)).scriptName("mulmo-slide").usage("$0 <command> [options]"));
16
+ cli
17
+ .demandCommand(1, "You need to specify a command")
18
+ .strict()
19
+ .showHelpOnFail(false)
20
+ .fail((msg, err) => {
21
+ if (err) {
22
+ console.error(`\n✗ Error: ${err.message}`);
23
+ }
24
+ else if (msg) {
25
+ console.error(msg);
26
+ }
27
+ process.exit(1);
28
+ })
29
+ .help()
30
+ .parse();
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,GAAG,GAAG;IACV,uBAAuB;IACvB,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;CACrB,CAAC,MAAM,CACN,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC5B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACvF,CAAC;AAEF,GAAG;KACA,aAAa,CAAC,CAAC,EAAE,+BAA+B,CAAC;KACjD,MAAM,EAAE;KACR,cAAc,CAAC,KAAK,CAAC;KACrB,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACjB,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,IAAI,EAAE;KACN,KAAK,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Argv } from "yargs";
2
+ export declare function registerMiscCommands(yargs: Argv): Argv;
3
+ //# sourceMappingURL=misc-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc-commands.d.ts","sourceRoot":"","sources":["../../src/cli/misc-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAKlC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAsGtD"}
@@ -0,0 +1,86 @@
1
+ import { langOption } from "../utils/lang.js";
2
+ import { startPreviewServer } from "../actions/preview.js";
3
+ export function registerMiscCommands(yargs) {
4
+ return yargs
5
+ .command("narrate <file>", "Generate narrated ExtendedMulmoScript from source file (full pipeline)", (yargs) => {
6
+ return yargs
7
+ .positional("file", {
8
+ describe: "Source file (.pdf, .pptx, .md, .key)",
9
+ type: "string",
10
+ demandOption: true,
11
+ })
12
+ .options({
13
+ ...langOption,
14
+ "scaffold-only": {
15
+ type: "boolean",
16
+ description: "Only create scaffold (no LLM, for Claude Code handoff)",
17
+ default: false,
18
+ },
19
+ f: {
20
+ alias: "force",
21
+ type: "boolean",
22
+ description: "Force regenerate MulmoScript even if it exists",
23
+ default: false,
24
+ },
25
+ s: {
26
+ alias: "separator",
27
+ type: "string",
28
+ description: "Slide separator mode (for Markdown files)",
29
+ choices: [
30
+ "horizontal-rule",
31
+ "heading",
32
+ "heading-1",
33
+ "heading-2",
34
+ "heading-3",
35
+ "blank-lines",
36
+ "comment",
37
+ "page-break",
38
+ ],
39
+ },
40
+ mermaid: {
41
+ type: "boolean",
42
+ description: "Convert mermaid code blocks (for Markdown files)",
43
+ default: false,
44
+ },
45
+ });
46
+ }, async (argv) => {
47
+ const { runNarrate } = await import("../actions/narrate.js");
48
+ await runNarrate(argv.file, {
49
+ lang: argv.l,
50
+ scaffoldOnly: argv["scaffold-only"],
51
+ force: argv.f,
52
+ separator: argv.s,
53
+ mermaid: argv.mermaid,
54
+ });
55
+ })
56
+ .command("parse-md <file>", "Parse markdown structure and generate JSON Schemas for LLM planning", (yargs) => {
57
+ return yargs.positional("file", {
58
+ describe: "Markdown file to parse",
59
+ type: "string",
60
+ demandOption: true,
61
+ });
62
+ }, async (argv) => {
63
+ const { runParseMd } = await import("../actions/md-to-extended.js");
64
+ runParseMd(argv.file);
65
+ })
66
+ .command("assemble-extended <file>", "Assemble ExtendedMulmoScript from presentation plan JSON", (yargs) => {
67
+ return yargs.positional("file", {
68
+ describe: "Presentation plan JSON file (presentation_plan.json)",
69
+ type: "string",
70
+ demandOption: true,
71
+ });
72
+ }, async (argv) => {
73
+ const { runAssembleExtended } = await import("../actions/md-to-extended.js");
74
+ runAssembleExtended(argv.file);
75
+ })
76
+ .command("preview [port]", "Start MulmoViewer preview server", (yargs) => {
77
+ return yargs.positional("port", {
78
+ describe: "Port number for the server",
79
+ type: "number",
80
+ default: 3000,
81
+ });
82
+ }, (argv) => {
83
+ startPreviewServer(argv.port);
84
+ });
85
+ }
86
+ //# sourceMappingURL=misc-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc-commands.js","sourceRoot":"","sources":["../../src/cli/misc-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ import { type SupportedLang } from "../utils/lang.js";
2
+ export declare const convertOptions: {
3
+ g: {
4
+ alias: string;
5
+ type: "boolean";
6
+ description: string;
7
+ default: boolean;
8
+ };
9
+ l: {
10
+ alias: string;
11
+ type: "string";
12
+ choices: string[];
13
+ description: string;
14
+ default: undefined;
15
+ };
16
+ };
17
+ export declare const actionOptions: {
18
+ f: {
19
+ alias: string;
20
+ type: "boolean";
21
+ description: string;
22
+ default: boolean;
23
+ };
24
+ g: {
25
+ alias: string;
26
+ type: "boolean";
27
+ description: string;
28
+ default: boolean;
29
+ };
30
+ profile: {
31
+ type: "string";
32
+ description: string;
33
+ };
34
+ section: {
35
+ type: "string";
36
+ description: string;
37
+ };
38
+ tags: {
39
+ type: "string";
40
+ description: string;
41
+ };
42
+ l: {
43
+ alias: string;
44
+ type: "string";
45
+ choices: string[];
46
+ description: string;
47
+ default: undefined;
48
+ };
49
+ };
50
+ export declare const movieOptions: {
51
+ t: {
52
+ alias: string;
53
+ type: "string";
54
+ description: string;
55
+ };
56
+ c: {
57
+ alias: string;
58
+ type: "string";
59
+ description: string;
60
+ };
61
+ f: {
62
+ alias: string;
63
+ type: "boolean";
64
+ description: string;
65
+ default: boolean;
66
+ };
67
+ g: {
68
+ alias: string;
69
+ type: "boolean";
70
+ description: string;
71
+ default: boolean;
72
+ };
73
+ profile: {
74
+ type: "string";
75
+ description: string;
76
+ };
77
+ section: {
78
+ type: "string";
79
+ description: string;
80
+ };
81
+ tags: {
82
+ type: "string";
83
+ description: string;
84
+ };
85
+ l: {
86
+ alias: string;
87
+ type: "string";
88
+ choices: string[];
89
+ description: string;
90
+ default: undefined;
91
+ };
92
+ };
93
+ export declare const marpOptions: {
94
+ theme: {
95
+ type: "string";
96
+ description: string;
97
+ };
98
+ "allow-local-files": {
99
+ type: "boolean";
100
+ description: string;
101
+ default: boolean;
102
+ };
103
+ g: {
104
+ alias: string;
105
+ type: "boolean";
106
+ description: string;
107
+ default: boolean;
108
+ };
109
+ l: {
110
+ alias: string;
111
+ type: "string";
112
+ choices: string[];
113
+ description: string;
114
+ default: undefined;
115
+ };
116
+ };
117
+ export declare const markdownOptions: {
118
+ s: {
119
+ alias: string;
120
+ type: "string";
121
+ description: string;
122
+ choices: readonly ["horizontal-rule", "heading", "heading-1", "heading-2", "heading-3", "blank-lines", "comment", "page-break"];
123
+ default: string;
124
+ };
125
+ mermaid: {
126
+ type: "boolean";
127
+ description: string;
128
+ default: boolean;
129
+ };
130
+ directive: {
131
+ type: "boolean";
132
+ description: string;
133
+ default: boolean;
134
+ };
135
+ layout: {
136
+ type: "boolean";
137
+ description: string;
138
+ default: boolean;
139
+ };
140
+ style: {
141
+ type: "string";
142
+ description: string;
143
+ };
144
+ g: {
145
+ alias: string;
146
+ type: "boolean";
147
+ description: string;
148
+ default: boolean;
149
+ };
150
+ l: {
151
+ alias: string;
152
+ type: "string";
153
+ choices: string[];
154
+ description: string;
155
+ default: undefined;
156
+ };
157
+ };
158
+ export declare const videoConvertOptions: {
159
+ bundle: {
160
+ type: "boolean";
161
+ description: string;
162
+ default: boolean;
163
+ };
164
+ "target-langs": {
165
+ type: "string";
166
+ description: string;
167
+ default: string;
168
+ };
169
+ g: {
170
+ alias: string;
171
+ type: "boolean";
172
+ description: string;
173
+ default: boolean;
174
+ };
175
+ l: {
176
+ alias: string;
177
+ type: "string";
178
+ choices: string[];
179
+ description: string;
180
+ default: undefined;
181
+ };
182
+ };
183
+ export interface ActionOptions {
184
+ force?: boolean;
185
+ generateText?: boolean;
186
+ lang?: SupportedLang;
187
+ targetLang?: string;
188
+ captionLang?: string;
189
+ profile?: string;
190
+ section?: string;
191
+ tags?: string;
192
+ }
193
+ export declare const parseTags: (tags: string | undefined) => string[] | undefined;
194
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGlE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAQ1B,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYxB,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;CAWvB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC3B,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;CAY/B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,MAAM,EAAE,GAAG,SAG/D,CAAC"}