@vibeframe/cli 0.113.11 → 0.113.26
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/CONTEXT.md +12 -11
- package/dist/commands/_shared/build-plan.d.ts +1 -1
- package/dist/commands/_shared/compose-aivideo.d.ts +82 -0
- package/dist/commands/_shared/compose-aivideo.test.d.ts +1 -0
- package/dist/commands/_shared/compose-prompts.d.ts +8 -0
- package/dist/commands/_shared/compose-scenes-skills.d.ts +16 -2
- package/dist/commands/_shared/design-parse.d.ts +26 -0
- package/dist/commands/_shared/design-parse.test.d.ts +1 -0
- package/dist/commands/_shared/frontmatter.d.ts +30 -0
- package/dist/commands/_shared/hf-skill-bundle/bundle.d.ts +8 -2
- package/dist/commands/_shared/init-templates.d.ts +2 -2
- package/dist/commands/_shared/install-skill.d.ts +47 -6
- package/dist/commands/_shared/project-config.d.ts +5 -1
- package/dist/commands/_shared/project-config.test.d.ts +1 -0
- package/dist/commands/_shared/root-sync.d.ts +25 -0
- package/dist/commands/_shared/scene-assemble.d.ts +47 -0
- package/dist/commands/_shared/scene-assemble.test.d.ts +1 -0
- package/dist/commands/_shared/scene-build.d.ts +6 -5
- package/dist/commands/_shared/scene-project.d.ts +47 -13
- package/dist/commands/_shared/scene-render.d.ts +6 -0
- package/dist/commands/_shared/storyboard-edit.d.ts +1 -1
- package/dist/commands/_shared/storyboard-parse.d.ts +6 -0
- package/dist/commands/ai-video.d.ts +1 -1
- package/dist/commands/assemble.d.ts +2 -0
- package/dist/commands/design.d.ts +2 -0
- package/dist/commands/export.d.ts +0 -2
- package/dist/commands/generate/video.d.ts +2 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/preview.d.ts +2 -0
- package/dist/commands/preview.test.d.ts +1 -0
- package/dist/index.js +2089 -1065
- package/dist/tools/define-tool.js +3 -0
- package/dist/tools/manifest/design.d.ts +10 -0
- package/dist/tools/manifest/design.test.d.ts +1 -0
- package/dist/tools/manifest/generate.d.ts +3 -3
- package/dist/tools/manifest/index.d.ts +2 -1
- package/dist/tools/manifest/index.js +2144 -1458
- 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.
|
|
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). */
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export interface VideoGenerateOptions {
|
|
16
16
|
prompt: string;
|
|
17
|
-
provider?: "grok" | "runway" | "kling" | "veo" | "seedance" | "fal";
|
|
17
|
+
provider?: "grok" | "runway" | "kling" | "veo" | "seedance" | "fal" | "omni";
|
|
18
18
|
image?: string;
|
|
19
19
|
refImages?: string[];
|
|
20
20
|
refVideos?: string[];
|
|
@@ -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;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module generate/video
|
|
3
3
|
* @description `vibe generate video` (alias `vid`) — multi-provider video
|
|
4
|
-
* generation. fal.ai (Seedance 2.0), Grok, Veo (Gemini), Kling, Runway
|
|
4
|
+
* generation. fal.ai (Seedance 2.0), Grok, Veo (Gemini), Kling, Runway,
|
|
5
|
+
* plus experimental Gemini Omni (`-p omni`).
|
|
5
6
|
* Split out of `generate.ts` in v0.69 (Plan G Phase 2).
|
|
6
7
|
*/
|
|
7
8
|
import type { Command } from "commander";
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -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
|
|
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 @@
|
|
|
1
|
+
export {};
|