@vosjs/cli 0.17.4 → 0.19.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/README.md +16 -12
- package/dist/{chunk-Y7BXFF2W.js → chunk-4LLBPFCW.js} +1411 -2046
- package/dist/chunk-4LLBPFCW.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/index.d.ts +75 -1
- package/dist/index.js +1 -1
- package/dist/{run-AE3NXEZ4.js → run-PJOOKJE2.js} +2 -2
- package/package.json +5 -5
- package/schema/doc.schema.json +163 -296
- package/dist/chunk-Y7BXFF2W.js.map +0 -1
- /package/dist/{run-AE3NXEZ4.js.map → run-PJOOKJE2.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -495,7 +495,7 @@ async function cmdCheck(argv) {
|
|
|
495
495
|
return result.ok ? EXIT_OK : EXIT_ERROR;
|
|
496
496
|
}
|
|
497
497
|
async function delegate(argv, viaAlias = false) {
|
|
498
|
-
const { run } = await import("./run-
|
|
498
|
+
const { run } = await import("./run-PJOOKJE2.js");
|
|
499
499
|
if (viaAlias && argv[0]) {
|
|
500
500
|
process.stderr.write(
|
|
501
501
|
`note: "vos voila ${argv[0]}" is now "vos ${argv[0]}".
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Browser, Page } from 'playwright';
|
|
2
|
-
import { CursorTrack, RecordingMeta, ProjectDoc, CursorEvent, Backdrop, TranscriptSegment, Digest } from '@vosjs/studio-core';
|
|
2
|
+
import { CursorTrack, RecordingMeta, ProjectDoc, CursorEvent, Backdrop, LayoutParts, TranscriptSegment, Digest } from '@vosjs/studio-core';
|
|
3
3
|
export { Digest } from '@vosjs/studio-core';
|
|
4
4
|
|
|
5
5
|
interface RenderCommonOptions {
|
|
@@ -230,6 +230,48 @@ declare function encodeRecording(browser: Browser, takeDir: string, onProgress:
|
|
|
230
230
|
bytes: number;
|
|
231
231
|
}>;
|
|
232
232
|
|
|
233
|
+
interface ReleaseWords {
|
|
234
|
+
headline?: string | null;
|
|
235
|
+
kicker?: string | null;
|
|
236
|
+
brand?: string | null;
|
|
237
|
+
release?: string | null;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
interface MusicCatalog {
|
|
241
|
+
tracks: {
|
|
242
|
+
slug: string;
|
|
243
|
+
title: string;
|
|
244
|
+
mood?: string;
|
|
245
|
+
duration: number;
|
|
246
|
+
url: string;
|
|
247
|
+
}[];
|
|
248
|
+
sfx: {
|
|
249
|
+
slug: string;
|
|
250
|
+
title: string;
|
|
251
|
+
duration: number;
|
|
252
|
+
url: string;
|
|
253
|
+
}[];
|
|
254
|
+
}
|
|
255
|
+
interface MotionProposalInput {
|
|
256
|
+
words: ReleaseWords;
|
|
257
|
+
/** LAUNCH.md roles: music (a slug or mood), entrance, endCard, captions, clicks. */
|
|
258
|
+
launch: Record<string, string>;
|
|
259
|
+
/** The end card's ink: the brand's ink over a light ground, white over a dark one. */
|
|
260
|
+
ink?: string | null;
|
|
261
|
+
/** The brand's mark for the end card (a take-dir key and its aspect), or none. */
|
|
262
|
+
mark?: {
|
|
263
|
+
key: string;
|
|
264
|
+
aspect: number;
|
|
265
|
+
} | null;
|
|
266
|
+
/** actions.json steps with their optional captions, by index. */
|
|
267
|
+
captions: {
|
|
268
|
+
step: number;
|
|
269
|
+
id?: string;
|
|
270
|
+
caption: string;
|
|
271
|
+
}[];
|
|
272
|
+
catalog: MusicCatalog | null;
|
|
273
|
+
}
|
|
274
|
+
|
|
233
275
|
/**
|
|
234
276
|
* Reuse: re-time a previous cut onto a NEW recording of the same
|
|
235
277
|
* script. The recorder's `meta.steps` say when each actions.json step ran
|
|
@@ -268,6 +310,15 @@ interface PlanSummary {
|
|
|
268
310
|
/** The style fields copied from `--style`'s reference, when given. */
|
|
269
311
|
styleFrom?: string;
|
|
270
312
|
styleFields?: readonly string[];
|
|
313
|
+
/** The layout the reference carried and what the copy left alone. */
|
|
314
|
+
layout?: LayoutParts & {
|
|
315
|
+
notes: string[];
|
|
316
|
+
};
|
|
317
|
+
/** The motion proposed onto the document, and what could not be. */
|
|
318
|
+
motion?: {
|
|
319
|
+
notes: string[];
|
|
320
|
+
skipped: string[];
|
|
321
|
+
};
|
|
271
322
|
/** `--reuse`: what the re-anchor did and what it could not. */
|
|
272
323
|
reuse?: ReuseReport & {
|
|
273
324
|
from: string;
|
|
@@ -280,6 +331,8 @@ interface PlanOptions {
|
|
|
280
331
|
* copied onto this take BEFORE the planners run, so the auto spans are
|
|
281
332
|
* proposed under the series' camera. The cut (spans, overlays, audio) is
|
|
282
333
|
* never touched; a field absent on the reference is removed here too.
|
|
334
|
+
* A reference that is a POSTER carries its layout too: the stage clips
|
|
335
|
+
* by id, the rest lean where this take has no spans, the trailing hold.
|
|
283
336
|
*/
|
|
284
337
|
style?: {
|
|
285
338
|
from: string;
|
|
@@ -303,6 +356,25 @@ interface PlanOptions {
|
|
|
303
356
|
* frame, which still wins. Null or absent: the bare frame.
|
|
304
357
|
*/
|
|
305
358
|
backdrop?: Backdrop | null;
|
|
359
|
+
/**
|
|
360
|
+
* The release's words, patched into the stage clips a layout carries
|
|
361
|
+
* (`stage-title` ← headline, `stage-kicker` ← kicker, `stage-brand` ←
|
|
362
|
+
* the wordmark) and read by the end card.
|
|
363
|
+
*/
|
|
364
|
+
words?: ReleaseWords;
|
|
365
|
+
/** The brand's mark (a take-dir key + aspect): the layout's `stage-mark` and the end card's mark. */
|
|
366
|
+
mark?: {
|
|
367
|
+
key: string;
|
|
368
|
+
aspect: number;
|
|
369
|
+
} | null;
|
|
370
|
+
/**
|
|
371
|
+
* Propose the cut's motion (entrance, end card, captions, bed, clicks)
|
|
372
|
+
* from these roles. Applied on a fresh plan; `again` re-proposes onto an
|
|
373
|
+
* existing document (replacing only the proposals' own ids and fields).
|
|
374
|
+
*/
|
|
375
|
+
motion?: MotionProposalInput & {
|
|
376
|
+
again?: boolean;
|
|
377
|
+
};
|
|
306
378
|
}
|
|
307
379
|
declare function planTake(dir: string, opts?: PlanOptions): Promise<PlanSummary>;
|
|
308
380
|
|
|
@@ -346,6 +418,8 @@ declare function pullMedia(ctx: {
|
|
|
346
418
|
interface DocOverrides {
|
|
347
419
|
/** raw `path=value` expressions from repeated --set. */
|
|
348
420
|
set?: string[];
|
|
421
|
+
/** Top-level or nested paths to REMOVE after the sets (a destination's mechanics drop a field a null could not express). */
|
|
422
|
+
unset?: string[];
|
|
349
423
|
/** --frame alias → frame.browserBar.kind. */
|
|
350
424
|
frame?: string;
|
|
351
425
|
/** --background alias → frame.backgroundMedia (kind inferred from the URL,
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vosjs/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.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 and stills, deliver a release's media per destination spec, and sync with vos.so. One binary, every verb, MIT.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"mediabunny": "^1.55.7",
|
|
50
50
|
"playwright": "^1.49.0",
|
|
51
|
-
"@vosjs/core": "^0.23.
|
|
51
|
+
"@vosjs/core": "^0.23.6",
|
|
52
52
|
"@vosjs/editor": "^1.3.1",
|
|
53
|
-
"@vosjs/
|
|
54
|
-
"@vosjs/render-core": "^0.2.3",
|
|
53
|
+
"@vosjs/render-core": "^0.2.4",
|
|
55
54
|
"@vosjs/shared": "^0.4.1",
|
|
56
|
-
"@vosjs/
|
|
55
|
+
"@vosjs/elements": "^0.8.1",
|
|
56
|
+
"@vosjs/studio-core": "^0.11.0",
|
|
57
57
|
"@vosjs/timeline": "^0.4.1",
|
|
58
58
|
"@vosjs/tween": "^0.8.2"
|
|
59
59
|
},
|