demo-reel 0.2.0 → 0.3.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 (123) hide show
  1. package/bin/demo-reel.mjs +0 -4
  2. package/dist/audio-processor.d.ts +1 -0
  3. package/dist/audio-processor.d.ts.map +1 -1
  4. package/dist/audio-processor.js +1 -1
  5. package/dist/audio-processor.js.map +1 -1
  6. package/dist/cli.d.ts +0 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +107 -222
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/index.d.ts +24 -0
  11. package/dist/commands/index.d.ts.map +1 -0
  12. package/dist/commands/index.js +13 -0
  13. package/dist/commands/index.js.map +1 -0
  14. package/dist/commands/init.d.ts +7 -0
  15. package/dist/commands/init.d.ts.map +1 -0
  16. package/dist/commands/init.js +35 -0
  17. package/dist/commands/init.js.map +1 -0
  18. package/dist/commands/registry.d.ts +9 -0
  19. package/dist/commands/registry.d.ts.map +1 -0
  20. package/dist/commands/registry.js +26 -0
  21. package/dist/commands/registry.js.map +1 -0
  22. package/dist/commands/run/all.d.ts +18 -0
  23. package/dist/commands/run/all.d.ts.map +1 -0
  24. package/dist/commands/run/all.js +46 -0
  25. package/dist/commands/run/all.js.map +1 -0
  26. package/dist/commands/run/default.d.ts +18 -0
  27. package/dist/commands/run/default.d.ts.map +1 -0
  28. package/dist/commands/run/default.js +47 -0
  29. package/dist/commands/run/default.js.map +1 -0
  30. package/dist/commands/run/single.d.ts +20 -0
  31. package/dist/commands/run/single.d.ts.map +1 -0
  32. package/dist/commands/run/single.js +45 -0
  33. package/dist/commands/run/single.js.map +1 -0
  34. package/dist/commands/script/build.d.ts +15 -0
  35. package/dist/commands/script/build.d.ts.map +1 -0
  36. package/dist/commands/script/build.js +23 -0
  37. package/dist/commands/script/build.js.map +1 -0
  38. package/dist/commands/script/fix.d.ts +12 -0
  39. package/dist/commands/script/fix.d.ts.map +1 -0
  40. package/dist/commands/script/fix.js +20 -0
  41. package/dist/commands/script/fix.js.map +1 -0
  42. package/dist/commands/script/generate.d.ts +14 -0
  43. package/dist/commands/script/generate.d.ts.map +1 -0
  44. package/dist/commands/script/generate.js +27 -0
  45. package/dist/commands/script/generate.js.map +1 -0
  46. package/dist/commands/script/pipeline.d.ts +21 -0
  47. package/dist/commands/script/pipeline.d.ts.map +1 -0
  48. package/dist/commands/script/pipeline.js +34 -0
  49. package/dist/commands/script/pipeline.js.map +1 -0
  50. package/dist/commands/script/router.d.ts +30 -0
  51. package/dist/commands/script/router.d.ts.map +1 -0
  52. package/dist/commands/script/router.js +128 -0
  53. package/dist/commands/script/router.js.map +1 -0
  54. package/dist/commands/script/validate.d.ts +12 -0
  55. package/dist/commands/script/validate.d.ts.map +1 -0
  56. package/dist/commands/script/validate.js +21 -0
  57. package/dist/commands/script/validate.js.map +1 -0
  58. package/dist/commands/script/voice.d.ts +15 -0
  59. package/dist/commands/script/voice.d.ts.map +1 -0
  60. package/dist/commands/script/voice.js +26 -0
  61. package/dist/commands/script/voice.js.map +1 -0
  62. package/dist/commands/types.d.ts +32 -0
  63. package/dist/commands/types.d.ts.map +1 -0
  64. package/dist/commands/types.js +2 -0
  65. package/dist/commands/types.js.map +1 -0
  66. package/dist/interfaces.d.ts +2 -0
  67. package/dist/interfaces.d.ts.map +1 -0
  68. package/dist/interfaces.js +2 -0
  69. package/dist/interfaces.js.map +1 -0
  70. package/dist/runner.d.ts +30 -2
  71. package/dist/runner.d.ts.map +1 -1
  72. package/dist/runner.js +53 -21
  73. package/dist/runner.js.map +1 -1
  74. package/dist/script/crawl-cli.d.ts +1 -1
  75. package/dist/script/crawl-cli.d.ts.map +1 -1
  76. package/dist/script/crawl-cli.js +6 -2
  77. package/dist/script/crawl-cli.js.map +1 -1
  78. package/dist/script/crawler.d.ts +8 -1
  79. package/dist/script/crawler.d.ts.map +1 -1
  80. package/dist/script/crawler.js +2 -2
  81. package/dist/script/crawler.js.map +1 -1
  82. package/dist/script/explore.d.ts +51 -0
  83. package/dist/script/explore.d.ts.map +1 -1
  84. package/dist/script/explore.js +25 -16
  85. package/dist/script/explore.js.map +1 -1
  86. package/dist/script/tts.d.ts +16 -0
  87. package/dist/script/tts.d.ts.map +1 -1
  88. package/dist/script/tts.js +52 -49
  89. package/dist/script/tts.js.map +1 -1
  90. package/dist/script/voice-cli.d.ts +1 -1
  91. package/dist/script/voice-cli.d.ts.map +1 -1
  92. package/dist/script/voice-cli.js +6 -2
  93. package/dist/script/voice-cli.js.map +1 -1
  94. package/dist/video-handler.d.ts +32 -0
  95. package/dist/video-handler.d.ts.map +1 -1
  96. package/dist/video-handler.js +6 -6
  97. package/dist/video-handler.js.map +1 -1
  98. package/package.json +4 -3
  99. package/src/audio-processor.ts +5 -1
  100. package/src/cli.ts +136 -253
  101. package/src/commands/index.ts +23 -0
  102. package/src/commands/init.ts +39 -0
  103. package/src/commands/registry.ts +34 -0
  104. package/src/commands/run/all.ts +77 -0
  105. package/src/commands/run/default.ts +78 -0
  106. package/src/commands/run/single.ts +75 -0
  107. package/src/commands/script/build.ts +37 -0
  108. package/src/commands/script/fix.ts +31 -0
  109. package/src/commands/script/generate.ts +43 -0
  110. package/src/commands/script/pipeline.ts +58 -0
  111. package/src/commands/script/router.ts +173 -0
  112. package/src/commands/script/validate.ts +32 -0
  113. package/src/commands/script/voice.ts +44 -0
  114. package/src/commands/types.ts +35 -0
  115. package/src/interfaces.ts +1 -0
  116. package/src/runner.ts +65 -21
  117. package/src/script/crawl-cli.ts +6 -2
  118. package/src/script/crawler.ts +2 -2
  119. package/src/script/explore.ts +69 -36
  120. package/src/script/tts.ts +55 -53
  121. package/src/script/voice-cli.ts +6 -2
  122. package/src/video-handler.ts +7 -7
  123. package/templates/dashboard-demo.demo.ts +64 -50
package/bin/demo-reel.mjs CHANGED
@@ -49,10 +49,6 @@ Then use /demo-script in Claude Code to create demo videos collaboratively.`);
49
49
  });
50
50
  forwardSignals(proc);
51
51
  proc.on("close", (code) => process.exit(code ?? 1));
52
- } else if (args.length > 0) {
53
- const cliPath = resolve(dirname(fileURLToPath(import.meta.url)), "../dist/cli.js");
54
- const proc = spawn(process.execPath, [cliPath, ...args], { stdio: "inherit" });
55
- proc.on("close", (code) => process.exit(code ?? 1));
56
52
  } else {
57
53
  console.log(`demo-reel — Create demo videos from web apps
58
54
 
@@ -24,6 +24,7 @@ export interface MergeOptions {
24
24
  * Merge video with audio files using FFmpeg
25
25
  */
26
26
  export declare function mergeAudioVideo(options: MergeOptions): Promise<string>;
27
+ export declare function buildFfmpegArgs(videoPath: string, outputPath: string, audio: AudioConfig): string[];
27
28
  /**
28
29
  * Check if FFmpeg is available
29
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"audio-processor.d.ts","sourceRoot":"","sources":["../src/audio-processor.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAe,SAAQ,WAAW;IAC1C,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAoBD;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C5E;AAkID;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,SAAS,EAAE,MAAM,GAChB,WAAW,GAAG,SAAS,CAqBzB"}
1
+ {"version":3,"file":"audio-processor.d.ts","sourceRoot":"","sources":["../src/audio-processor.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAe,SAAQ,WAAW;IAC1C,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAoBD;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C5E;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW,GACjB,MAAM,EAAE,CA8HV;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,SAAS,EAAE,MAAM,GAChB,WAAW,GAAG,SAAS,CAqBzB"}
@@ -56,7 +56,7 @@ export async function mergeAudioVideo(options) {
56
56
  });
57
57
  });
58
58
  }
59
- function buildFfmpegArgs(videoPath, outputPath, audio) {
59
+ export function buildFfmpegArgs(videoPath, outputPath, audio) {
60
60
  const mixAudio = audio;
61
61
  const args = [
62
62
  "-y", // Overwrite output file
@@ -1 +1 @@
1
- {"version":3,"file":"audio-processor.js","sourceRoot":"","sources":["../src/audio-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio-processor.js","sourceRoot":"","sources":["../src/audio-processor.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -23,7 +23,6 @@ export declare function parseArgs(): {
23
23
  options: CliOptions;
24
24
  };
25
25
  export declare function showHelp(): void;
26
- export declare function handleScriptCommand(subcommandOrDescription: string | undefined, options: CliOptions): Promise<number>;
27
26
  export declare function runCli(): Promise<number>;
28
27
  export declare function main(): Promise<void>;
29
28
  export {};
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgBA,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6ED,wBAAgB,SAAS,IAAI;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAyDtE;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAkD/B;AAED,wBAAsB,mBAAmB,CACvC,uBAAuB,EAAE,MAAM,GAAG,SAAS,EAC3C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,CAuGjB;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAsJ9C;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAuBA,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqHD,wBAAgB,SAAS,IAAI;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAyDtE;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAkD/B;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CA6F9C;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C"}
package/dist/cli.js CHANGED
@@ -1,12 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import { loadConfig, loadScenario, findScenarioFiles } from "./config-loader.js";
3
3
  import { runVideoScenario, setOnBrowserCreated } from "./video-handler.js";
4
- import { writeFile } from "fs/promises";
5
- import { join } from "path";
4
+ import { generate } from "./index.js";
5
+ import { access, writeFile } from "fs/promises";
6
+ import { resolve as resolvePath } from "path";
6
7
  import { pathToFileURL } from "url";
7
- import { scriptGenerate, scriptVoice, scriptBuild, scriptValidate, scriptFix, scriptFullPipeline, } from "./script/cli.js";
8
- import { resolveVoiceConfig } from "./voice-config.js";
8
+ import { InitCommand, ScriptRouterCommand, createDefaultScriptRouterContext, RunAllCommand, RunSingleCommand, RunDefaultCommand, CommandRegistry, } from "./commands/index.js";
9
+ function toGlobalOptions(options) {
10
+ return {
11
+ verbose: options.verbose,
12
+ dryRun: options.dryRun,
13
+ headed: options.headed,
14
+ outputDir: options.outputDir,
15
+ tags: options.tags,
16
+ scriptUrl: options.scriptUrl,
17
+ scriptOutput: options.scriptOutput,
18
+ scriptVoice: options.scriptVoice,
19
+ scriptSpeed: options.scriptSpeed,
20
+ scriptHints: options.scriptHints,
21
+ noCache: options.noCache,
22
+ resolution: options.resolution,
23
+ format: options.format,
24
+ };
25
+ }
26
+ function createCommandContext() {
27
+ return {
28
+ fs: {
29
+ writeFile: async (path, content, encoding) => {
30
+ await writeFile(path, content, encoding);
31
+ },
32
+ },
33
+ cwd: () => process.cwd(),
34
+ console: {
35
+ log: (msg) => console.log(msg),
36
+ error: (msg) => console.error(msg),
37
+ },
38
+ };
39
+ }
9
40
  let currentBrowser = null;
41
+ let signalHandlersRegistered = false;
10
42
  function registerCleanup(browser, context) {
11
43
  currentBrowser = { browser, context };
12
44
  }
@@ -27,6 +59,9 @@ async function cleanupBrowser() {
27
59
  }
28
60
  }
29
61
  function setupSignalHandlers() {
62
+ if (signalHandlersRegistered) {
63
+ return;
64
+ }
30
65
  const cleanup = (signal) => {
31
66
  const exitCode = signal === "SIGINT" ? 130 : 0;
32
67
  const timeout = setTimeout(() => process.exit(exitCode), 2000);
@@ -39,27 +74,8 @@ function setupSignalHandlers() {
39
74
  };
40
75
  process.once("SIGINT", () => cleanup("SIGINT"));
41
76
  process.once("SIGTERM", () => cleanup("SIGTERM"));
77
+ signalHandlersRegistered = true;
42
78
  }
43
- const EXAMPLE_SCENARIO = `import { defineConfig } from 'demo-reel';
44
-
45
- export default defineConfig({
46
- video: {
47
- resolution: "FHD",
48
- },
49
-
50
- name: 'example',
51
-
52
- cursor: 'dot',
53
- motion: 'smooth',
54
- typing: 'humanlike',
55
- timing: 'normal',
56
-
57
- steps: [
58
- { action: 'goto', url: 'https://example.com' },
59
- { action: 'wait', ms: 1000 },
60
- ],
61
- });
62
- `;
63
79
  const addTags = (existing, value) => {
64
80
  if (!value) {
65
81
  return existing;
@@ -73,6 +89,22 @@ const addTags = (existing, value) => {
73
89
  }
74
90
  return [...(existing ?? []), ...tags];
75
91
  };
92
+ function shouldGenerateVoice(config) {
93
+ const hasVoice = Boolean(config.voice);
94
+ const hasNarration = (config.scenes ?? []).some((scene) => Boolean(scene.narration));
95
+ const hasNarrationAudio = Boolean(config.audio?.narration || config.audio?.narrationManifest);
96
+ return hasVoice && hasNarration && !hasNarrationAudio;
97
+ }
98
+ async function runScenario(loaded, options) {
99
+ if (shouldGenerateVoice(loaded.config)) {
100
+ const config = options.outputDir
101
+ ? { ...loaded.config, outputDir: options.outputDir }
102
+ : loaded.config;
103
+ await generate(config, { verbose: options.verbose });
104
+ return;
105
+ }
106
+ await runVideoScenario(loaded.config, loaded.outputPath, loaded.configPath, options);
107
+ }
76
108
  export function parseArgs() {
77
109
  const args = process.argv.slice(2);
78
110
  const options = {
@@ -198,114 +230,8 @@ Examples:
198
230
  demo-reel script build demo.script.json
199
231
  `);
200
232
  }
201
- export async function handleScriptCommand(subcommandOrDescription, options) {
202
- const voice = resolveVoiceConfig({
203
- provider: "openai",
204
- voice: options.scriptVoice || "alloy",
205
- speed: options.scriptSpeed || 1.0,
206
- });
207
- const baseOpts = {
208
- verbose: options.verbose,
209
- headed: options.headed,
210
- noCache: options.noCache,
211
- };
212
- if (!subcommandOrDescription) {
213
- console.error("Usage: demo-reel script <subcommand|description> [options]");
214
- console.error('Run "demo-reel --help" for details.');
215
- return 1;
216
- }
217
- // Check if it's a known subcommand
218
- switch (subcommandOrDescription) {
219
- case "generate": {
220
- // demo-reel script generate "description" --url <url>
221
- // The actual description is the next positional arg — we need to re-parse
222
- const descIndex = process.argv.indexOf("generate") + 1;
223
- const description = process.argv[descIndex];
224
- if (!description || !options.scriptUrl) {
225
- console.error("Usage: demo-reel script generate <description> --url <url>");
226
- return 1;
227
- }
228
- await scriptGenerate(description, options.scriptUrl, options.scriptOutput || "demo", {
229
- ...baseOpts,
230
- hints: options.scriptHints,
231
- });
232
- return 0;
233
- }
234
- case "voice": {
235
- const descIndex = process.argv.indexOf("voice") + 1;
236
- const scriptPath = process.argv[descIndex];
237
- if (!scriptPath) {
238
- console.error("Usage: demo-reel script voice <script.json>");
239
- return 1;
240
- }
241
- await scriptVoice(scriptPath, voice, baseOpts);
242
- return 0;
243
- }
244
- case "build": {
245
- const descIndex = process.argv.indexOf("build") + 1;
246
- const scriptPath = process.argv[descIndex];
247
- if (!scriptPath) {
248
- console.error("Usage: demo-reel script build <script.json>");
249
- return 1;
250
- }
251
- await scriptBuild(scriptPath, {
252
- ...baseOpts,
253
- resolution: options.resolution,
254
- format: options.format,
255
- });
256
- return 0;
257
- }
258
- case "validate": {
259
- const descIndex = process.argv.indexOf("validate") + 1;
260
- const scriptPath = process.argv[descIndex];
261
- if (!scriptPath) {
262
- console.error("Usage: demo-reel script validate <script.json>");
263
- return 1;
264
- }
265
- const valid = await scriptValidate(scriptPath, baseOpts);
266
- return valid ? 0 : 1;
267
- }
268
- case "fix": {
269
- const descIndex = process.argv.indexOf("fix") + 1;
270
- const scriptPath = process.argv[descIndex];
271
- if (!scriptPath) {
272
- console.error("Usage: demo-reel script fix <script.json>");
273
- return 1;
274
- }
275
- await scriptFix(scriptPath, baseOpts);
276
- return 0;
277
- }
278
- default: {
279
- // Full pipeline: demo-reel script "description" --url <url>
280
- if (!options.scriptUrl) {
281
- console.error("Usage: demo-reel script <description> --url <url>");
282
- console.error("Or use a subcommand: generate, voice, build, validate, fix");
283
- return 1;
284
- }
285
- await scriptFullPipeline(subcommandOrDescription, options.scriptUrl, {
286
- ...baseOpts,
287
- output: options.scriptOutput,
288
- voice,
289
- hints: options.scriptHints,
290
- resolution: options.resolution,
291
- format: options.format,
292
- });
293
- return 0;
294
- }
295
- }
296
- }
297
233
  export async function runCli() {
298
234
  const { scenario, options } = parseArgs();
299
- const tagFilter = options.tags && options.tags.length > 0 ? new Set(options.tags) : null;
300
- const matchesTags = (tags) => {
301
- if (!tagFilter) {
302
- return true;
303
- }
304
- if (!tags || tags.length === 0) {
305
- return false;
306
- }
307
- return tags.some((tag) => tagFilter.has(tag));
308
- };
309
235
  setupSignalHandlers();
310
236
  setOnBrowserCreated((browser, context) => {
311
237
  registerCleanup(browser, context);
@@ -315,110 +241,68 @@ export async function runCli() {
315
241
  showHelp();
316
242
  return 0;
317
243
  }
244
+ // Use Command Pattern for init command
318
245
  if (options.init) {
319
- const demoPath = join(process.cwd(), "example.demo.ts");
320
- await writeFile(demoPath, EXAMPLE_SCENARIO, "utf-8");
321
- console.log(`Created ${demoPath}`);
322
- return 0;
246
+ const registry = new CommandRegistry();
247
+ registry.register(new InitCommand());
248
+ const command = registry.find(["init"]);
249
+ if (command && command.validate([], toGlobalOptions(options))) {
250
+ return await command.execute([], toGlobalOptions(options), createCommandContext());
251
+ }
252
+ return 1;
323
253
  }
324
254
  if (options.script) {
325
- return await handleScriptCommand(scenario, options);
255
+ const cmd = new ScriptRouterCommand();
256
+ const scriptCtx = createDefaultScriptRouterContext(createCommandContext());
257
+ return await cmd.execute(scenario ? [scenario] : [], toGlobalOptions(options), scriptCtx);
326
258
  }
327
259
  if (options.all) {
328
- // Run all demo scenarios
329
- const files = await findScenarioFiles();
330
- if (files.length === 0) {
331
- console.error("No *.demo.ts files found");
332
- return 1;
333
- }
334
- console.log(`Found ${files.length} scenario(s)`);
335
- if (tagFilter) {
336
- console.log(`Filtering by tags: ${options.tags?.join(", ")}`);
337
- }
338
- let matchedCount = 0;
339
- for (const file of files) {
340
- console.log(`\n▶ ${file}`);
341
- const loaded = await loadConfig(file, options.outputDir);
342
- if (!matchesTags(loaded.config.tags)) {
343
- if (options.verbose) {
344
- console.log(" ↳ Skipped (tags)");
345
- }
346
- continue;
347
- }
348
- matchedCount += 1;
349
- await runVideoScenario(loaded.config, loaded.outputPath, loaded.configPath, options);
350
- }
351
- if (tagFilter && matchedCount === 0) {
352
- console.error(`No scenarios match tags: ${options.tags?.join(", ")}`);
353
- return 1;
354
- }
260
+ const cmd = new RunAllCommand();
261
+ const globalOptions = toGlobalOptions(options);
262
+ const runAllCtx = {
263
+ ...createCommandContext(),
264
+ findScenarioFiles,
265
+ loadConfig,
266
+ runScenario: async (loaded) => runScenario(loaded, options),
267
+ };
268
+ return await cmd.execute([], globalOptions, runAllCtx);
355
269
  }
356
270
  else if (scenario) {
357
- // Run specific scenario — accept full file path or scenario name
358
- let configPath = null;
359
- // Check if it's a direct file path
360
- const ext = scenario.split(".").pop();
361
- if (ext && ["ts", "js", "mjs", "json"].includes(ext)) {
362
- const { resolve } = await import("path");
363
- const fullPath = resolve(scenario);
364
- const { access } = await import("fs/promises");
365
- try {
366
- await access(fullPath);
367
- configPath = fullPath;
368
- }
369
- catch {
370
- // File doesn't exist, try as scenario name
371
- }
372
- }
373
- // Fall back to scenario name lookup
374
- if (!configPath) {
375
- configPath = await loadScenario(scenario);
376
- }
377
- if (!configPath) {
378
- console.error(`Scenario not found: ${scenario}`);
379
- console.error("Looked for:");
380
- console.error(` - ${scenario}.demo.ts`);
381
- console.error(` - ${scenario}.config.ts`);
382
- return 1;
383
- }
384
- const loaded = await loadConfig(configPath, options.outputDir);
385
- if (!matchesTags(loaded.config.tags)) {
386
- console.error(`Scenario does not match tags: ${options.tags?.join(", ")}`);
271
+ const cmd = new RunSingleCommand();
272
+ const globalOptions = toGlobalOptions(options);
273
+ const singleArgs = [scenario];
274
+ if (!cmd.validate(singleArgs, globalOptions)) {
387
275
  return 1;
388
276
  }
389
- await runVideoScenario(loaded.config, loaded.outputPath, loaded.configPath, options);
277
+ const runSingleCtx = {
278
+ ...createCommandContext(),
279
+ resolvePath,
280
+ pathExists: async (path) => {
281
+ try {
282
+ await access(path);
283
+ return true;
284
+ }
285
+ catch {
286
+ return false;
287
+ }
288
+ },
289
+ loadScenario,
290
+ loadConfig,
291
+ runScenario: async (loaded) => runScenario(loaded, options),
292
+ };
293
+ return await cmd.execute(singleArgs, globalOptions, runSingleCtx);
390
294
  }
391
295
  else {
392
- // Run all scenarios
393
- const files = await findScenarioFiles();
394
- if (files.length === 0) {
395
- console.error("No *.demo.ts files found");
396
- console.error('Run "demo-reel init" to create an example scenario');
397
- return 1;
398
- }
399
- console.log(`Found ${files.length} scenario(s)`);
400
- if (tagFilter) {
401
- console.log(`Filtering by tags: ${options.tags?.join(", ")}`);
402
- }
403
- let matchedCount = 0;
404
- for (const file of files) {
405
- console.log(`\n▶ ${file}`);
406
- const loaded = await loadConfig(file, options.outputDir);
407
- if (!matchesTags(loaded.config.tags)) {
408
- if (options.verbose) {
409
- console.log(" ↳ Skipped (tags)");
410
- }
411
- continue;
412
- }
413
- matchedCount += 1;
414
- await runVideoScenario(loaded.config, loaded.outputPath, loaded.configPath, options);
415
- }
416
- if (tagFilter && matchedCount === 0) {
417
- console.error(`No scenarios match tags: ${options.tags?.join(", ")}`);
418
- return 1;
419
- }
296
+ const cmd = new RunDefaultCommand();
297
+ const globalOptions = toGlobalOptions(options);
298
+ const runDefaultCtx = {
299
+ ...createCommandContext(),
300
+ findScenarioFiles,
301
+ loadConfig,
302
+ runScenario: async (loaded) => runScenario(loaded, options),
303
+ };
304
+ return await cmd.execute([], globalOptions, runDefaultCtx);
420
305
  }
421
- return 0;
422
306
  }
423
307
  catch (error) {
424
308
  if (options.verbose) {
@@ -433,6 +317,7 @@ export async function runCli() {
433
317
  export async function main() {
434
318
  process.exit(await runCli());
435
319
  }
320
+ /* c8 ignore next 3 */
436
321
  if (import.meta.url === pathToFileURL(process.argv[1]).href) {
437
322
  void main();
438
323
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export { InitCommand } from "./init.js";
2
+ export { ScriptGenerateCommand } from "./script/generate.js";
3
+ export { ScriptRouterCommand, createDefaultScriptRouterContext } from "./script/router.js";
4
+ export { ScriptBuildCommand } from "./script/build.js";
5
+ export { ScriptValidateCommand } from "./script/validate.js";
6
+ export { ScriptVoiceCommand } from "./script/voice.js";
7
+ export { ScriptFixCommand } from "./script/fix.js";
8
+ export { ScriptPipelineCommand } from "./script/pipeline.js";
9
+ export { RunAllCommand } from "./run/all.js";
10
+ export { RunSingleCommand } from "./run/single.js";
11
+ export { RunDefaultCommand } from "./run/default.js";
12
+ export { CommandRegistry, createDefaultRegistry } from "./registry.js";
13
+ export type { Command, CommandContext, GlobalOptions } from "./types.js";
14
+ export type { ScriptBuildCommandContext } from "./script/build.js";
15
+ export type { ScriptGenerateCommandContext } from "./script/generate.js";
16
+ export type { ScriptRouterCommandContext } from "./script/router.js";
17
+ export type { ScriptValidateCommandContext } from "./script/validate.js";
18
+ export type { ScriptVoiceCommandContext } from "./script/voice.js";
19
+ export type { ScriptFixCommandContext } from "./script/fix.js";
20
+ export type { ScriptPipelineCommandContext } from "./script/pipeline.js";
21
+ export type { RunAllCommandContext } from "./run/all.js";
22
+ export type { RunSingleCommandContext } from "./run/single.js";
23
+ export type { RunDefaultCommandContext } from "./run/default.js";
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACzE,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACzE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export { InitCommand } from "./init.js";
2
+ export { ScriptGenerateCommand } from "./script/generate.js";
3
+ export { ScriptRouterCommand, createDefaultScriptRouterContext } from "./script/router.js";
4
+ export { ScriptBuildCommand } from "./script/build.js";
5
+ export { ScriptValidateCommand } from "./script/validate.js";
6
+ export { ScriptVoiceCommand } from "./script/voice.js";
7
+ export { ScriptFixCommand } from "./script/fix.js";
8
+ export { ScriptPipelineCommand } from "./script/pipeline.js";
9
+ export { RunAllCommand } from "./run/all.js";
10
+ export { RunSingleCommand } from "./run/single.js";
11
+ export { RunDefaultCommand } from "./run/default.js";
12
+ export { CommandRegistry, createDefaultRegistry } from "./registry.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Command, CommandContext, GlobalOptions } from "./types.js";
2
+ export declare class InitCommand implements Command {
3
+ readonly name = "init";
4
+ validate(args: string[]): boolean;
5
+ execute(_args: string[], _options: GlobalOptions, ctx: CommandContext): Promise<number>;
6
+ }
7
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAuBzE,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAGhC;IAEK,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAK5F;CACF"}
@@ -0,0 +1,35 @@
1
+ import { join } from "path";
2
+ const EXAMPLE_SCENARIO = `import { defineConfig } from 'demo-reel';
3
+
4
+ export default defineConfig({
5
+ video: {
6
+ resolution: "FHD",
7
+ },
8
+
9
+ name: 'example',
10
+
11
+ cursor: 'dot',
12
+ motion: 'smooth',
13
+ typing: 'humanlike',
14
+ timing: 'normal',
15
+
16
+ steps: [
17
+ { action: 'goto', url: 'https://example.com' },
18
+ { action: 'wait', ms: 1000 },
19
+ ],
20
+ });
21
+ `;
22
+ export class InitCommand {
23
+ name = "init";
24
+ validate(args) {
25
+ // init takes no positional arguments
26
+ return args.length === 0;
27
+ }
28
+ async execute(_args, _options, ctx) {
29
+ const demoPath = join(ctx.cwd(), "example.demo.ts");
30
+ await ctx.fs.writeFile(demoPath, EXAMPLE_SCENARIO, "utf-8");
31
+ ctx.console.log(`Created ${demoPath}`);
32
+ return 0;
33
+ }
34
+ }
35
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC;AAEF,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAc;QACrB,qCAAqC;QACrC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAe,EAAE,QAAuB,EAAE,GAAmB;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACpD,MAAM,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC5D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { Command } from "./types.js";
2
+ export declare class CommandRegistry {
3
+ private commands;
4
+ register(command: Command): void;
5
+ find(args: string[]): Command | null;
6
+ getAll(): Command[];
7
+ }
8
+ export declare function createDefaultRegistry(): CommandRegistry;
9
+ //# sourceMappingURL=registry.d.ts.map