@vibeframe/mcp-server 0.94.1 → 0.95.1
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/index.js +51 -12
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -7431,10 +7431,14 @@ _2\u20133 colours max. Declare explicit hex values; never name colours abstractl
|
|
|
7431
7431
|
- _anti-pattern 3_`;
|
|
7432
7432
|
return `# ${name} \u2014 Design
|
|
7433
7433
|
|
|
7434
|
-
> **Hard-gate.** This file
|
|
7435
|
-
>
|
|
7436
|
-
>
|
|
7437
|
-
>
|
|
7434
|
+
> **Hard-gate (BUILD flow only).** This file is the visual contract for
|
|
7435
|
+
> the scene-project flow (\`vibe build\`, \`vibe scene ...\`, composition
|
|
7436
|
+
> HTML, backdrop image-gen). Author it before authoring scene HTML; the
|
|
7437
|
+
> Hyperframes \`hyperframes\` skill enforces it at composition time.
|
|
7438
|
+
>
|
|
7439
|
+
> **Single-asset requests (\`vibe generate image|video|speech|...\`) do
|
|
7440
|
+
> NOT consult this file.** Run the generate command directly with the
|
|
7441
|
+
> user's prompt. See AGENTS.md \u2192 "Route by the user's actual request".
|
|
7438
7442
|
|
|
7439
7443
|
${intro}
|
|
7440
7444
|
|
|
@@ -7527,12 +7531,35 @@ This project is **bilingual**: it works with both VibeFrame (\`vibe\`) and
|
|
|
7527
7531
|
HeyGen Hyperframes (\`hyperframes\`). You can run either CLI inside this
|
|
7528
7532
|
directory.
|
|
7529
7533
|
|
|
7530
|
-
##
|
|
7534
|
+
## Route the request first
|
|
7531
7535
|
|
|
7532
|
-
|
|
7533
|
-
|
|
7534
|
-
|
|
7535
|
-
|
|
7536
|
+
Before opening DESIGN.md, loading the hyperframes skill, or planning
|
|
7537
|
+
scenes, decide which flow the user actually wants:
|
|
7538
|
+
|
|
7539
|
+
- **ASSET (default for ambiguous prompts).** Single image, single video
|
|
7540
|
+
clip, single TTS line. Even a verb-less paste of a visual brief lands
|
|
7541
|
+
here. Just run \`vibe generate image|video|speech "<paste>" -o assets/<name>\`.
|
|
7542
|
+
Skip DESIGN.md, skip the hyperframes skill.
|
|
7543
|
+
- **BUILD.** Multi-scene / storyboard / composed video. Triggered when
|
|
7544
|
+
the user explicitly asks for "a video built from scenes", "a
|
|
7545
|
+
storyboard", "a multi-scene composition", or names \`vibe build\` /
|
|
7546
|
+
\`vibe scene ...\`. Only here does the hard-gate below apply.
|
|
7547
|
+
- **REMIX.** Transform a media file already on disk: \`vibe remix\`,
|
|
7548
|
+
\`vibe edit\`, \`vibe audio\`.
|
|
7549
|
+
|
|
7550
|
+
If you can't tell, ask: *"single asset or multi-scene project?"* before
|
|
7551
|
+
authoring DESIGN.md or invoking a skill.
|
|
7552
|
+
|
|
7553
|
+
## Visual identity hard-gate (BUILD flow only)
|
|
7554
|
+
|
|
7555
|
+
**Within the BUILD flow,** author \`DESIGN.md\` before any scene HTML.
|
|
7556
|
+
It defines palette, typography, motion, and transition rules. Both the
|
|
7557
|
+
agent-driven path and the fallback emit reference it; scenes that
|
|
7558
|
+
contradict DESIGN.md are rejected by the Hyperframes \`hyperframes\`
|
|
7559
|
+
skill.
|
|
7560
|
+
|
|
7561
|
+
Single-asset requests (\`vibe generate image|video|speech|...\`) do NOT
|
|
7562
|
+
consult this file \u2014 run the generate command directly.
|
|
7536
7563
|
|
|
7537
7564
|
Browse named styles: \`vibe scene list-styles\`. Re-seed from one with
|
|
7538
7565
|
\`vibe scene init . --visual-style "Swiss Pulse"\` (idempotent).
|
|
@@ -25480,8 +25507,18 @@ async function fileExists(path14) {
|
|
|
25480
25507
|
return false;
|
|
25481
25508
|
}
|
|
25482
25509
|
}
|
|
25510
|
+
async function findProjectConfigPath(cwd = process.cwd()) {
|
|
25511
|
+
let dir = resolve2(cwd);
|
|
25512
|
+
for (; ; ) {
|
|
25513
|
+
const candidate = getProjectConfigPath(dir);
|
|
25514
|
+
if (await fileExists(candidate)) return candidate;
|
|
25515
|
+
const parent = resolve2(dir, "..");
|
|
25516
|
+
if (parent === dir) return null;
|
|
25517
|
+
dir = parent;
|
|
25518
|
+
}
|
|
25519
|
+
}
|
|
25483
25520
|
async function getActiveScope(cwd) {
|
|
25484
|
-
return await
|
|
25521
|
+
return await findProjectConfigPath(cwd) ? "project" : "user";
|
|
25485
25522
|
}
|
|
25486
25523
|
function applyDefaults(parsed) {
|
|
25487
25524
|
const defaults = createDefaultConfig();
|
|
@@ -25513,7 +25550,8 @@ async function loadConfig(options = {}) {
|
|
|
25513
25550
|
const { scope, cwd, merge: merge3 } = options;
|
|
25514
25551
|
if (merge3) {
|
|
25515
25552
|
const user = await readConfigFile(USER_CONFIG_PATH);
|
|
25516
|
-
const
|
|
25553
|
+
const projectPath2 = await findProjectConfigPath(cwd);
|
|
25554
|
+
const project2 = projectPath2 ? await readConfigFile(projectPath2) : null;
|
|
25517
25555
|
if (!user && !project2) return null;
|
|
25518
25556
|
if (!user) return project2;
|
|
25519
25557
|
if (!project2) return user;
|
|
@@ -25534,7 +25572,8 @@ async function loadConfig(options = {}) {
|
|
|
25534
25572
|
if (scope) {
|
|
25535
25573
|
return readConfigFile(getConfigPath(scope, cwd));
|
|
25536
25574
|
}
|
|
25537
|
-
const
|
|
25575
|
+
const projectPath = await findProjectConfigPath(cwd);
|
|
25576
|
+
const project = projectPath ? await readConfigFile(projectPath) : null;
|
|
25538
25577
|
if (project) return project;
|
|
25539
25578
|
return readConfigFile(USER_CONFIG_PATH);
|
|
25540
25579
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.95.1",
|
|
4
4
|
"description": "VibeFrame MCP Server - AI-native video editing via Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"tsx": "^4.21.0",
|
|
58
58
|
"typescript": "^5.3.3",
|
|
59
59
|
"vitest": "^1.2.2",
|
|
60
|
-
"@vibeframe/cli": "0.
|
|
61
|
-
"@vibeframe/core": "0.
|
|
60
|
+
"@vibeframe/cli": "0.95.1",
|
|
61
|
+
"@vibeframe/core": "0.95.1"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=20"
|