@vibeframe/cli 0.91.4 → 0.91.7
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 +23 -4
- package/package.json +5 -4
package/dist/index.js
CHANGED
|
@@ -31969,7 +31969,10 @@ async function promptMultiSelect(_question, options, defaultSelected = [], opts
|
|
|
31969
31969
|
if (finished) return;
|
|
31970
31970
|
if (char === "\r" || char === "\n") {
|
|
31971
31971
|
if (pickFocused && !userToggled) {
|
|
31972
|
-
|
|
31972
|
+
const hasDefaultSelection = selected.some(Boolean);
|
|
31973
|
+
if (!opts.preserveDefaultSelectionOnEnter || !hasDefaultSelection) {
|
|
31974
|
+
for (let i = 0; i < selected.length; i++) selected[i] = false;
|
|
31975
|
+
}
|
|
31973
31976
|
selected[cursor] = true;
|
|
31974
31977
|
render();
|
|
31975
31978
|
}
|
|
@@ -62959,7 +62962,7 @@ init_source();
|
|
|
62959
62962
|
// package.json
|
|
62960
62963
|
var package_default = {
|
|
62961
62964
|
name: "@vibeframe/cli",
|
|
62962
|
-
version: "0.91.
|
|
62965
|
+
version: "0.91.7",
|
|
62963
62966
|
description: "VibeFrame CLI - natural language video editing from the terminal",
|
|
62964
62967
|
private: false,
|
|
62965
62968
|
license: "MIT",
|
|
@@ -63123,6 +63126,7 @@ var package_default = {
|
|
|
63123
63126
|
start: "tsx src/index.ts",
|
|
63124
63127
|
lint: "eslint --ext .ts,.tsx src/",
|
|
63125
63128
|
test: "vitest",
|
|
63129
|
+
pretest: "node build.js",
|
|
63126
63130
|
prepublishOnly: "node build.js"
|
|
63127
63131
|
},
|
|
63128
63132
|
dependencies: {
|
|
@@ -70149,6 +70153,19 @@ function applyProviderDefault(config2, choice) {
|
|
|
70149
70153
|
config2.defaults.videoProvider = choice.defaultFor.value;
|
|
70150
70154
|
}
|
|
70151
70155
|
}
|
|
70156
|
+
function isProviderChoiceConfigured(config2, choice) {
|
|
70157
|
+
if (choice.key) {
|
|
70158
|
+
const value = config2.providers[choice.key.configKey];
|
|
70159
|
+
if (value) return true;
|
|
70160
|
+
}
|
|
70161
|
+
if (choice.defaultFor?.kind === "image") {
|
|
70162
|
+
return config2.defaults.imageProvider === choice.defaultFor.value;
|
|
70163
|
+
}
|
|
70164
|
+
if (choice.defaultFor?.kind === "video") {
|
|
70165
|
+
return config2.defaults.videoProvider === choice.defaultFor.value;
|
|
70166
|
+
}
|
|
70167
|
+
return false;
|
|
70168
|
+
}
|
|
70152
70169
|
function mergeSelectedFeatures(current, next) {
|
|
70153
70170
|
const merged = [...current];
|
|
70154
70171
|
for (const feature of next) {
|
|
@@ -70381,7 +70398,9 @@ async function runAIFeaturesSetup(config2, _scope) {
|
|
|
70381
70398
|
console.log(source_default.dim(` Alternatives: ${feature.alsoAvailable}`));
|
|
70382
70399
|
}
|
|
70383
70400
|
console.log();
|
|
70384
|
-
const defaultSelected = feature.providerChoices.map(
|
|
70401
|
+
const defaultSelected = feature.providerChoices.map(
|
|
70402
|
+
(choice) => isProviderChoiceConfigured(config2, choice)
|
|
70403
|
+
);
|
|
70385
70404
|
const providerLabels = feature.providerChoices.map((choice) => {
|
|
70386
70405
|
const keyHint = choice.keyless ? source_default.dim("no key") : choice.key ? source_default.dim(choice.key.envVar) : source_default.dim("no key");
|
|
70387
70406
|
const defaultHint = choice === feature.providerChoices?.[0] ? source_default.dim("recommended default") : "";
|
|
@@ -70396,7 +70415,7 @@ async function runAIFeaturesSetup(config2, _scope) {
|
|
|
70396
70415
|
source_default.cyan(" Providers (arrow + enter picks one, space adds more): "),
|
|
70397
70416
|
providerLabels,
|
|
70398
70417
|
defaultSelected,
|
|
70399
|
-
{ pickFocusedOnEnter: true }
|
|
70418
|
+
{ pickFocusedOnEnter: true, preserveDefaultSelectionOnEnter: true }
|
|
70400
70419
|
);
|
|
70401
70420
|
const selectedChoices = pickedProviders.map((i) => feature.providerChoices[i]);
|
|
70402
70421
|
const defaultChoice = selectedChoices.find((choice) => choice.defaultFor);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/cli",
|
|
3
|
-
"version": "0.91.
|
|
3
|
+
"version": "0.91.7",
|
|
4
4
|
"description": "VibeFrame CLI - natural language video editing from the terminal",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -183,8 +183,8 @@
|
|
|
183
183
|
"tsx": "^4.21.0",
|
|
184
184
|
"typescript": "^5.3.3",
|
|
185
185
|
"vitest": "^1.2.2",
|
|
186
|
-
"@vibeframe/ai-providers": "0.91.
|
|
187
|
-
"@vibeframe/core": "0.91.
|
|
186
|
+
"@vibeframe/ai-providers": "0.91.7",
|
|
187
|
+
"@vibeframe/core": "0.91.7"
|
|
188
188
|
},
|
|
189
189
|
"engines": {
|
|
190
190
|
"node": ">=20"
|
|
@@ -195,6 +195,7 @@
|
|
|
195
195
|
"dev": "tsc --watch",
|
|
196
196
|
"start": "tsx src/index.ts",
|
|
197
197
|
"lint": "eslint --ext .ts,.tsx src/",
|
|
198
|
-
"test": "vitest"
|
|
198
|
+
"test": "vitest",
|
|
199
|
+
"pretest": "node build.js"
|
|
199
200
|
}
|
|
200
201
|
}
|