@vosjs/cli 0.87.1 → 0.88.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.
package/dist/cli.js CHANGED
@@ -876,12 +876,12 @@ async function cmdCheck(argv) {
876
876
  return result.ok ? EXIT_OK : EXIT_ERROR;
877
877
  }
878
878
  async function delegate(argv) {
879
- const { run } = await import("./run-OT54QJ4T.js");
879
+ const { run } = await import("./run-B52VR6J6.js");
880
880
  return await run(argv);
881
881
  }
882
882
  async function printHelp() {
883
883
  process.stdout.write(HELP_ENGINE);
884
- const { manifest } = await import("./manifest-OLVFUZTW.js");
884
+ const { manifest } = await import("./manifest-E4KFN42P.js");
885
885
  process.stdout.write("\nTake pipeline + vos.so verbs\n");
886
886
  for (const v of manifest.verbs) {
887
887
  if (v.name === "render") continue;
@@ -910,7 +910,7 @@ async function main() {
910
910
  const engine = HELP_ENGINE.split("\n").filter(
911
911
  (l) => l.startsWith(` vos ${cmd} `)
912
912
  );
913
- const { verbHelp } = await import("./run-OT54QJ4T.js");
913
+ const { verbHelp } = await import("./run-B52VR6J6.js");
914
914
  const take = verbHelp(cmd);
915
915
  process.stdout.write(
916
916
  `${engine.join("\n")}
@@ -938,7 +938,7 @@ ${take.includes("no such verb") ? "" : take}`
938
938
  main().then(async (code) => {
939
939
  if (code === EXIT_OK) {
940
940
  const verb = process.argv[2] ?? "";
941
- const { HELP } = await import("./run-OT54QJ4T.js");
941
+ const { HELP } = await import("./run-B52VR6J6.js");
942
942
  const documented = [
943
943
  ...helpFlagsFor(HELP_ENGINE, verb),
944
944
  ...helpFlagsFor(HELP, verb)
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  startTakeServer,
15
15
  validateActions,
16
16
  waitForPageDone
17
- } from "./chunk-ACWV3Y6Y.js";
17
+ } from "./chunk-BHWDA2KG.js";
18
18
  import {
19
19
  BrowserUnavailableError,
20
20
  configDuration,
@@ -42,7 +42,7 @@ import {
42
42
  import "./chunk-6XPFWQKP.js";
43
43
  import {
44
44
  manifest
45
- } from "./chunk-7A3PZARL.js";
45
+ } from "./chunk-BDFC2L2O.js";
46
46
  export {
47
47
  BrowserUnavailableError,
48
48
  RECORDING_NAME,
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ manifest
4
+ } from "./chunk-BDFC2L2O.js";
5
+ export {
6
+ manifest
7
+ };
8
+ //# sourceMappingURL=manifest-E4KFN42P.js.map
@@ -2,6 +2,7 @@
2
2
  import {
3
3
  HELP,
4
4
  MULTI_FLAGS,
5
+ maxDuration,
5
6
  previousCutReport,
6
7
  reRecord,
7
8
  run,
@@ -9,7 +10,7 @@ import {
9
10
  takeBackdrop,
10
11
  takeBrowserArgs,
11
12
  verbHelp
12
- } from "./chunk-ACWV3Y6Y.js";
13
+ } from "./chunk-BHWDA2KG.js";
13
14
  import "./chunk-EXDMMAPT.js";
14
15
  import "./chunk-2UFNOKVY.js";
15
16
  import "./chunk-PEW5GIZF.js";
@@ -17,6 +18,7 @@ import "./chunk-6XPFWQKP.js";
17
18
  export {
18
19
  HELP,
19
20
  MULTI_FLAGS,
21
+ maxDuration,
20
22
  previousCutReport,
21
23
  reRecord,
22
24
  run,
@@ -25,4 +27,4 @@ export {
25
27
  takeBrowserArgs,
26
28
  verbHelp
27
29
  };
28
- //# sourceMappingURL=run-OT54QJ4T.js.map
30
+ //# sourceMappingURL=run-B52VR6J6.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vosjs/cli",
3
- "version": "0.87.1",
3
+ "version": "0.88.0",
4
4
  "description": "The vos CLI: record the real product from a scripted browser flow, auto-zoom from the cursor track, cut as data in doc.json, render deterministic video, deliver a release's video cuts per destination spec, and sync with vos.so. One binary, every verb, MIT.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -47,6 +47,7 @@
47
47
  ],
48
48
  "sideEffects": false,
49
49
  "dependencies": {
50
+ "@vosjs/driver": "^0.1.2",
50
51
  "acorn": "^8.18.0",
51
52
  "acorn-walk": "^8.3.5",
52
53
  "mediabunny": "^1.55.7",
@@ -54,9 +55,9 @@
54
55
  "@vosjs/core": "^0.31.0",
55
56
  "@vosjs/editor": "^1.6.0",
56
57
  "@vosjs/elements": "^0.12.2",
57
- "@vosjs/render-core": "^0.12.2",
58
+ "@vosjs/render-core": "^0.12.3",
58
59
  "@vosjs/shared": "^0.8.0",
59
- "@vosjs/studio-core": "^0.48.0",
60
+ "@vosjs/studio-core": "^0.49.0",
60
61
  "@vosjs/timeline": "^0.5.0",
61
62
  "@vosjs/tween": "^0.8.3"
62
63
  },
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/plugin/manifest.ts"],"sourcesContent":["/**\n * The verb manifest of the take pipeline and the vos.so verbs — what\n * `vos help` lists under the engine verbs. It kept the shape a separately\n * installed plugin once handed the host (name + host range), so a script\n * reading it keeps working.\n */\nexport interface PluginVerb {\n name: string\n summary: string\n}\n\nexport interface PluginManifest {\n name: string\n /** Host versions this plugin speaks the run(argv) contract with. */\n hostRange: string\n verbs: PluginVerb[]\n}\n\nexport const manifest: PluginManifest = {\n name: '@vosjs/cli',\n hostRange: '>=0.9.0',\n verbs: [\n {\n name: 'create',\n summary: 'record + auto-plan + render, one command (--strict)',\n },\n {\n name: 'record',\n summary: 'drive actions.json into a take (screencast + cursor track)',\n },\n {\n name: 'look',\n summary:\n 'see a page before scripting it (signed in, like record): a screenshot + every control in view with one proposed stable selector',\n },\n {\n name: 'plan',\n summary:\n 'plan zoom/cursor effects into doc.json (wand contract); --reuse re-times a previous cut onto a re-recording',\n },\n {\n name: 'render',\n summary: 'render a take directory (engine configs render in the host)',\n },\n {\n name: 'frames',\n summary:\n 'PNG stills at output times / zoom apexes (each checked against its zoom-off twin) / moments / exact sizes',\n },\n {\n name: 'check-video',\n summary:\n 'check a rendered file: facts, scene changes, loudness, first and last frames',\n },\n {\n name: 'deliver',\n summary:\n 'render a take to release video destinations (YouTube, X, Shorts/LinkedIn, GitHub) + verified kit.json',\n },\n {\n name: 'digest',\n summary:\n 'see a recording before cutting it: moments (clicks, typing, scrolls, idle, scenes) + footage frames + crops, in doc units',\n },\n { name: 'open', summary: 'serve the take into the vos.so studio' },\n {\n name: 'validate',\n summary:\n 'lint actions.json, a take dir (doc.json semantics), or re-measure a kit.json against the channel specs',\n },\n {\n name: 'actions',\n summary:\n 'from-agent-browser: turn an agent-browser walk (steps.jsonl) into actions.json; what cannot follow is named',\n },\n {\n name: 'ingest',\n summary:\n 'a take from a recording someone else made, with its cursor track from a trace beside it (Playwright trace.zip, stamped records, CSV); without one nothing is planned',\n },\n {\n name: 'join',\n summary:\n 'several takes and video files as one take: each next input a media, its spans tagged, its layers moved to where it starts; --captions anchors every step caption',\n },\n {\n name: 'score',\n summary:\n \"a music track as the film's score, its strongest swell landed on a step or a second (--dry-run prints the loudness envelope and the plan)\",\n },\n {\n name: 'audio',\n summary:\n 'measure: every audio clip’s loudness (integrated LUFS, sample peak) written beside it, which a clip’s normalize target plays it to',\n },\n {\n name: 'music',\n summary:\n 'ls: the library one line per track (tempo, vocals, loops, the sentence); pick: the beds that fit this film, best first, with reasons and the vos score line that places each',\n },\n {\n name: 'port',\n summary:\n 'bring a page, a HyperFrames or a Remotion piece: inventory (its words, colours, faces, media, scenes) then scaffold (a data-first program.mjs to translate the motion into)',\n },\n {\n name: 'build',\n summary:\n 'program.mjs (real functions) → config.json, refusing what cannot run on its own (module-scope reads, syntax the page cannot parse, non-JSON data)',\n },\n {\n name: 'compare',\n summary:\n \"a program against the source's own render: per-frame SSIM and source | vos | difference sheets; exits 1 when any frame is under the threshold\",\n },\n {\n name: 'brand',\n summary:\n \"write a product's BRAND.md, witnessed: /design.md, /llms.txt, then the page (palette, faces, marks, the avoid list)\",\n },\n {\n name: 'fetch',\n summary: 'download a hosted program: config.json + vos.json tracking',\n },\n {\n name: 'push',\n summary: 'push a config.json or take to vos.so (private; versioned)',\n },\n {\n name: 'duplicate',\n summary:\n 'a private sibling of your OWN vos (someone else\\u2019s is remixed: fetch + push --remix-of)',\n },\n {\n name: 'pull',\n summary:\n 'sync what changed on vos.so since your base (--media brings a take’s footage home)',\n },\n {\n name: 'folder',\n summary:\n 'list/create/pull folders, move voses and assets into them (pull = the context package on disk)',\n },\n {\n name: 'asset',\n summary:\n 'your files: push or import one, list them (assets ls), see storage (assets usage) and what uses a file (assets why)',\n },\n {\n name: 'recipe',\n summary:\n 'push a recipe .md into a folder, or replace one in place (prior body kept)',\n },\n {\n name: 'login',\n summary: 'sign in via the browser (or --key); stores a content key',\n },\n {\n name: 'setup',\n summary:\n 'ready this machine: the vos skills into your agent, a browser, one rules block, then doctor',\n },\n {\n name: 'doctor',\n summary:\n 'what is ready, in words: node, browser, ffmpeg, skills, a credential (never printed), the dev server',\n },\n {\n name: 'whoami',\n summary:\n 'the account in use and every other one stored for the origin, never a key',\n },\n {\n name: 'switch',\n summary:\n 'use another stored account (vos login once per account stores them all)',\n },\n {\n name: 'logout',\n summary:\n 'forget the account in use, a named one (vos logout <handle>), or all (--all)',\n },\n ],\n}\n"],"mappings":";;;AAkBO,IAAM,WAA2B;AAAA,EACtC,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA,EAAE,MAAM,QAAQ,SAAS,wCAAwC;AAAA,IACjE;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,SACE;AAAA,IACJ;AAAA,EACF;AACF;","names":[]}