demofly 0.2.2 → 0.2.3

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.
@@ -1,3 +1,3 @@
1
- import { type Command } from "commander";
1
+ import type { Command } from "commander";
2
2
  export declare function registerInitCommand(program: Command): void;
3
3
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAodzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmpBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8D1D"}
@@ -1,21 +1,31 @@
1
- import {} from "commander";
2
1
  import { execSync, execFileSync } from "node:child_process";
3
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { createWriteStream, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
3
+ import { get as httpsGet } from "node:https";
4
+ import { get as httpGet } from "node:http";
4
5
  import { createInterface } from "node:readline";
5
6
  import { resolve } from "node:path";
6
7
  import { homedir } from "node:os";
7
- function runCommand(cmd, opts) {
8
+ import ora from "ora";
9
+ import chalk from "chalk";
10
+ import { verbose as isVerbose } from "../lib/logger.js";
11
+ import { VERSION } from "../lib/version.js";
12
+ // ---------------------------------------------------------------------------
13
+ // Helpers
14
+ // ---------------------------------------------------------------------------
15
+ function stdio() {
16
+ return isVerbose ? "inherit" : "pipe";
17
+ }
18
+ function runCommand(cmd) {
8
19
  const result = execSync(cmd, {
9
- stdio: opts?.stdio ?? "pipe",
20
+ stdio: stdio(),
10
21
  encoding: "utf-8",
11
22
  timeout: 120_000,
12
23
  });
13
- // execSync returns null when stdio is "inherit"
14
24
  return (result ?? "").trim();
15
25
  }
16
26
  function commandExists(cmd) {
17
27
  try {
18
- runCommand(`which ${cmd}`);
28
+ execSync(`which ${cmd}`, { stdio: "pipe", encoding: "utf-8" });
19
29
  return true;
20
30
  }
21
31
  catch {
@@ -24,34 +34,133 @@ function commandExists(cmd) {
24
34
  }
25
35
  function canResolvePackage(packageName) {
26
36
  try {
27
- runCommand(`node -e "require.resolve('${packageName}')"`);
37
+ execSync(`node -e "require.resolve('${packageName}')"`, {
38
+ stdio: "pipe",
39
+ encoding: "utf-8",
40
+ });
28
41
  return true;
29
42
  }
30
43
  catch {
31
44
  return false;
32
45
  }
33
46
  }
47
+ function promptUser(question) {
48
+ return new Promise((resolvePromise) => {
49
+ const rl = createInterface({
50
+ input: process.stdin,
51
+ output: process.stdout,
52
+ });
53
+ rl.question(`${question} (y/N) `, (answer) => {
54
+ rl.close();
55
+ resolvePromise(answer.trim().toLowerCase() === "y");
56
+ });
57
+ });
58
+ }
59
+ function runExecFile(cmd, args, timeout = 120_000) {
60
+ execFileSync(cmd, args, { stdio: stdio(), timeout });
61
+ }
62
+ function printFailureOutput(err) {
63
+ if (isVerbose)
64
+ return;
65
+ const stderr = err.stderr ?? "";
66
+ const stdout = err.stdout ?? "";
67
+ const output = (stderr + stdout).trim();
68
+ if (output) {
69
+ console.log(chalk.dim(output));
70
+ }
71
+ }
72
+ // ---------------------------------------------------------------------------
73
+ // Spinner wrapper
74
+ // ---------------------------------------------------------------------------
75
+ async function withSpinner(label, fn) {
76
+ const spinner = ora({ text: label, indent: 4 }).start();
77
+ try {
78
+ const result = await fn();
79
+ if (result.ok) {
80
+ const suffix = result.skipped ? chalk.dim(" (already installed)") : "";
81
+ spinner.succeed(result.label + suffix);
82
+ }
83
+ else {
84
+ spinner.fail(result.label);
85
+ }
86
+ return result;
87
+ }
88
+ catch (err) {
89
+ spinner.fail(label);
90
+ printFailureOutput(err);
91
+ return { label, ok: false };
92
+ }
93
+ }
94
+ // ---------------------------------------------------------------------------
95
+ // Download helper with progress
96
+ // ---------------------------------------------------------------------------
97
+ function downloadFile(url, dest, spinner, label) {
98
+ return new Promise((resolvePromise, reject) => {
99
+ const doGet = url.startsWith("https") ? httpsGet : httpGet;
100
+ doGet(url, (res) => {
101
+ // Follow redirects
102
+ if (res.statusCode &&
103
+ res.statusCode >= 300 &&
104
+ res.statusCode < 400 &&
105
+ res.headers.location) {
106
+ downloadFile(res.headers.location, dest, spinner, label).then(resolvePromise, reject);
107
+ return;
108
+ }
109
+ if (res.statusCode && res.statusCode >= 400) {
110
+ reject(new Error(`HTTP ${res.statusCode}`));
111
+ return;
112
+ }
113
+ const totalBytes = res.headers["content-length"]
114
+ ? parseInt(res.headers["content-length"], 10)
115
+ : 0;
116
+ let received = 0;
117
+ const file = createWriteStream(dest);
118
+ res.on("data", (chunk) => {
119
+ received += chunk.length;
120
+ const receivedMB = (received / 1_048_576).toFixed(0);
121
+ if (totalBytes) {
122
+ const totalMB = (totalBytes / 1_048_576).toFixed(0);
123
+ spinner.text = `${label} (${receivedMB}/${totalMB} MB)`;
124
+ }
125
+ else {
126
+ spinner.text = `${label} (${receivedMB} MB downloaded)`;
127
+ }
128
+ });
129
+ res.pipe(file);
130
+ file.on("finish", () => {
131
+ file.close();
132
+ resolvePromise();
133
+ });
134
+ file.on("error", reject);
135
+ res.on("error", reject);
136
+ }).on("error", reject);
137
+ });
138
+ }
139
+ // ---------------------------------------------------------------------------
140
+ // Prerequisite checks
141
+ // ---------------------------------------------------------------------------
34
142
  function ensurePlaywrightTest() {
35
143
  const label = "@playwright/test";
36
144
  if (canResolvePackage("@playwright/test")) {
37
145
  return { label, ok: true, skipped: true };
38
146
  }
39
147
  try {
40
- console.log("Installing @playwright/test...");
41
- runCommand("npm install @playwright/test", { stdio: "inherit" });
148
+ runCommand("npm install @playwright/test");
42
149
  return { label, ok: true };
43
150
  }
44
- catch {
151
+ catch (err) {
152
+ printFailureOutput(err);
45
153
  return { label, ok: false };
46
154
  }
47
155
  }
48
156
  function ensurePlaywrightChromium() {
49
157
  const label = "Playwright Chromium";
50
158
  try {
51
- runCommand("npx playwright install chromium", { stdio: "inherit" });
159
+ runCommand("npx playwright install chromium");
52
160
  return { label, ok: true };
53
161
  }
54
- catch {
162
+ catch (err) {
163
+ printFailureOutput(err);
55
164
  return { label, ok: false };
56
165
  }
57
166
  }
@@ -64,16 +173,28 @@ function detectPackageManager() {
64
173
  }
65
174
  if (process.platform === "linux") {
66
175
  if (commandExists("apt-get")) {
67
- return { cmd: "apt-get", args: ["install", "-y", "ffmpeg"], sudo: true };
176
+ return {
177
+ cmd: "apt-get",
178
+ args: ["install", "-y", "ffmpeg"],
179
+ sudo: true,
180
+ };
68
181
  }
69
182
  if (commandExists("dnf")) {
70
183
  return { cmd: "dnf", args: ["install", "-y", "ffmpeg"], sudo: true };
71
184
  }
72
185
  if (commandExists("pacman")) {
73
- return { cmd: "pacman", args: ["-S", "--noconfirm", "ffmpeg"], sudo: true };
186
+ return {
187
+ cmd: "pacman",
188
+ args: ["-S", "--noconfirm", "ffmpeg"],
189
+ sudo: true,
190
+ };
74
191
  }
75
192
  if (commandExists("zypper")) {
76
- return { cmd: "zypper", args: ["install", "-y", "ffmpeg"], sudo: true };
193
+ return {
194
+ cmd: "zypper",
195
+ args: ["install", "-y", "ffmpeg"],
196
+ sudo: true,
197
+ };
77
198
  }
78
199
  return null;
79
200
  }
@@ -85,265 +206,243 @@ async function ensureFfmpeg(opts) {
85
206
  return { label, ok: true, skipped: true };
86
207
  }
87
208
  const pm = detectPackageManager();
88
- // No supported package manager — manual instructions only
89
209
  if (!pm) {
90
210
  if (process.platform === "darwin") {
91
- console.log("ffmpeg not found. Install Homebrew (https://brew.sh) then run: brew install ffmpeg\n" +
92
- "Or download from https://ffmpeg.org/download.html");
211
+ console.log(chalk.dim(" ffmpeg not found. Install Homebrew (https://brew.sh) then run: brew install ffmpeg\n" +
212
+ " Or download from https://ffmpeg.org/download.html"));
93
213
  }
94
214
  else if (process.platform === "linux") {
95
- console.log("ffmpeg not found. No supported package manager detected.\n" +
96
- "Install manually: sudo apt install ffmpeg (Debian/Ubuntu) or sudo dnf install ffmpeg (Fedora)");
215
+ console.log(chalk.dim(" ffmpeg not found. No supported package manager detected.\n" +
216
+ " Install manually: sudo apt install ffmpeg (Debian/Ubuntu) or sudo dnf install ffmpeg (Fedora)"));
97
217
  }
98
218
  else {
99
- console.log("ffmpeg not found. Download from https://ffmpeg.org/download.html");
219
+ console.log(chalk.dim(" ffmpeg not found. Download from https://ffmpeg.org/download.html"));
100
220
  }
101
221
  return { label, ok: false };
102
222
  }
103
- // Non-interactive: skip unless --yes
223
+ const installCmd = pm.sudo
224
+ ? `sudo ${pm.cmd} ${pm.args.join(" ")}`
225
+ : `${pm.cmd} ${pm.args.join(" ")}`;
104
226
  if (!opts.yes && !process.stdin.isTTY) {
105
- const installCmd = pm.sudo
106
- ? `sudo ${pm.cmd} ${pm.args.join(" ")}`
107
- : `${pm.cmd} ${pm.args.join(" ")}`;
108
- console.log(`Warning: ffmpeg is missing. Run with --yes to auto-install, or run manually:\n ${installCmd}`);
227
+ console.log(chalk.dim(` ffmpeg is missing. Run with --yes to auto-install, or run manually:\n ${installCmd}`));
109
228
  return { label, ok: false };
110
229
  }
111
- // Prompt for approval (unless --yes)
112
230
  if (!opts.yes) {
113
- const installCmd = pm.sudo
114
- ? `sudo ${pm.cmd} ${pm.args.join(" ")}`
115
- : `${pm.cmd} ${pm.args.join(" ")}`;
116
- const approved = await promptUser(`ffmpeg is not installed. Install via \`${installCmd}\`?${pm.sudo ? " This requires sudo." : ""}`);
231
+ const approved = await promptUser(` ffmpeg is not installed. Install via \`${installCmd}\`?${pm.sudo ? " This requires sudo." : ""}`);
117
232
  if (!approved) {
118
- console.log(`Skipped. You can install manually with: ${installCmd}`);
233
+ console.log(chalk.dim(` Skipped. Install manually: ${installCmd}`));
119
234
  return { label, ok: false };
120
235
  }
121
236
  }
122
- // Run the install
123
237
  try {
124
238
  if (pm.sudo) {
125
239
  const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
126
240
  if (isRoot) {
127
- console.log(`Installing ffmpeg via ${pm.cmd}...`);
128
- execFileSync(pm.cmd, pm.args, {
129
- stdio: "inherit",
130
- timeout: 120_000,
131
- });
241
+ runExecFile(pm.cmd, pm.args);
132
242
  }
133
243
  else {
134
244
  if (!commandExists("sudo")) {
135
- console.log(`sudo is not available. Install ffmpeg manually as root:\n ${pm.cmd} ${pm.args.join(" ")}`);
245
+ console.log(chalk.dim(` sudo is not available. Install ffmpeg manually as root:\n ${pm.cmd} ${pm.args.join(" ")}`));
136
246
  return { label, ok: false };
137
247
  }
138
- console.log(`Installing ffmpeg via sudo ${pm.cmd}...`);
139
- execFileSync("sudo", [pm.cmd, ...pm.args], {
140
- stdio: "inherit",
141
- timeout: 120_000,
142
- });
248
+ runExecFile("sudo", [pm.cmd, ...pm.args]);
143
249
  }
144
250
  }
145
251
  else {
146
- console.log(`Installing ffmpeg via ${pm.cmd}...`);
147
- execFileSync(pm.cmd, pm.args, {
148
- stdio: "inherit",
149
- timeout: 120_000,
150
- });
252
+ runExecFile(pm.cmd, pm.args);
151
253
  }
152
254
  }
153
- catch {
154
- console.log("ffmpeg installation command failed.");
255
+ catch (err) {
256
+ printFailureOutput(err);
155
257
  return { label, ok: false };
156
258
  }
157
- // Post-install verification
158
259
  if (commandExists("ffmpeg")) {
159
260
  return { label, ok: true };
160
261
  }
161
- console.log("ffmpeg was installed but is not on PATH. You may need to restart your shell or install manually.");
262
+ console.log(chalk.dim(" ffmpeg was installed but is not on PATH. You may need to restart your shell."));
162
263
  return { label, ok: false };
163
264
  }
164
- function installPlaywrightPlugin() {
165
- const label = "Playwright MCP plugin for Claude Code";
166
- if (!commandExists("claude")) {
167
- console.log("Claude CLI not found. Install it first: https://docs.anthropic.com/en/docs/claude-code");
168
- return { label, ok: false };
169
- }
170
- try {
171
- const output = runCommand("claude plugin list");
172
- if (output.toLowerCase().includes("playwright")) {
173
- return { label, ok: true, skipped: true };
174
- }
175
- }
176
- catch {
177
- // plugin list failed; try installing anyway
178
- }
179
- try {
180
- console.log("Installing Playwright MCP plugin for Claude Code...");
181
- runCommand("claude plugin install playwright@claude-plugins-official", { stdio: "inherit" });
182
- return { label, ok: true };
183
- }
184
- catch {
185
- return { label, ok: false };
186
- }
187
- }
188
- function installDemoflyPlugin() {
189
- const label = "Demofly plugin for Claude Code";
190
- if (!commandExists("claude")) {
191
- console.log("Claude CLI not found. Install it first: https://docs.anthropic.com/en/docs/claude-code");
192
- return { label, ok: false };
193
- }
194
- try {
195
- console.log("Registering demofly marketplace...");
196
- runCommand("claude plugin marketplace add llama-farm/demofly-claude");
197
- }
198
- catch (err) {
199
- const stderr = err.stderr ?? "";
200
- const msg = err.message ?? "";
201
- const combined = `${stderr} ${msg}`.toLowerCase();
202
- if (!combined.includes("already installed")) {
203
- console.log("Failed to register demofly marketplace.");
204
- return { label, ok: false };
205
- }
206
- }
207
- try {
208
- console.log("Installing Demofly plugin for Claude Code...");
209
- runCommand("claude plugin install demofly@demofly-marketplace", { stdio: "inherit" });
210
- return { label, ok: true };
211
- }
212
- catch {
213
- return { label, ok: false };
214
- }
215
- }
216
- function promptUser(question) {
217
- return new Promise((resolve) => {
218
- const rl = createInterface({
219
- input: process.stdin,
220
- output: process.stdout,
221
- });
222
- rl.question(`${question} (y/N) `, (answer) => {
223
- rl.close();
224
- resolve(answer.trim().toLowerCase() === "y");
225
- });
226
- });
227
- }
228
265
  async function ensureSystemDeps(opts) {
229
- const label = "Chromium system dependencies";
230
- // Only relevant on Linux (WSL reports as linux, which is correct)
266
+ const label = "Chromium system deps";
231
267
  if (process.platform !== "linux") {
232
268
  return { label, ok: true, skipped: true };
233
269
  }
234
- // Detect missing deps via dry-run
235
270
  let hasMissingDeps = false;
236
271
  let dryRunSupported = true;
237
272
  try {
238
- const output = runCommand("npx playwright install-deps --dry-run chromium 2>&1");
239
- // If dry-run exits 0 with no actionable output, deps are likely present.
240
- // Non-empty output listing packages indicates missing deps.
241
- hasMissingDeps = output.length > 0 && !output.toLowerCase().includes("already");
273
+ const output = execSync("npx playwright install-deps --dry-run chromium 2>&1", { stdio: "pipe", encoding: "utf-8", timeout: 120_000 }).trim();
274
+ hasMissingDeps =
275
+ output.length > 0 && !output.toLowerCase().includes("already");
242
276
  }
243
277
  catch {
244
- // --dry-run not supported in this Playwright version; we'll ask the user
245
- // and attempt the install directly if they approve.
246
278
  dryRunSupported = false;
247
279
  hasMissingDeps = true;
248
280
  }
249
281
  if (!hasMissingDeps) {
250
282
  return { label, ok: true, skipped: true };
251
283
  }
252
- // Non-interactive: skip unless --yes
253
284
  if (!opts.yes && !process.stdin.isTTY) {
254
- console.log("Warning: Chromium system dependencies may be missing. Run with --yes to auto-install, or run manually:\n" +
255
- " sudo npx playwright install-deps chromium");
285
+ console.log(chalk.dim(" Chromium system deps may be missing. Run with --yes to auto-install, or:\n" +
286
+ " sudo npx playwright install-deps chromium"));
256
287
  return { label, ok: false };
257
288
  }
258
- // Prompt for approval (unless --yes)
259
289
  if (!opts.yes) {
260
290
  const msg = dryRunSupported
261
- ? "System dependencies are missing for Chromium. Install them? This requires sudo."
262
- : "Unable to detect system dependencies (dry-run not supported). Attempt to install Chromium system deps? This requires sudo.";
291
+ ? " System dependencies are missing for Chromium. Install them? This requires sudo."
292
+ : " Unable to detect system deps (dry-run not supported). Attempt to install? This requires sudo.";
263
293
  const approved = await promptUser(msg);
264
294
  if (!approved) {
265
- console.log("Skipped. You can install manually with: sudo npx playwright install-deps chromium");
295
+ console.log(chalk.dim(" Skipped. Install manually: sudo npx playwright install-deps chromium"));
266
296
  return { label, ok: false };
267
297
  }
268
298
  }
269
- // Determine how to run the install
270
299
  const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
271
300
  if (isRoot) {
272
- // Already root — run directly
273
301
  try {
274
- console.log("Installing Chromium system dependencies...");
275
- runCommand("npx playwright install-deps chromium", { stdio: "inherit" });
302
+ runCommand("npx playwright install-deps chromium");
276
303
  return { label, ok: true };
277
304
  }
278
- catch {
305
+ catch (err) {
306
+ printFailureOutput(err);
279
307
  return { label, ok: false };
280
308
  }
281
309
  }
282
- // Need sudo
283
310
  if (!commandExists("sudo")) {
284
- console.log("sudo is not available. Install system dependencies manually as root:\n" +
285
- " npx playwright install-deps chromium");
311
+ console.log(chalk.dim(" sudo is not available. Install system dependencies manually as root:\n" +
312
+ " npx playwright install-deps chromium"));
286
313
  return { label, ok: false };
287
314
  }
288
315
  try {
289
- console.log("Installing Chromium system dependencies (sudo)...");
290
- execFileSync("sudo", ["npx", "playwright", "install-deps", "chromium"], {
291
- stdio: "inherit",
292
- timeout: 120_000,
293
- });
316
+ runExecFile("sudo", ["npx", "playwright", "install-deps", "chromium"]);
294
317
  return { label, ok: true };
295
318
  }
296
- catch {
319
+ catch (err) {
320
+ printFailureOutput(err);
297
321
  return { label, ok: false };
298
322
  }
299
323
  }
300
- function ensureDemoflyDir() {
301
- const label = "demofly/ directory";
302
- const dir = resolve(process.cwd(), "demofly");
303
- if (existsSync(dir)) {
304
- return { label, ok: true, skipped: true };
305
- }
306
- try {
307
- mkdirSync(dir, { recursive: true });
308
- return { label, ok: true };
309
- }
310
- catch {
311
- return { label, ok: false };
312
- }
324
+ function isKokoroModelInstalled() {
325
+ const modelFile = resolve(homedir(), ".demofly", "models", "kokoro-en-v0_19", "model.onnx");
326
+ return existsSync(modelFile);
313
327
  }
314
- function ensureKokoroModel() {
328
+ async function downloadKokoroModel() {
315
329
  const label = "Kokoro TTS model";
316
330
  const modelDir = resolve(homedir(), ".demofly", "models", "kokoro-en-v0_19");
317
331
  const modelFile = resolve(modelDir, "model.onnx");
318
- if (existsSync(modelFile)) {
319
- return { label, ok: true, skipped: true };
320
- }
321
332
  const modelsDir = resolve(homedir(), ".demofly", "models");
322
333
  const tarball = "/tmp/kokoro-en-v0_19.tar.bz2";
323
334
  const url = "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2";
335
+ const spinner = ora({ text: label, indent: 4 }).start();
324
336
  try {
325
337
  mkdirSync(modelsDir, { recursive: true });
326
- console.log("Downloading Kokoro TTS model (~80MB)...");
327
- const downloadCmd = commandExists("wget")
328
- ? `wget -q --show-progress "${url}" -O "${tarball}"`
329
- : `curl -L --progress-bar "${url}" -o "${tarball}"`;
330
- execSync(downloadCmd, { stdio: "inherit", timeout: 600_000 });
331
- console.log("Extracting model...");
332
- execSync(`tar xf "${tarball}" -C "${modelsDir}"`, { stdio: "inherit", timeout: 120_000 });
338
+ await downloadFile(url, tarball, spinner, label);
339
+ spinner.text = `${label} — extracting...`;
340
+ execSync(`tar xf "${tarball}" -C "${modelsDir}"`, {
341
+ stdio: "pipe",
342
+ timeout: 120_000,
343
+ });
333
344
  execSync(`rm -f "${tarball}"`, { stdio: "pipe" });
334
345
  if (existsSync(modelFile)) {
346
+ spinner.succeed(label);
335
347
  return { label, ok: true };
336
348
  }
337
- console.log("Model extraction succeeded but model.onnx not found at expected path.");
349
+ spinner.fail(label);
350
+ console.log(chalk.dim(" Model extracted but model.onnx not found at expected path."));
351
+ return { label, ok: false };
352
+ }
353
+ catch (err) {
354
+ spinner.fail(label);
355
+ printFailureOutput(err);
356
+ return { label, ok: false };
357
+ }
358
+ }
359
+ function installPlaywrightPlugin() {
360
+ const label = "Playwright MCP plugin";
361
+ if (!commandExists("claude")) {
362
+ console.log(chalk.dim(" Claude CLI not found. Install it first: https://docs.anthropic.com/en/docs/claude-code"));
363
+ return { label, ok: false };
364
+ }
365
+ try {
366
+ const output = execSync("claude plugin list", {
367
+ stdio: "pipe",
368
+ encoding: "utf-8",
369
+ timeout: 120_000,
370
+ }).trim();
371
+ if (output.toLowerCase().includes("playwright")) {
372
+ return { label, ok: true, skipped: true };
373
+ }
374
+ }
375
+ catch {
376
+ // plugin list failed; try installing anyway
377
+ }
378
+ try {
379
+ runCommand("claude plugin install playwright@claude-plugins-official");
380
+ return { label, ok: true };
381
+ }
382
+ catch (err) {
383
+ printFailureOutput(err);
384
+ return { label, ok: false };
385
+ }
386
+ }
387
+ function installDemoflyPlugin() {
388
+ let label = "Demofly plugin";
389
+ if (!commandExists("claude")) {
390
+ console.log(chalk.dim(" Claude CLI not found. Install it first: https://docs.anthropic.com/en/docs/claude-code"));
391
+ return { label, ok: false };
392
+ }
393
+ try {
394
+ runCommand("claude plugin marketplace add llama-farm/demofly-claude");
395
+ }
396
+ catch (err) {
397
+ const stderr = err.stderr ?? "";
398
+ const msg = err.message ?? "";
399
+ const combined = `${stderr} ${msg}`.toLowerCase();
400
+ if (!combined.includes("already installed")) {
401
+ printFailureOutput(err);
402
+ return { label, ok: false };
403
+ }
404
+ }
405
+ try {
406
+ runCommand("claude plugin install demofly@demofly-marketplace");
407
+ }
408
+ catch (err) {
409
+ printFailureOutput(err);
338
410
  return { label, ok: false };
339
411
  }
412
+ // Read installed plugin version
413
+ try {
414
+ const pluginsFile = resolve(homedir(), ".claude", "plugins", "installed_plugins.json");
415
+ const raw = readFileSync(pluginsFile, "utf-8");
416
+ const data = JSON.parse(raw);
417
+ const entries = data.plugins?.["demofly@demofly-marketplace"];
418
+ if (Array.isArray(entries) && entries.length > 0) {
419
+ const version = entries[0].version;
420
+ if (version) {
421
+ label = `Demofly plugin v${version}`;
422
+ }
423
+ }
424
+ }
425
+ catch {
426
+ // Fall back to label without version
427
+ }
428
+ return { label, ok: true };
429
+ }
430
+ function ensureDemoflyDir() {
431
+ const label = "demofly/ directory";
432
+ const dir = resolve(process.cwd(), "demofly");
433
+ if (existsSync(dir)) {
434
+ return { label, ok: true, skipped: true };
435
+ }
436
+ try {
437
+ mkdirSync(dir, { recursive: true });
438
+ return { label, ok: true };
439
+ }
340
440
  catch {
341
- console.log("Kokoro model download/extraction failed.");
342
441
  return { label, ok: false };
343
442
  }
344
443
  }
345
444
  function ensureMcpConfig() {
346
- const label = "Headless Playwright MCP config (.mcp.json)";
445
+ const label = "MCP config (.mcp.json)";
347
446
  const mcpPath = resolve(process.cwd(), ".mcp.json");
348
447
  const serverName = "demofly-playwright";
349
448
  const serverConfig = {
@@ -370,39 +469,73 @@ function ensureMcpConfig() {
370
469
  return { label, ok: false };
371
470
  }
372
471
  }
472
+ // ---------------------------------------------------------------------------
473
+ // Summary
474
+ // ---------------------------------------------------------------------------
373
475
  function printSummary(results) {
374
- console.log("\n--- demofly init summary ---\n");
375
- for (const r of results) {
376
- const icon = r.ok ? "\u2714" : "\u2718";
377
- const suffix = r.ok && r.skipped ? " (already present)" : "";
378
- console.log(` ${icon} ${r.label}${suffix}`);
379
- }
380
- const allOk = results.every((r) => r.ok);
476
+ const total = results.length;
477
+ const failed = results.filter((r) => !r.ok).length;
381
478
  console.log();
382
- if (allOk) {
383
- console.log("Ready! Use /demofly:create in Claude Code to create your first demo.");
479
+ if (failed === 0) {
480
+ console.log(chalk.green(` ✔ All ${total} prerequisites ready.`));
481
+ console.log();
482
+ console.log(` Next step: use ${chalk.bold("/demofly:create")} in Claude Code to create your first demo.`);
384
483
  }
385
484
  else {
386
- console.log("Not ready -- see issues above.");
485
+ console.log(chalk.red(` ✘ ${failed} of ${total} prerequisites failed.`));
387
486
  }
487
+ console.log();
388
488
  }
489
+ // ---------------------------------------------------------------------------
490
+ // Main command
491
+ // ---------------------------------------------------------------------------
389
492
  export function registerInitCommand(program) {
390
493
  program
391
494
  .command("init")
392
495
  .description("Initialize demofly prerequisites in the current project")
393
496
  .option("-y, --yes", "Auto-approve prompts (for CI/scripted use)")
394
497
  .action(async (opts) => {
395
- console.log("Initializing demofly...\n");
498
+ const initOpts = { yes: opts.yes };
499
+ // Branded header
500
+ console.log();
501
+ console.log(` ${chalk.bold("demofly")} v${VERSION}`);
502
+ console.log();
396
503
  const results = [];
397
- results.push(ensurePlaywrightTest());
398
- results.push(ensurePlaywrightChromium());
399
- results.push(await ensureSystemDeps({ yes: opts.yes }));
400
- results.push(await ensureFfmpeg({ yes: opts.yes }));
401
- results.push(ensureKokoroModel());
402
- results.push(installPlaywrightPlugin());
403
- results.push(installDemoflyPlugin());
404
- results.push(ensureDemoflyDir());
405
- results.push(ensureMcpConfig());
504
+ // -- Dependencies --
505
+ console.log(chalk.bold(" Dependencies"));
506
+ console.log();
507
+ results.push(await withSpinner("@playwright/test", () => ensurePlaywrightTest()));
508
+ results.push(await withSpinner("Playwright Chromium", () => ensurePlaywrightChromium()));
509
+ results.push(await withSpinner("Chromium system deps", () => ensureSystemDeps(initOpts)));
510
+ results.push(await withSpinner("ffmpeg", () => ensureFfmpeg(initOpts)));
511
+ // -- Models --
512
+ console.log();
513
+ console.log(chalk.bold(" Models"));
514
+ console.log();
515
+ if (isKokoroModelInstalled()) {
516
+ const label = "Kokoro TTS model";
517
+ const r = { label, ok: true, skipped: true };
518
+ const spinner = ora({ text: label, indent: 4 }).start();
519
+ spinner.succeed(label + chalk.dim(" (already installed)"));
520
+ results.push(r);
521
+ }
522
+ else {
523
+ // downloadKokoroModel manages its own spinner for progress updates
524
+ results.push(await downloadKokoroModel());
525
+ }
526
+ // -- Claude Code --
527
+ console.log();
528
+ console.log(chalk.bold(" Claude Code"));
529
+ console.log();
530
+ results.push(await withSpinner("Playwright MCP plugin", () => installPlaywrightPlugin()));
531
+ results.push(await withSpinner("Demofly plugin", () => installDemoflyPlugin()));
532
+ results.push(await withSpinner("MCP config (.mcp.json)", () => ensureMcpConfig()));
533
+ // -- Project --
534
+ console.log();
535
+ console.log(chalk.bold(" Project"));
536
+ console.log();
537
+ results.push(await withSpinner("demofly/ directory", () => ensureDemoflyDir()));
538
+ // -- Summary --
406
539
  printSummary(results);
407
540
  const allOk = results.every((r) => r.ok);
408
541
  if (!allOk) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -170,7 +170,7 @@ export function registerPushCommand(program) {
170
170
  writeDemoConfig(projectDir, config);
171
171
  }
172
172
  if (response.url) {
173
- console.log(`URL: ${response.url}`);
173
+ console.log(`Edit URL: ${response.url}`);
174
174
  }
175
175
  if (response.shareUrl) {
176
176
  console.log(`Share URL: ${response.shareUrl}`);
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from "commander";
2
+ export declare function registerUpdateCommand(program: Command): void;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqD5D"}
@@ -0,0 +1,54 @@
1
+ import {} from "commander";
2
+ import { execSync } from "node:child_process";
3
+ import chalk from "chalk";
4
+ import { VERSION } from "../lib/version.js";
5
+ async function fetchLatestVersion() {
6
+ const response = await fetch("https://registry.npmjs.org/demofly/latest");
7
+ if (!response.ok) {
8
+ throw new Error(`npm registry returned ${response.status}`);
9
+ }
10
+ const data = (await response.json());
11
+ return data.version;
12
+ }
13
+ export function registerUpdateCommand(program) {
14
+ program
15
+ .command("update")
16
+ .description("Update demofly CLI to the latest version")
17
+ .option("--check", "Check for updates without installing")
18
+ .action(async (opts) => {
19
+ let latest;
20
+ try {
21
+ latest = await fetchLatestVersion();
22
+ }
23
+ catch {
24
+ console.error(chalk.red("Failed to check for updates. Check your network connection."));
25
+ process.exit(1);
26
+ }
27
+ if (opts.check) {
28
+ if (latest === VERSION) {
29
+ console.log(chalk.green(`Already up to date (v${VERSION})`));
30
+ }
31
+ else {
32
+ console.log(`Current: ${chalk.dim(VERSION)}`);
33
+ console.log(`Latest: ${chalk.green(latest)}`);
34
+ console.log(`\nRun ${chalk.cyan("demofly update")} to upgrade.`);
35
+ }
36
+ return;
37
+ }
38
+ if (latest === VERSION) {
39
+ console.log(chalk.green(`Already up to date (v${VERSION})`));
40
+ return;
41
+ }
42
+ console.log(`Updating demofly ${chalk.dim(VERSION)} → ${chalk.green(latest)}...`);
43
+ try {
44
+ execSync("npm install -g demofly@latest", { stdio: "inherit" });
45
+ console.log(chalk.green(`\nSuccessfully updated to v${latest}`));
46
+ }
47
+ catch {
48
+ console.error(chalk.red("\nUpdate failed. Try running with elevated permissions:"));
49
+ console.error(chalk.dim(" sudo npm install -g demofly@latest"));
50
+ process.exit(1);
51
+ }
52
+ });
53
+ }
54
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,KAAK,UAAU,kBAAkB;IAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;IAC5D,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,KAAK,EAAE,IAAyB,EAAE,EAAE;QAC1C,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CACzE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CACT,SAAS,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACpD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CACT,oBAAoB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CACrE,CAAC;QAEF,IAAI,CAAC;YACH,QAAQ,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CACrE,CAAC;YACF,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAClD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO7D"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAc7D"}
@@ -1,11 +1,20 @@
1
+ import { createRequire } from "node:module";
1
2
  import {} from "commander";
3
+ import chalk from "chalk";
4
+ import updateNotifier from "update-notifier";
2
5
  import { VERSION } from "../lib/version.js";
6
+ const require = createRequire(import.meta.url);
7
+ const pkg = require("../../package.json");
3
8
  export function registerVersionCommand(program) {
4
9
  program
5
10
  .command("version")
6
11
  .description("Print the demofly CLI version")
7
12
  .action(() => {
8
13
  console.log(VERSION);
14
+ const notifier = updateNotifier({ pkg, updateCheckInterval: 0 });
15
+ if (notifier.update && notifier.update.latest !== VERSION) {
16
+ console.log(chalk.dim(`Latest: ${notifier.update.latest}`));
17
+ }
9
18
  });
10
19
  }
11
20
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAsC,CAAC;AAE/E,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import { createRequire } from "node:module";
2
3
  import { program } from "commander";
4
+ import updateNotifier from "update-notifier";
3
5
  import { registerInitCommand } from "./commands/init.js";
4
6
  import { registerGenerateCommand } from "./commands/generate.js";
5
7
  import { registerAuthCommands } from "./commands/auth/index.js";
@@ -7,6 +9,7 @@ import { registerPushCommand } from "./commands/push.js";
7
9
  import { registerDemosCommands } from "./commands/demos/index.js";
8
10
  import { registerVoicesCommands } from "./commands/voices/index.js";
9
11
  import { registerVersionCommand } from "./commands/version.js";
12
+ import { registerUpdateCommand } from "./commands/update.js";
10
13
  import { setVerbose } from "./lib/logger.js";
11
14
  import { VERSION } from "./lib/version.js";
12
15
  const nodeVersion = parseInt(process.versions.node.split(".")[0], 10);
@@ -14,6 +17,9 @@ if (nodeVersion < 22) {
14
17
  console.error(`demofly requires Node.js 22 or higher (found v${process.versions.node})`);
15
18
  process.exit(1);
16
19
  }
20
+ const require = createRequire(import.meta.url);
21
+ const pkg = require("../package.json");
22
+ const notifier = updateNotifier({ pkg });
17
23
  program
18
24
  .name("demofly")
19
25
  .version(VERSION)
@@ -31,5 +37,9 @@ registerPushCommand(program);
31
37
  registerDemosCommands(program);
32
38
  registerVoicesCommands(program);
33
39
  registerVersionCommand(program);
40
+ registerUpdateCommand(program);
34
41
  program.parse();
42
+ notifier.notify({
43
+ message: `Update available: {currentVersion} → {latestVersion}\nRun \`demofly update\` to upgrade`,
44
+ });
35
45
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,CACX,iDAAiD,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAC1E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;AAErD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,CACX,iDAAiD,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAC1E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAsC,CAAC;AAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAEzC,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;AAErD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,QAAQ,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,yFAAyF;CACnG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "demofly",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "CLI for demofly — automated demo video generation",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,8 +24,11 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@playwright/test": "^1.58.2",
27
+ "chalk": "^5.4.1",
27
28
  "commander": "^13.0.0",
28
- "sherpa-onnx-node": "^1.12.25"
29
+ "ora": "^9.0.0",
30
+ "sherpa-onnx-node": "^1.12.25",
31
+ "update-notifier": "^7.3.1"
29
32
  },
30
33
  "devDependencies": {
31
34
  "@release-it/conventional-changelog": "^10.0.0",