@mulmocast/slide 0.1.7 → 0.2.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 (107) hide show
  1. package/README.md +71 -0
  2. package/lib/actions/bundle.js +14 -20
  3. package/lib/actions/bundle.js.map +1 -1
  4. package/lib/actions/common.d.ts +1 -1
  5. package/lib/actions/common.d.ts.map +1 -1
  6. package/lib/actions/common.js +26 -66
  7. package/lib/actions/common.js.map +1 -1
  8. package/lib/actions/movie.js +14 -20
  9. package/lib/actions/movie.js.map +1 -1
  10. package/lib/actions/preview.d.ts.map +1 -1
  11. package/lib/actions/preview.js +19 -55
  12. package/lib/actions/preview.js.map +1 -1
  13. package/lib/actions/upload.js +5 -44
  14. package/lib/actions/upload.js.map +1 -1
  15. package/lib/cli.js +42 -73
  16. package/lib/cli.js.map +1 -1
  17. package/lib/convert/markdown-plugins/directive.d.ts +1 -1
  18. package/lib/convert/markdown-plugins/directive.d.ts.map +1 -1
  19. package/lib/convert/markdown-plugins/directive.js +2 -5
  20. package/lib/convert/markdown-plugins/directive.js.map +1 -1
  21. package/lib/convert/markdown-plugins/index.d.ts +2 -2
  22. package/lib/convert/markdown-plugins/index.d.ts.map +1 -1
  23. package/lib/convert/markdown-plugins/index.js +23 -30
  24. package/lib/convert/markdown-plugins/index.js.map +1 -1
  25. package/lib/convert/markdown-plugins/layout.d.ts +91 -0
  26. package/lib/convert/markdown-plugins/layout.d.ts.map +1 -0
  27. package/lib/convert/markdown-plugins/layout.js +251 -0
  28. package/lib/convert/markdown-plugins/layout.js.map +1 -0
  29. package/lib/convert/markdown-plugins/mermaid.d.ts +1 -1
  30. package/lib/convert/markdown-plugins/mermaid.d.ts.map +1 -1
  31. package/lib/convert/markdown-plugins/mermaid.js +2 -5
  32. package/lib/convert/markdown-plugins/mermaid.js.map +1 -1
  33. package/lib/convert/markdown-plugins/types.d.ts +2 -0
  34. package/lib/convert/markdown-plugins/types.d.ts.map +1 -1
  35. package/lib/convert/markdown-plugins/types.js +1 -2
  36. package/lib/convert/markdown-plugins/types.js.map +1 -1
  37. package/lib/convert/markdown-transform.d.ts +42 -0
  38. package/lib/convert/markdown-transform.d.ts.map +1 -0
  39. package/lib/convert/markdown-transform.js +58 -0
  40. package/lib/convert/markdown-transform.js.map +1 -0
  41. package/lib/convert/markdown-utils-common.d.ts +21 -0
  42. package/lib/convert/markdown-utils-common.d.ts.map +1 -0
  43. package/lib/convert/markdown-utils-common.js +51 -0
  44. package/lib/convert/markdown-utils-common.js.map +1 -0
  45. package/lib/convert/markdown-utils.d.ts +4 -17
  46. package/lib/convert/markdown-utils.d.ts.map +1 -1
  47. package/lib/convert/markdown-utils.js +10 -91
  48. package/lib/convert/markdown-utils.js.map +1 -1
  49. package/lib/convert/markdown.d.ts +1 -1
  50. package/lib/convert/markdown.d.ts.map +1 -1
  51. package/lib/convert/markdown.js +36 -88
  52. package/lib/convert/markdown.js.map +1 -1
  53. package/lib/convert/marp.d.ts +4 -11
  54. package/lib/convert/marp.d.ts.map +1 -1
  55. package/lib/convert/marp.js +25 -119
  56. package/lib/convert/marp.js.map +1 -1
  57. package/lib/convert/movie.d.ts +1 -1
  58. package/lib/convert/movie.d.ts.map +1 -1
  59. package/lib/convert/movie.js +26 -64
  60. package/lib/convert/movie.js.map +1 -1
  61. package/lib/convert/movie_bundle.js +5 -44
  62. package/lib/convert/movie_bundle.js.map +1 -1
  63. package/lib/convert/pdf.d.ts +1 -1
  64. package/lib/convert/pdf.d.ts.map +1 -1
  65. package/lib/convert/pdf.js +18 -56
  66. package/lib/convert/pdf.js.map +1 -1
  67. package/lib/convert/pptx.d.ts +1 -1
  68. package/lib/convert/pptx.d.ts.map +1 -1
  69. package/lib/convert/pptx.js +31 -68
  70. package/lib/convert/pptx.js.map +1 -1
  71. package/lib/index.browser.d.ts +13 -0
  72. package/lib/index.browser.d.ts.map +1 -0
  73. package/lib/index.browser.js +13 -0
  74. package/lib/index.browser.js.map +1 -0
  75. package/lib/index.common.d.ts +17 -0
  76. package/lib/index.common.d.ts.map +1 -0
  77. package/lib/index.common.js +18 -0
  78. package/lib/index.common.js.map +1 -0
  79. package/lib/index.node.d.ts +11 -0
  80. package/lib/index.node.d.ts.map +1 -0
  81. package/lib/index.node.js +13 -0
  82. package/lib/index.node.js.map +1 -0
  83. package/lib/utils/audio-save.js +8 -49
  84. package/lib/utils/audio-save.js.map +1 -1
  85. package/lib/utils/bundle-server.js +6 -45
  86. package/lib/utils/bundle-server.js.map +1 -1
  87. package/lib/utils/dependencies.js +6 -43
  88. package/lib/utils/dependencies.js.map +1 -1
  89. package/lib/utils/lang-common.d.ts +10 -0
  90. package/lib/utils/lang-common.d.ts.map +1 -0
  91. package/lib/utils/lang-common.js +11 -0
  92. package/lib/utils/lang-common.js.map +1 -0
  93. package/lib/utils/lang.d.ts +3 -4
  94. package/lib/utils/lang.d.ts.map +1 -1
  95. package/lib/utils/lang.js +11 -21
  96. package/lib/utils/lang.js.map +1 -1
  97. package/lib/utils/llm.d.ts +1 -1
  98. package/lib/utils/llm.d.ts.map +1 -1
  99. package/lib/utils/llm.js +6 -46
  100. package/lib/utils/llm.js.map +1 -1
  101. package/lib/utils/pdf.d.ts +1 -1
  102. package/lib/utils/pdf.d.ts.map +1 -1
  103. package/lib/utils/pdf.js +13 -52
  104. package/lib/utils/pdf.js.map +1 -1
  105. package/lib/vue/main.js +4 -9
  106. package/lib/vue/main.js.map +1 -1
  107. package/package.json +19 -8
package/README.md CHANGED
@@ -291,6 +291,7 @@ yarn markdown path/to/document.md -s heading --mermaid --style corporate-blue
291
291
  - `-s, --separator` - Slide separator mode (see below)
292
292
  - `--mermaid` - Convert mermaid code blocks to mermaid beat type
293
293
  - `--directive` - Remove Marp-style directives
294
+ - `--layout` - Auto-detect layout based on content (see below)
294
295
  - `--style` - Markdown slide style (e.g., corporate-blue, finance-green)
295
296
 
296
297
  **Separator Modes:**
@@ -306,6 +307,76 @@ yarn markdown path/to/document.md -s heading --mermaid --style corporate-blue
306
307
  | `comment` | Split by `<!-- slide -->` | HTML-compatible |
307
308
  | `page-break` | Split by `<!-- pagebreak -->` | Print-style documents |
308
309
 
310
+ **Layout Auto-Detection (`--layout`):**
311
+
312
+ When enabled, the converter automatically detects the best layout based on content.
313
+
314
+ Detection rules are evaluated in order (first match wins):
315
+
316
+ **Phase 1: Header Detection (H1)**
317
+
318
+ If markdown contains an H1 heading (`# Title`), it becomes the header and remaining content is analyzed:
319
+
320
+ ```
321
+ ┌─────────────────────────────────────┬─────────────────┬─────────────────────────────────┐
322
+ │ Content Pattern │ Layout │ Conditions │
323
+ ├─────────────────────────────────────┼─────────────────┼─────────────────────────────────┤
324
+ │ H1 only │ (no layout) │ Only H1, no other content │
325
+ │ │ │ → default markdown (array) │
326
+ ├─────────────────────────────────────┼─────────────────┼─────────────────────────────────┤
327
+ │ H1 + unstructured content │ header+content │ H1 + text without H2/H3 │
328
+ │ │ │ → { header, content: [...] } │
329
+ ├─────────────────────────────────────┼─────────────────┼─────────────────────────────────┤
330
+ │ H1 + structured content │ header+row-2 │ H1 + content matching row-2/2x2 │
331
+ │ │ header+2x2 │ → { header, "row-2": [...] } │
332
+ └─────────────────────────────────────┴─────────────────┴─────────────────────────────────┘
333
+ ```
334
+
335
+ **Phase 2: Content Layout Rules (no H1, or applied to content after H1)**
336
+
337
+ ```
338
+ ┌─────────────────────────────────────┬────────────┬─────────────────────────────────────┐
339
+ │ Content Pattern │ Layout │ Conditions │
340
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
341
+ │ 1. Single code block + text │ row-2 │ Exactly 1 code block (```) │
342
+ │ │ │ Text content > 20 chars │
343
+ │ │ │ → [text, code] │
344
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
345
+ │ 2. Single image + text │ row-2 │ Exactly 1 image (![]()) │
346
+ │ │ │ Text content > 20 chars │
347
+ │ │ │ → [text, image] │
348
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
349
+ │ 3. 4+ H3 sections (short) │ 2x2 │ 4 or more ### headings │
350
+ │ │ │ Avg content < 200 chars │
351
+ │ │ │ → first 4 sections │
352
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
353
+ │ 4. 4+ H2 sections (short) │ 2x2 │ 4 or more ## headings │
354
+ │ │ │ Avg content < 200 chars │
355
+ │ │ │ → first 4 sections │
356
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
357
+ │ 5. 4+ H2 sections (long) │ row-2 │ 4 or more ## headings │
358
+ │ │ │ Avg content >= 200 chars │
359
+ │ │ │ → first 2 sections │
360
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
361
+ │ 6. 2+ H2 sections │ row-2 │ 2 or more ## headings │
362
+ │ │ │ → first 2 sections │
363
+ ├─────────────────────────────────────┼────────────┼─────────────────────────────────────┤
364
+ │ 7. Otherwise │ default │ No layout applied │
365
+ └─────────────────────────────────────┴────────────┴─────────────────────────────────────┘
366
+ ```
367
+
368
+ **Notes:**
369
+ - "Meaningful text" = text without headings > 20 characters
370
+ - Multiple code blocks or images → no layout detected
371
+ - H3 has no fallback (only 2x2 if short, otherwise no layout)
372
+ - H1 always becomes header; remaining content is analyzed for structure
373
+
374
+ Example:
375
+ ```bash
376
+ # Auto-detect layout for better visual presentation
377
+ mulmo-slide markdown document.md --layout --style corporate-blue
378
+ ```
379
+
309
380
  **Output:**
310
381
  - `scripts/<basename>/mulmo_script.json` - MulmoScript JSON file (Markdown format)
311
382
 
@@ -1,35 +1,29 @@
1
1
  #!/usr/bin/env tsx
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.runMulmoBundle = runMulmoBundle;
8
- const mulmocast_1 = require("mulmocast");
9
- const yargs_1 = __importDefault(require("yargs"));
10
- const helpers_1 = require("yargs/helpers");
11
- const common_1 = require("./common");
12
- async function runMulmoBundle(mulmoScriptPath, outputDir) {
2
+ import { audio, images, translate, mulmoViewerBundle, bundleTargetLang } from "mulmocast";
3
+ import yargs from "yargs";
4
+ import { hideBin } from "yargs/helpers";
5
+ import { initializeContext, runAction } from "./common.js";
6
+ export async function runMulmoBundle(mulmoScriptPath, outputDir) {
13
7
  console.log(`\nGenerating bundle with mulmo...`);
14
8
  console.log(` Input: ${mulmoScriptPath}`);
15
9
  console.log(` Output: ${outputDir}`);
16
- const context = await (0, common_1.initializeContext)(mulmoScriptPath, outputDir);
10
+ const context = await initializeContext(mulmoScriptPath, outputDir);
17
11
  const current = { context };
18
12
  console.log(" Translating...");
19
- current.context = await (0, mulmocast_1.translate)(current.context, { targetLangs: mulmocast_1.bundleTargetLang });
20
- for (const lang of mulmocast_1.bundleTargetLang.filter((_lang) => _lang !== current.context.lang)) {
13
+ current.context = await translate(current.context, { targetLangs: bundleTargetLang });
14
+ for (const lang of bundleTargetLang.filter((_lang) => _lang !== current.context.lang)) {
21
15
  console.log(` Generating audio (${lang})...`);
22
- current.context = await (0, mulmocast_1.audio)({ ...current.context, lang });
16
+ current.context = await audio({ ...current.context, lang });
23
17
  }
24
18
  console.log(` Generating audio (${current.context.lang})...`);
25
- current.context = await (0, mulmocast_1.audio)(current.context);
19
+ current.context = await audio(current.context);
26
20
  console.log(" Generating images...");
27
- current.context = await (0, mulmocast_1.images)(current.context);
21
+ current.context = await images(current.context);
28
22
  console.log(" Creating bundle...");
29
- await (0, mulmocast_1.mulmoViewerBundle)(current.context, { skipZip: true });
23
+ await mulmoViewerBundle(current.context, { skipZip: true });
30
24
  }
31
25
  async function main() {
32
- const argv = await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
26
+ const argv = await yargs(hideBin(process.argv))
33
27
  .usage("Usage: $0 <presentation-file> [options]")
34
28
  .command("$0 <file>", "Generate MulmoViewer bundle from presentation", (yargs) => {
35
29
  return yargs.positional("file", {
@@ -54,7 +48,7 @@ async function main() {
54
48
  })
55
49
  .help()
56
50
  .parse();
57
- await (0, common_1.runAction)("Bundle", argv.file, runMulmoBundle, {
51
+ await runAction("Bundle", argv.file, runMulmoBundle, {
58
52
  force: argv.f,
59
53
  generateText: argv.g,
60
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/actions/bundle.ts"],"names":[],"mappings":";;;;;;AAOA,wCAwBC;AA7BD,yCAA0F;AAC1F,kDAA0B;AAC1B,2CAAwC;AACxC,qCAAwD;AAEjD,KAAK,UAAU,cAAc,CAAC,eAAuB,EAAE,SAAiB;IAC7E,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAiB,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,OAAO,GAAG,MAAM,IAAA,qBAAS,EAAC,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4BAAgB,EAAE,CAAC,CAAC;IAEtF,KAAK,MAAM,IAAI,IAAI,4BAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,GAAG,MAAM,IAAA,iBAAK,EAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;IAC/D,OAAO,CAAC,OAAO,GAAG,MAAM,IAAA,iBAAK,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,OAAO,GAAG,MAAM,IAAA,kBAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,IAAA,6BAAiB,EAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,MAAM,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5C,KAAK,CAAC,yCAAyC,CAAC;SAChD,OAAO,CAAC,WAAW,EAAE,+CAA+C,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/E,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;YAC9B,QAAQ,EAAE,sCAAsC;YAChD,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC;QACP,CAAC,EAAE;YACD,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,KAAK;SACf;QACD,CAAC,EAAE;YACD,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;SACf;KACF,CAAC;SACD,IAAI,EAAE;SACN,KAAK,EAAE,CAAC;IAEX,MAAM,IAAA,kBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAc,EAAE,cAAc,EAAE;QAC7D,KAAK,EAAE,IAAI,CAAC,CAAC;QACb,YAAY,EAAE,IAAI,CAAC,CAAC;KACrB,CAAC,CAAC;AACL,CAAC;AAED,4DAA4D;AAC5D,MAAM,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnF,IAAI,WAAW,EAAE,CAAC;IAChB,IAAI,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/actions/bundle.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { MulmoStudioContext } from "mulmocast";
2
- import type { SupportedLang } from "../utils/lang";
2
+ import type { SupportedLang } from "../utils/lang.js";
3
3
  export declare function getPackageRoot(): string;
4
4
  export declare function getKeynoteScriptPath(): string;
5
5
  export type FileType = "pptx" | "marp" | "keynote" | "pdf" | "movie";
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/actions/common.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAGD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAIrE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAiBzD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuCf"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/actions/common.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMtD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAGD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAIrE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAiBzD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuCf"}
@@ -1,65 +1,25 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getPackageRoot = getPackageRoot;
37
- exports.getKeynoteScriptPath = getKeynoteScriptPath;
38
- exports.detectFileType = detectFileType;
39
- exports.getBasename = getBasename;
40
- exports.convertToMulmoScript = convertToMulmoScript;
41
- exports.initializeContext = initializeContext;
42
- exports.getMulmoScriptPath = getMulmoScriptPath;
43
- exports.runAction = runAction;
44
- const fs = __importStar(require("fs"));
45
- const path = __importStar(require("path"));
46
- const child_process_1 = require("child_process");
47
- const pptx_1 = require("../convert/pptx");
48
- const marp_1 = require("../convert/marp");
49
- const pdf_1 = require("../convert/pdf");
50
- const movie_1 = require("../convert/movie");
51
- const mulmocast_1 = require("mulmocast");
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import { execSync } from "child_process";
4
+ import { fileURLToPath } from "node:url";
5
+ import { convertPptx } from "../convert/pptx.js";
6
+ import { convertMarp } from "../convert/marp.js";
7
+ import { convertPdf } from "../convert/pdf.js";
8
+ import { convertMovie } from "../convert/movie.js";
9
+ import { getFileObject, initializeContextFromFiles } from "mulmocast";
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = path.dirname(__filename);
52
12
  // Get package root directory (works for both development and npm installed)
53
- function getPackageRoot() {
13
+ export function getPackageRoot() {
54
14
  // __dirname points to lib/actions/ when compiled, so go up 2 levels
55
15
  return path.resolve(__dirname, "..", "..");
56
16
  }
57
17
  // Get path to Keynote AppleScript
58
- function getKeynoteScriptPath() {
18
+ export function getKeynoteScriptPath() {
59
19
  return path.join(getPackageRoot(), "tools", "keynote", "extract.scpt");
60
20
  }
61
21
  const VIDEO_EXTENSIONS = [".mp4", ".mov", ".mkv", ".webm", ".avi", ".m4v"];
62
- function detectFileType(filePath) {
22
+ export function detectFileType(filePath) {
63
23
  const ext = path.extname(filePath).toLowerCase();
64
24
  switch (ext) {
65
25
  case ".pptx":
@@ -77,35 +37,35 @@ function detectFileType(filePath) {
77
37
  throw new Error(`Unsupported file type: ${ext}`);
78
38
  }
79
39
  }
80
- function getBasename(filePath) {
40
+ export function getBasename(filePath) {
81
41
  const ext = path.extname(filePath);
82
42
  return path.basename(filePath, ext);
83
43
  }
84
- async function convertToMulmoScript(filePath, fileType, options = {}) {
44
+ export async function convertToMulmoScript(filePath, fileType, options = {}) {
85
45
  const absolutePath = path.resolve(filePath);
86
46
  const { generateText = false, lang } = options;
87
47
  console.log(`Converting ${fileType.toUpperCase()} to MulmoScript...`);
88
48
  switch (fileType) {
89
49
  case "pptx": {
90
- const result = await (0, pptx_1.convertPptx)({ inputPath: absolutePath, generateText, lang });
50
+ const result = await convertPptx({ inputPath: absolutePath, generateText, lang });
91
51
  return result.mulmoScriptPath;
92
52
  }
93
53
  case "marp": {
94
- const result = await (0, marp_1.convertMarp)({ inputPath: absolutePath, generateText, lang });
54
+ const result = await convertMarp({ inputPath: absolutePath, generateText, lang });
95
55
  return result.mulmoScriptPath;
96
56
  }
97
57
  case "pdf": {
98
- const result = await (0, pdf_1.convertPdf)({ inputPath: absolutePath, generateText, lang });
58
+ const result = await convertPdf({ inputPath: absolutePath, generateText, lang });
99
59
  return result.mulmoScriptPath;
100
60
  }
101
61
  case "movie": {
102
- const result = await (0, movie_1.convertMovie)({ inputPath: absolutePath, lang });
62
+ const result = await convertMovie({ inputPath: absolutePath, lang });
103
63
  return result.mulmoScriptPath;
104
64
  }
105
65
  case "keynote": {
106
66
  const basename = getBasename(filePath);
107
67
  const scriptPath = getKeynoteScriptPath();
108
- (0, child_process_1.execSync)(`osascript "${scriptPath}" "${absolutePath}"`, {
68
+ execSync(`osascript "${scriptPath}" "${absolutePath}"`, {
109
69
  stdio: "inherit",
110
70
  cwd: process.cwd(),
111
71
  });
@@ -113,12 +73,12 @@ async function convertToMulmoScript(filePath, fileType, options = {}) {
113
73
  }
114
74
  }
115
75
  }
116
- async function initializeContext(mulmoScriptPath, outputDir, options = {}) {
76
+ export async function initializeContext(mulmoScriptPath, outputDir, options = {}) {
117
77
  const absoluteScriptPath = path.resolve(mulmoScriptPath);
118
78
  const scriptDir = path.dirname(absoluteScriptPath);
119
79
  const scriptFile = path.basename(absoluteScriptPath);
120
80
  const absoluteOutputDir = path.resolve(outputDir);
121
- const files = (0, mulmocast_1.getFileObject)({
81
+ const files = getFileObject({
122
82
  basedir: scriptDir,
123
83
  outdir: absoluteOutputDir,
124
84
  file: scriptFile,
@@ -126,16 +86,16 @@ async function initializeContext(mulmoScriptPath, outputDir, options = {}) {
126
86
  // targetLang sets context.lang (target language for audio)
127
87
  // captionLang sets the caption/subtitle language
128
88
  // context.studio.script.lang contains the original script language
129
- const context = await (0, mulmocast_1.initializeContextFromFiles)(files, false, false, false, options.captionLang, options.targetLang);
89
+ const context = await initializeContextFromFiles(files, false, false, false, options.captionLang, options.targetLang);
130
90
  if (!context) {
131
91
  throw new Error("Failed to initialize MulmoStudio context");
132
92
  }
133
93
  return context;
134
94
  }
135
- function getMulmoScriptPath(basename) {
95
+ export function getMulmoScriptPath(basename) {
136
96
  return path.join("scripts", basename, "mulmo_script.json");
137
97
  }
138
- async function runAction(commandName, inputFile, actionRunner, options = {}) {
98
+ export async function runAction(commandName, inputFile, actionRunner, options = {}) {
139
99
  const { force = false, generateText = false } = options;
140
100
  if (!fs.existsSync(inputFile)) {
141
101
  console.error(`File not found: ${inputFile}`);
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/actions/common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,wCAGC;AAGD,oDAEC;AAMD,wCAiBC;AAED,kCAGC;AAOD,oDAqCC;AAOD,8CAgCC;AASD,gDAEC;AAED,8BA4CC;AA5LD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AACzC,0CAA8C;AAC9C,0CAA8C;AAC9C,wCAA4C;AAC5C,4CAAgD;AAChD,yCAAsE;AAItE,4EAA4E;AAC5E,SAAgB,cAAc;IAC5B,oEAAoE;IACpE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,kCAAkC;AAClC,SAAgB,oBAAoB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC;AAID,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3E,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf;YACE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAOM,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,QAAkB,EAClB,UAA0B,EAAE;IAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAEtE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAW,EAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAW,EAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAU,EAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;YAC1C,IAAA,wBAAQ,EAAC,cAAc,UAAU,MAAM,YAAY,GAAG,EAAE;gBACtD,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,iBAAiB,CACrC,eAAuB,EACvB,SAAiB,EACjB,UAAoC,EAAE;IAEtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,IAAA,yBAAa,EAAC;QAC1B,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,iDAAiD;IACjD,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,IAAA,sCAA0B,EAC9C,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,CACnB,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AASD,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AAC7D,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,WAAmB,EACnB,SAAiB,EACjB,YAA0B,EAC1B,UAA4B,EAAE;IAE9B,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,mCAAmC,eAAe,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,eAAe,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,eAAe,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,YAAY,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,uBAAuB,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/actions/common.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,38 @@
1
1
  #!/usr/bin/env tsx
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.runMulmoMovie = runMulmoMovie;
8
- const mulmocast_1 = require("mulmocast");
9
- const yargs_1 = __importDefault(require("yargs"));
10
- const helpers_1 = require("yargs/helpers");
11
- const common_1 = require("./common");
12
- async function runMulmoMovie(mulmoScriptPath, outputDir, options = {}) {
2
+ import { audio, images, movie, translate, captions, MulmoStudioContextMethods } from "mulmocast";
3
+ import yargs from "yargs";
4
+ import { hideBin } from "yargs/helpers";
5
+ import { initializeContext, runAction } from "./common.js";
6
+ export async function runMulmoMovie(mulmoScriptPath, outputDir, options = {}) {
13
7
  console.log(`\nGenerating movie with mulmo...`);
14
8
  console.log(` Input: ${mulmoScriptPath}`);
15
9
  console.log(` Output: ${outputDir}`);
16
- const context = await (0, common_1.initializeContext)(mulmoScriptPath, outputDir, {
10
+ const context = await initializeContext(mulmoScriptPath, outputDir, {
17
11
  targetLang: options.targetLang,
18
12
  captionLang: options.captionLang,
19
13
  });
20
14
  const current = { context };
21
15
  // Translate if needed (checks targetLang and captionLang)
22
- if (mulmocast_1.MulmoStudioContextMethods.needTranslate(current.context, true)) {
16
+ if (MulmoStudioContextMethods.needTranslate(current.context, true)) {
23
17
  console.log(" Translating...");
24
- current.context = await (0, mulmocast_1.translate)(current.context);
18
+ current.context = await translate(current.context);
25
19
  }
26
20
  console.log(" Generating audio...");
27
- current.context = await (0, mulmocast_1.audio)(current.context);
21
+ current.context = await audio(current.context);
28
22
  console.log(" Generating images...");
29
- current.context = await (0, mulmocast_1.images)(current.context);
23
+ current.context = await images(current.context);
30
24
  if (options.captionLang) {
31
25
  console.log(` Generating captions (${options.captionLang})...`);
32
- current.context = await (0, mulmocast_1.captions)(current.context);
26
+ current.context = await captions(current.context);
33
27
  }
34
28
  console.log(" Creating movie...");
35
- const result = await (0, mulmocast_1.movie)(current.context);
29
+ const result = await movie(current.context);
36
30
  if (!result) {
37
31
  throw new Error("Movie generation failed");
38
32
  }
39
33
  }
40
34
  async function main() {
41
- const argv = await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
35
+ const argv = await yargs(hideBin(process.argv))
42
36
  .usage("Usage: $0 <presentation-file> [options]")
43
37
  .command("$0 <file>", "Generate movie from presentation", (yargs) => {
44
38
  return yargs.positional("file", {
@@ -77,7 +71,7 @@ async function main() {
77
71
  const captionLang = argv.c;
78
72
  // Create a runner that captures options
79
73
  const runner = (mulmoScriptPath, outputDir) => runMulmoMovie(mulmoScriptPath, outputDir, { targetLang, captionLang });
80
- await (0, common_1.runAction)("Movie", argv.file, runner, {
74
+ await runAction("Movie", argv.file, runner, {
81
75
  force: argv.f,
82
76
  generateText: argv.g,
83
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"movie.js","sourceRoot":"","sources":["../../src/actions/movie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"movie.js","sourceRoot":"","sources":["../../src/actions/movie.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/actions/preview.ts"],"names":[],"mappings":";AAgCA,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAqB,GAAG,IAAI,CAiFpE"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/actions/preview.ts"],"names":[],"mappings":";AAoCA,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAqB,GAAG,IAAI,CAiFpE"}
@@ -1,63 +1,27 @@
1
1
  #!/usr/bin/env tsx
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.startPreviewServer = startPreviewServer;
41
- const http = __importStar(require("http"));
42
- const fs = __importStar(require("fs"));
43
- const path = __importStar(require("path"));
44
- const dotenv_1 = __importDefault(require("dotenv"));
45
- const audio_save_1 = require("../utils/audio-save");
46
- const bundle_server_1 = require("../utils/bundle-server");
2
+ import * as http from "http";
3
+ import * as fs from "fs";
4
+ import * as path from "path";
5
+ import { fileURLToPath } from "node:url";
6
+ import dotenv from "dotenv";
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = path.dirname(__filename);
9
+ import { saveBeatText, transcribeAudio, parseRequestBody, } from "../utils/audio-save.js";
10
+ import { findBundles, getMimeType, isValidFile, createFileStream } from "../utils/bundle-server.js";
47
11
  // Load .env file
48
- dotenv_1.default.config();
12
+ dotenv.config();
49
13
  const DEFAULT_PORT = 3000;
50
14
  // Serve static file
51
15
  function serveFile(res, filePath) {
52
- if (!(0, bundle_server_1.isValidFile)(filePath)) {
16
+ if (!isValidFile(filePath)) {
53
17
  res.writeHead(404, { "Content-Type": "text/plain" });
54
18
  res.end("Not Found");
55
19
  return;
56
20
  }
57
- res.writeHead(200, { "Content-Type": (0, bundle_server_1.getMimeType)(filePath) });
58
- (0, bundle_server_1.createFileStream)(filePath).pipe(res);
21
+ res.writeHead(200, { "Content-Type": getMimeType(filePath) });
22
+ createFileStream(filePath).pipe(res);
59
23
  }
60
- function startPreviewServer(port = DEFAULT_PORT) {
24
+ export function startPreviewServer(port = DEFAULT_PORT) {
61
25
  const cwd = process.cwd();
62
26
  const outputDir = path.join(cwd, "output");
63
27
  // Find the Vue build directory
@@ -78,33 +42,33 @@ function startPreviewServer(port = DEFAULT_PORT) {
78
42
  const pathname = url.pathname;
79
43
  // API endpoint for bundles list
80
44
  if (pathname === "/api/bundles") {
81
- const bundles = (0, bundle_server_1.findBundles)(outputDir);
45
+ const bundles = findBundles(outputDir);
82
46
  res.writeHead(200, { "Content-Type": "application/json" });
83
47
  res.end(JSON.stringify(bundles));
84
48
  return;
85
49
  }
86
50
  // API endpoint for saving recorded audio
87
51
  if (pathname === "/api/save-beat-text" && req.method === "POST") {
88
- const body = await (0, audio_save_1.parseRequestBody)(req);
52
+ const body = await parseRequestBody(req);
89
53
  if (!body) {
90
54
  res.writeHead(400, { "Content-Type": "application/json" });
91
55
  res.end(JSON.stringify({ success: false, error: "Invalid request body" }));
92
56
  return;
93
57
  }
94
- const result = (0, audio_save_1.saveBeatText)(outputDir, body);
58
+ const result = saveBeatText(outputDir, body);
95
59
  res.writeHead(result.success ? 200 : 400, { "Content-Type": "application/json" });
96
60
  res.end(JSON.stringify(result));
97
61
  return;
98
62
  }
99
63
  // API endpoint for transcribing audio
100
64
  if (pathname === "/api/transcribe" && req.method === "POST") {
101
- const body = await (0, audio_save_1.parseRequestBody)(req);
65
+ const body = await parseRequestBody(req);
102
66
  if (!body) {
103
67
  res.writeHead(400, { "Content-Type": "application/json" });
104
68
  res.end(JSON.stringify({ success: false, error: "Invalid request body" }));
105
69
  return;
106
70
  }
107
- const result = await (0, audio_save_1.transcribeAudio)(body);
71
+ const result = await transcribeAudio(body);
108
72
  res.writeHead(result.success ? 200 : 400, { "Content-Type": "application/json" });
109
73
  res.end(JSON.stringify(result));
110
74
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/actions/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/actions/preview.ts"],"names":[],"mappings":"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"}