@keepylabs/cutroom 0.5.6 → 0.5.7

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 (2) hide show
  1. package/cutroom.mjs +13 -3
  2. package/package.json +1 -1
package/cutroom.mjs CHANGED
@@ -20,7 +20,13 @@ function run(cmd, args, opt = {}) {
20
20
  return spawnSync(cmd, args, o);
21
21
  }
22
22
  var has = (bin) => spawnSync(WIN ? "where" : "which", [bin], { stdio: "ignore" }).status === 0;
23
- var installLine = (tool) => WIN ? tool === "ffmpeg" ? "winget install --id Gyan.FFmpeg -e" : "winget install --id OpenJS.NodeJS.LTS -e" : `brew install ${tool}`;
23
+ var installLine = (tool) => WIN ? { ffmpeg: "winget install --id Gyan.FFmpeg -e", node: "winget install --id OpenJS.NodeJS.LTS -e", "node-update": "winget upgrade --id OpenJS.NodeJS.LTS -e" }[tool] : { ffmpeg: "brew install ffmpeg", node: "brew install node", "node-update": "brew upgrade node" }[tool];
24
+ var NODE_MIN = 22;
25
+ function nodeMajor() {
26
+ const r = spawnSync("node", ["--version"], { encoding: "utf8", shell: WIN });
27
+ const m = (r.stdout ?? "").match(/v(\d+)/);
28
+ return m ? Number(m[1]) : 0;
29
+ }
24
30
 
25
31
  // node_modules/@modelcontextprotocol/server/dist/chunk-Br0eD_fh.mjs
26
32
  var __create = Object.create;
@@ -21652,7 +21658,7 @@ import { homedir } from "node:os";
21652
21658
  import { join as join2, resolve } from "node:path";
21653
21659
  import { Readable } from "node:stream";
21654
21660
  import { pipeline } from "node:stream/promises";
21655
- var VERSION = "0.5.6";
21661
+ var VERSION = "0.5.7";
21656
21662
  var GATEWAY = () => (process.env.CUTROOM_GATEWAY || "https://keepylabs.com/api/cutroom").replace(/\/$/, "");
21657
21663
  var HOME = () => process.env.CUTROOM_HOME || join2(homedir(), "Cutroom");
21658
21664
  async function call(op, body = {}, fetchImpl = fetch) {
@@ -21686,7 +21692,11 @@ async function download(url2, target) {
21686
21692
  async function doctor() {
21687
21693
  const checks = [
21688
21694
  { name: "ffmpeg", ok: has("ffmpeg") && has("ffprobe"), fix: installLine("ffmpeg") },
21689
- { name: "Node.js (for rendering)", ok: has("npx"), fix: installLine("node") }
21695
+ (() => {
21696
+ const v = has("npx") ? nodeMajor() : 0;
21697
+ if (!v) return { name: "Node.js (for rendering)", ok: false, fix: installLine("node") };
21698
+ return v >= NODE_MIN ? { name: `Node.js ${v} (for rendering)`, ok: true } : { name: `Node.js ${v} is too old (rendering needs ${NODE_MIN} or newer)`, ok: false, fix: installLine("node-update") };
21699
+ })()
21690
21700
  ];
21691
21701
  let member = null;
21692
21702
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keepylabs/cutroom",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "Cutroom for Claude Code: hooks and scripts with scoring, reel breakdowns, creator teardowns, and finishing your own videos with QA. Needs a Keepy Labs membership key.",
5
5
  "type": "module",
6
6
  "bin": {