@vibeframe/cli 0.55.1 → 0.55.2
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 +19 -21
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -21130,9 +21130,7 @@ async function getApiKey(envVar, providerName, optionValue) {
|
|
|
21130
21130
|
}
|
|
21131
21131
|
function hasApiKey(envVar) {
|
|
21132
21132
|
loadEnv();
|
|
21133
|
-
|
|
21134
|
-
const key = getApiKeyFromConfig(envVar);
|
|
21135
|
-
return !!key;
|
|
21133
|
+
return !!process.env[envVar];
|
|
21136
21134
|
}
|
|
21137
21135
|
async function requireApiKey(envVar, providerName, cliOverride) {
|
|
21138
21136
|
const key = await getApiKey(envVar, providerName, cliOverride);
|
|
@@ -25353,7 +25351,7 @@ async function executeSilenceCut(options) {
|
|
|
25353
25351
|
return { success: false, error: `Video not found: ${videoPath}` };
|
|
25354
25352
|
}
|
|
25355
25353
|
if (!commandExists("ffmpeg")) {
|
|
25356
|
-
return { success: false, error: "FFmpeg not found.
|
|
25354
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
25357
25355
|
}
|
|
25358
25356
|
const method = useGemini ? "gemini" : "ffmpeg";
|
|
25359
25357
|
try {
|
|
@@ -25503,7 +25501,7 @@ async function executeJumpCut(options) {
|
|
|
25503
25501
|
return { success: false, error: `Video not found: ${videoPath}` };
|
|
25504
25502
|
}
|
|
25505
25503
|
if (!commandExists("ffmpeg")) {
|
|
25506
|
-
return { success: false, error: "FFmpeg not found.
|
|
25504
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
25507
25505
|
}
|
|
25508
25506
|
const openaiKey = apiKey || process.env.OPENAI_API_KEY;
|
|
25509
25507
|
if (!openaiKey) {
|
|
@@ -25648,7 +25646,7 @@ async function executeCaption(options) {
|
|
|
25648
25646
|
return { success: false, error: `Video not found: ${videoPath}` };
|
|
25649
25647
|
}
|
|
25650
25648
|
if (!commandExists("ffmpeg")) {
|
|
25651
|
-
return { success: false, error: "FFmpeg not found.
|
|
25649
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
25652
25650
|
}
|
|
25653
25651
|
const openaiKey = apiKey || process.env.OPENAI_API_KEY;
|
|
25654
25652
|
if (!openaiKey) {
|
|
@@ -25786,7 +25784,7 @@ async function executeNoiseReduce(options) {
|
|
|
25786
25784
|
return { success: false, error: `File not found: ${inputPath}` };
|
|
25787
25785
|
}
|
|
25788
25786
|
if (!commandExists("ffmpeg")) {
|
|
25789
|
-
return { success: false, error: "FFmpeg not found.
|
|
25787
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
25790
25788
|
}
|
|
25791
25789
|
try {
|
|
25792
25790
|
const inputDuration = await getVideoDuration(inputPath);
|
|
@@ -25840,7 +25838,7 @@ async function executeFade(options) {
|
|
|
25840
25838
|
return { success: false, error: `Video not found: ${videoPath}` };
|
|
25841
25839
|
}
|
|
25842
25840
|
if (!commandExists("ffmpeg")) {
|
|
25843
|
-
return { success: false, error: "FFmpeg not found.
|
|
25841
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
25844
25842
|
}
|
|
25845
25843
|
try {
|
|
25846
25844
|
const totalDuration = await getVideoDuration(videoPath);
|
|
@@ -26066,7 +26064,7 @@ async function applyTextOverlays(options) {
|
|
|
26066
26064
|
return { success: false, error: `Video not found: ${absVideoPath}` };
|
|
26067
26065
|
}
|
|
26068
26066
|
if (!commandExists("ffmpeg")) {
|
|
26069
|
-
return { success: false, error: "FFmpeg not found.
|
|
26067
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
26070
26068
|
}
|
|
26071
26069
|
let hasDrawtext = true;
|
|
26072
26070
|
try {
|
|
@@ -28328,7 +28326,7 @@ function _registerImageCommands(aiCommand) {
|
|
|
28328
28326
|
exitWithError(notFoundError(absVideoPath));
|
|
28329
28327
|
}
|
|
28330
28328
|
if (!commandExists("ffmpeg")) {
|
|
28331
|
-
exitWithError(generalError("FFmpeg not found.
|
|
28329
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
28332
28330
|
}
|
|
28333
28331
|
const apiKey2 = await getApiKey("GOOGLE_API_KEY", "Google", options.apiKey);
|
|
28334
28332
|
if (!apiKey2) {
|
|
@@ -28787,7 +28785,7 @@ async function executeThumbnailBestFrame(options) {
|
|
|
28787
28785
|
return { success: false, error: `Video not found: ${videoPath}` };
|
|
28788
28786
|
}
|
|
28789
28787
|
if (!commandExists("ffmpeg")) {
|
|
28790
|
-
return { success: false, error: "FFmpeg not found.
|
|
28788
|
+
return { success: false, error: "FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details." };
|
|
28791
28789
|
}
|
|
28792
28790
|
const googleKey = apiKey || process.env.GOOGLE_API_KEY;
|
|
28793
28791
|
if (!googleKey) {
|
|
@@ -30917,7 +30915,7 @@ No API key needed (FFmpeg only). Use --use-gemini for smart detection (requires
|
|
|
30917
30915
|
exitWithError(notFoundError(absVideoPath));
|
|
30918
30916
|
}
|
|
30919
30917
|
if (!commandExists("ffmpeg")) {
|
|
30920
|
-
exitWithError(generalError("FFmpeg not found.
|
|
30918
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
30921
30919
|
}
|
|
30922
30920
|
const ext = extname7(videoPath);
|
|
30923
30921
|
const name = basename11(videoPath, ext);
|
|
@@ -31011,7 +31009,7 @@ Requires: OPENAI_API_KEY (Whisper transcription) + FFmpeg`).action(async (videoP
|
|
|
31011
31009
|
exitWithError(notFoundError(absVideoPath));
|
|
31012
31010
|
}
|
|
31013
31011
|
if (!commandExists("ffmpeg")) {
|
|
31014
|
-
exitWithError(generalError("FFmpeg not found.
|
|
31012
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
31015
31013
|
}
|
|
31016
31014
|
if (options.dryRun) {
|
|
31017
31015
|
outputResult({
|
|
@@ -31085,7 +31083,7 @@ Requires: OPENAI_API_KEY (Whisper transcription) + FFmpeg`).action(async (videoP
|
|
|
31085
31083
|
exitWithError(notFoundError(absInputPath));
|
|
31086
31084
|
}
|
|
31087
31085
|
if (!commandExists("ffmpeg")) {
|
|
31088
|
-
exitWithError(generalError("FFmpeg not found.
|
|
31086
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
31089
31087
|
}
|
|
31090
31088
|
if (options.dryRun) {
|
|
31091
31089
|
outputResult({
|
|
@@ -31144,7 +31142,7 @@ Requires: OPENAI_API_KEY (Whisper transcription) + FFmpeg`).action(async (videoP
|
|
|
31144
31142
|
exitWithError(notFoundError(absVideoPath));
|
|
31145
31143
|
}
|
|
31146
31144
|
if (!commandExists("ffmpeg")) {
|
|
31147
|
-
exitWithError(generalError("FFmpeg not found.
|
|
31145
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
31148
31146
|
}
|
|
31149
31147
|
if (options.dryRun) {
|
|
31150
31148
|
outputResult({
|
|
@@ -31281,7 +31279,7 @@ Requires: OPENAI_API_KEY (Whisper transcription) + FFmpeg`).action(async (videoP
|
|
|
31281
31279
|
exitWithError(notFoundError(absVideoPath));
|
|
31282
31280
|
}
|
|
31283
31281
|
if (!commandExists("ffmpeg")) {
|
|
31284
|
-
exitWithError(generalError("FFmpeg not found.
|
|
31282
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
31285
31283
|
}
|
|
31286
31284
|
if (options.dryRun) {
|
|
31287
31285
|
const fillers2 = options.fillers ? options.fillers.split(",").map((f) => f.trim()) : void 0;
|
|
@@ -33514,7 +33512,7 @@ Analyze both what is SHOWN (visual cues, actions, expressions) and what is SAID
|
|
|
33514
33512
|
try {
|
|
33515
33513
|
if (!commandExists("ffmpeg")) {
|
|
33516
33514
|
audioSpinner.fail("FFmpeg not found");
|
|
33517
|
-
exitWithError(generalError("FFmpeg not found.
|
|
33515
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
33518
33516
|
}
|
|
33519
33517
|
const { stdout: probeOut } = await execSafe("ffprobe", [
|
|
33520
33518
|
"-v",
|
|
@@ -33703,7 +33701,7 @@ Analyze both what is SHOWN (visual cues, actions, expressions) and what is SAID
|
|
|
33703
33701
|
return;
|
|
33704
33702
|
}
|
|
33705
33703
|
if (!commandExists("ffmpeg")) {
|
|
33706
|
-
exitWithError(generalError("FFmpeg not found.
|
|
33704
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
33707
33705
|
}
|
|
33708
33706
|
const targetDuration = parseInt(options.duration);
|
|
33709
33707
|
const shortCount = parseInt(options.count);
|
|
@@ -46843,7 +46841,7 @@ ${segmentTexts}`,
|
|
|
46843
46841
|
return;
|
|
46844
46842
|
}
|
|
46845
46843
|
if (!commandExists("ffmpeg")) {
|
|
46846
|
-
exitWithError(generalError("FFmpeg not found.
|
|
46844
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
46847
46845
|
}
|
|
46848
46846
|
const spinner2 = ora("Processing audio ducking...").start();
|
|
46849
46847
|
const absMusic = resolve41(process.cwd(), musicPath);
|
|
@@ -53225,7 +53223,7 @@ init_source();
|
|
|
53225
53223
|
// package.json
|
|
53226
53224
|
var package_default = {
|
|
53227
53225
|
name: "@vibeframe/cli",
|
|
53228
|
-
version: "0.55.
|
|
53226
|
+
version: "0.55.2",
|
|
53229
53227
|
description: "VibeFrame CLI - natural language video editing from the terminal",
|
|
53230
53228
|
private: false,
|
|
53231
53229
|
license: "MIT",
|
|
@@ -55805,7 +55803,7 @@ function registerBrollCommand(ai) {
|
|
|
55805
55803
|
exitWithError(authError("ANTHROPIC_API_KEY", "Anthropic"));
|
|
55806
55804
|
}
|
|
55807
55805
|
if (!commandExists("ffmpeg")) {
|
|
55808
|
-
exitWithError(generalError("FFmpeg not found.
|
|
55806
|
+
exitWithError(generalError("FFmpeg not found. Install with: brew install ffmpeg (macOS) or apt install ffmpeg (Linux). Run `vibe doctor` for details."));
|
|
55809
55807
|
}
|
|
55810
55808
|
console.log();
|
|
55811
55809
|
console.log(source_default.bold.cyan("\u{1F3AC} B-Roll Matcher Pipeline"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/cli",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.2",
|
|
4
4
|
"description": "VibeFrame CLI - natural language video editing from the terminal",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -149,8 +149,8 @@
|
|
|
149
149
|
"tsx": "^4.21.0",
|
|
150
150
|
"typescript": "^5.3.3",
|
|
151
151
|
"vitest": "^1.2.2",
|
|
152
|
-
"@vibeframe/ai-providers": "0.55.
|
|
153
|
-
"@vibeframe/core": "0.55.
|
|
152
|
+
"@vibeframe/ai-providers": "0.55.2",
|
|
153
|
+
"@vibeframe/core": "0.55.2"
|
|
154
154
|
},
|
|
155
155
|
"engines": {
|
|
156
156
|
"node": ">=20"
|