@vibeframe/cli 0.113.11 → 0.113.24

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 (34) hide show
  1. package/CONTEXT.md +12 -11
  2. package/dist/commands/_shared/build-plan.d.ts +1 -1
  3. package/dist/commands/_shared/compose-aivideo.d.ts +82 -0
  4. package/dist/commands/_shared/compose-aivideo.test.d.ts +1 -0
  5. package/dist/commands/_shared/compose-prompts.d.ts +8 -0
  6. package/dist/commands/_shared/compose-scenes-skills.d.ts +16 -2
  7. package/dist/commands/_shared/design-parse.d.ts +26 -0
  8. package/dist/commands/_shared/design-parse.test.d.ts +1 -0
  9. package/dist/commands/_shared/hf-skill-bundle/bundle.d.ts +8 -2
  10. package/dist/commands/_shared/init-templates.d.ts +2 -2
  11. package/dist/commands/_shared/install-skill.d.ts +47 -6
  12. package/dist/commands/_shared/project-config.d.ts +5 -1
  13. package/dist/commands/_shared/project-config.test.d.ts +1 -0
  14. package/dist/commands/_shared/root-sync.d.ts +25 -0
  15. package/dist/commands/_shared/scene-assemble.d.ts +47 -0
  16. package/dist/commands/_shared/scene-assemble.test.d.ts +1 -0
  17. package/dist/commands/_shared/scene-build.d.ts +6 -5
  18. package/dist/commands/_shared/scene-project.d.ts +47 -13
  19. package/dist/commands/_shared/scene-render.d.ts +6 -0
  20. package/dist/commands/_shared/storyboard-edit.d.ts +1 -1
  21. package/dist/commands/_shared/storyboard-parse.d.ts +6 -0
  22. package/dist/commands/assemble.d.ts +2 -0
  23. package/dist/commands/design.d.ts +2 -0
  24. package/dist/commands/export.d.ts +0 -2
  25. package/dist/commands/init.d.ts +1 -1
  26. package/dist/commands/preview.d.ts +2 -0
  27. package/dist/commands/preview.test.d.ts +1 -0
  28. package/dist/index.js +1917 -1053
  29. package/dist/tools/define-tool.js +3 -0
  30. package/dist/tools/manifest/design.d.ts +10 -0
  31. package/dist/tools/manifest/design.test.d.ts +1 -0
  32. package/dist/tools/manifest/index.d.ts +2 -1
  33. package/dist/tools/manifest/index.js +1955 -1428
  34. package/package.json +3 -3
@@ -2,7 +2,7 @@
2
2
  * @module _shared/scene-project
3
3
  *
4
4
  * Helpers for scaffolding a "scene project" — a directory that works as both
5
- * a VibeFrame project (via `vibe.project.yaml`) AND a HeyGen Hyperframes
5
+ * a VibeFrame project (via `vibe.config.json`) AND a HeyGen Hyperframes
6
6
  * project (via `hyperframes.json` + `meta.json` + `index.html`). Either
7
7
  * toolchain can be run inside the directory.
8
8
  *
@@ -14,6 +14,37 @@ import type { VisualStyle } from "./visual-styles.js";
14
14
  /** Supported aspect ratios for scene projects (maps to CSS canvas dims). */
15
15
  export type SceneAspect = "16:9" | "9:16" | "1:1" | "4:5";
16
16
  export type SceneScaffoldProfile = "minimal" | "agent" | "full";
17
+ /**
18
+ * Project KIND — orthogonal to {@link SceneScaffoldProfile} (which decides which
19
+ * files exist). Kind decides which pipeline STAGES run and which composer is the
20
+ * default:
21
+ * - `cinema` / `story` — directed, character-driven; keyframe→i2v, LLM composer.
22
+ * - `aivideo` — character + i2v, the deterministic `template` composer.
23
+ * - `product` — backdrop/asset-centric (no i2v keyframes).
24
+ * - `motion` — pure HTML/CSS/GSAP graphics (no AI image/video assets).
25
+ */
26
+ export type SceneKind = "cinema" | "product" | "aivideo" | "story" | "motion";
27
+ export declare const VALID_SCENE_KINDS: readonly SceneKind[];
28
+ /** Default kind preserves today's behavior (LLM composer, cue-driven assets). */
29
+ export declare const DEFAULT_SCENE_KIND: SceneKind;
30
+ export declare function isSceneKind(value: string): value is SceneKind;
31
+ /**
32
+ * Per-kind default asset skips, OR'd with the explicit `--skip-*` flags. Returns
33
+ * only the skips a kind forces; `cinema`/`story`/`aivideo` add none (assets run
34
+ * from their cues).
35
+ */
36
+ export declare function kindAssetPolicy(kind: SceneKind): {
37
+ skipKeyframe?: boolean;
38
+ skipVideo?: boolean;
39
+ skipBackdrop?: boolean;
40
+ };
41
+ /** The composer a kind defaults to when `--composer` is not given. */
42
+ export declare function composerDefaultForKind(kind: SceneKind): "template" | undefined;
43
+ /**
44
+ * Whether a kind has a recurring cast worth a `CHARACTERS.md` bible. Character-
45
+ * driven kinds (cinema/story/aivideo) do; product/motion do not.
46
+ */
47
+ export declare function kindHasCast(kind: SceneKind): boolean;
17
48
  export declare function aspectToDims(aspect: SceneAspect): {
18
49
  width: number;
19
50
  height: number;
@@ -80,22 +111,22 @@ export declare function buildEmptyRootHtml(opts: {
80
111
  aspect: SceneAspect;
81
112
  duration: number;
82
113
  }): string;
83
- /**
84
- * Project-local `DESIGN.md` template — the visual-identity hard-gate.
85
- *
86
- * Hyperframes' `hyperframes` skill teaches: "no scene HTML before DESIGN.md is
87
- * authored." This template seeds that contract so the project never opens
88
- * with a blank slate. When `style` is provided, the rules are pre-filled
89
- * from the vendored named-style data (`visual-styles.ts`); otherwise the
90
- * user (or agent) fills the placeholders.
91
- *
92
- * The agent-driven craft path expects this file as input — see
93
- * `.claude/skills/vibe-scene/SKILL.md`.
94
- */
95
114
  export declare function buildDesignMd(opts: {
96
115
  name: string;
97
116
  style?: VisualStyle;
98
117
  }): string;
118
+ /**
119
+ * Always-on `SCRIPT.md` — the narrative spine authored before the beat-level
120
+ * STORYBOARD.md. Kind tailors the guidance (a `motion`/`product` script is a
121
+ * shot/asset list; a `story`/`cinema` script is a scene-by-scene narrative).
122
+ */
123
+ export declare function buildScriptMd(name: string, kind?: SceneKind): string;
124
+ /**
125
+ * Kind-gated `CHARACTERS.md` — the cast bible. Promotes today's STORYBOARD
126
+ * \`characters:\` frontmatter into first-class identity blocks (reference sheet
127
+ * path + an identity-lock description used to keep keyframes/i2v on-model).
128
+ */
129
+ export declare function buildCharactersMd(name: string): string;
99
130
  /** Starter `STORYBOARD.md` for the one-shot `vibe build` flow. */
100
131
  export declare function buildStoryboardMd(name: string, duration?: number): string;
101
132
  /** Project-local AGENTS.md that orients every agent host to both toolchains. */
@@ -118,6 +149,8 @@ export interface ScaffoldOptions {
118
149
  visualStyle?: VisualStyle;
119
150
  /** Scaffold shape. Defaults to "full" for backward-compatible programmatic use. */
120
151
  profile?: SceneScaffoldProfile;
152
+ /** Project kind — drives which pipeline stages run + the default composer. */
153
+ kind?: SceneKind;
121
154
  }
122
155
  export interface ScaffoldResult {
123
156
  /** Files written (absolute paths). */
@@ -138,6 +171,7 @@ export declare function isSceneScaffoldProfile(value: string): value is SceneSca
138
171
  export declare function describeSceneScaffold(opts: {
139
172
  dir: string;
140
173
  profile?: SceneScaffoldProfile;
174
+ kind?: SceneKind;
141
175
  }): SceneScaffoldGroups;
142
176
  /**
143
177
  * Scaffold (or update) a scene project at `dir`. Idempotent: running twice is
@@ -38,6 +38,12 @@ export interface SceneRenderOptions {
38
38
  openAfterRender?: boolean;
39
39
  /** Reveal the rendered media in Finder/file manager after a successful render. */
40
40
  revealInFinder?: boolean;
41
+ /**
42
+ * Skip the audio-mux pass and emit silent video. The audio is added later by
43
+ * the `assemble` stage (`executeSceneAssemble` / `vibe assemble`). Default
44
+ * `vibe render` keeps the render+assemble single-shot behavior.
45
+ */
46
+ silent?: boolean;
41
47
  signal?: AbortSignal;
42
48
  onProgress?: (pct: number, stage: string) => void;
43
49
  }
@@ -1,5 +1,5 @@
1
1
  import { type Beat } from "./storyboard-parse.js";
2
- export declare const STORYBOARD_CUE_KEYS: readonly ["duration", "narration", "backdrop", "video", "keyframe", "motion", "voice", "music", "asset", "characters"];
2
+ export declare const STORYBOARD_CUE_KEYS: readonly ["duration", "narration", "backdrop", "video", "keyframe", "motion", "voice", "music", "asset", "characters", "eyebrow", "title", "caption", "kicker", "sub"];
3
3
  export type StoryboardCueKey = (typeof STORYBOARD_CUE_KEYS)[number];
4
4
  export interface StoryboardValidationIssue {
5
5
  severity: "error" | "warning";
@@ -120,6 +120,12 @@ export interface BeatCues {
120
120
  * if present, supplies the motion prompt; otherwise this text is used.
121
121
  */
122
122
  keyframe?: string;
123
+ /** Lower-third overlay eyebrow/kicker (read by the deterministic composer). */
124
+ eyebrow?: string;
125
+ /** Lower-third headline; falls back to the beat heading when absent. */
126
+ title?: string;
127
+ /** Lower-third sub-line / caption. */
128
+ caption?: string;
123
129
  [key: string]: unknown;
124
130
  }
125
131
  /** Normalize a beat's `characters` cue to a clean string[] (single or list). */
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const assembleCommand: Command;
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const designCommand: Command;
@@ -1,4 +1,3 @@
1
- import { Command } from "commander";
2
1
  /**
3
2
  * Get the duration of a media file using ffprobe
4
3
  * For images, returns a default duration since they have no inherent time
@@ -50,7 +49,6 @@ export declare function validateOverrides(overrides: CustomOverrides): string |
50
49
  * Reusable export function for programmatic usage
51
50
  */
52
51
  export declare function runExport(projectPath: string, outputPath: string, options?: ExportOptions): Promise<ExportResult>;
53
- export declare const exportCommand: Command;
54
52
  export interface PresetSettings {
55
53
  resolution: string;
56
54
  videoBitrate: string;
@@ -7,7 +7,7 @@
7
7
  * machine-wide config (`~/.vibeframe/config.yaml`), init writes
8
8
  * project-local files: `AGENTS.md` (cross-tool), `CLAUDE.md` (Claude
9
9
  * Code, imports `@AGENTS.md`), `.env.example`, `.gitignore` additions,
10
- * and an optional `vibe.project.yaml`.
10
+ * and `vibe.config.json` (the canonical project contract).
11
11
  *
12
12
  * Scaffolding decision tree:
13
13
  * - Always: `.gitignore` additions, `.env.example`
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const previewCommand: Command;
@@ -0,0 +1 @@
1
+ export {};