@vibeframe/cli 0.91.8 → 0.91.9
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 +25 -6
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -31792,7 +31792,7 @@ async function promptHidden(question, opts = {}) {
|
|
|
31792
31792
|
}
|
|
31793
31793
|
});
|
|
31794
31794
|
}
|
|
31795
|
-
async function promptSelect(_question, options, defaultIndex = 0) {
|
|
31795
|
+
async function promptSelect(_question, options, defaultIndex = 0, opts = {}) {
|
|
31796
31796
|
const input = getTTYInputStream();
|
|
31797
31797
|
if (typeof input.setRawMode === "function") {
|
|
31798
31798
|
return new Promise((resolve64) => {
|
|
@@ -31827,6 +31827,12 @@ async function promptSelect(_question, options, defaultIndex = 0) {
|
|
|
31827
31827
|
input.setRawMode(false);
|
|
31828
31828
|
process.stdout.write("\n");
|
|
31829
31829
|
process.exit(1);
|
|
31830
|
+
} else if (opts.backIndex !== void 0 && (char === "\x1B" || char === "\x1B[D")) {
|
|
31831
|
+
finished = true;
|
|
31832
|
+
input.setRawMode(false);
|
|
31833
|
+
input.removeListener("data", onData);
|
|
31834
|
+
process.stdout.write("\n");
|
|
31835
|
+
resolve64(opts.backIndex);
|
|
31830
31836
|
} else if (char === "\x1B[A" || char === "k") {
|
|
31831
31837
|
selected = (selected - 1 + options.length) % options.length;
|
|
31832
31838
|
render();
|
|
@@ -31982,6 +31988,11 @@ async function promptMultiSelect(_question, options, defaultSelected = [], opts
|
|
|
31982
31988
|
input.setRawMode(false);
|
|
31983
31989
|
process.stdout.write("\n");
|
|
31984
31990
|
process.exit(1);
|
|
31991
|
+
} else if (opts.backIndex !== void 0 && (char === "\x1B" || char === "\x1B[D")) {
|
|
31992
|
+
for (let i = 0; i < selected.length; i++) selected[i] = false;
|
|
31993
|
+
selected[opts.backIndex] = true;
|
|
31994
|
+
finished = true;
|
|
31995
|
+
finish();
|
|
31985
31996
|
} else if (char === " ") {
|
|
31986
31997
|
selected[cursor] = !selected[cursor];
|
|
31987
31998
|
userToggled = true;
|
|
@@ -62962,7 +62973,7 @@ init_source();
|
|
|
62962
62973
|
// package.json
|
|
62963
62974
|
var package_default = {
|
|
62964
62975
|
name: "@vibeframe/cli",
|
|
62965
|
-
version: "0.91.
|
|
62976
|
+
version: "0.91.9",
|
|
62966
62977
|
description: "VibeFrame CLI - natural language video editing from the terminal",
|
|
62967
62978
|
private: false,
|
|
62968
62979
|
license: "MIT",
|
|
@@ -70520,7 +70531,11 @@ async function runAIFeaturesSetup(config2, _scope) {
|
|
|
70520
70531
|
)
|
|
70521
70532
|
);
|
|
70522
70533
|
console.log(source_default.dim(" Shortcut: enter alone picks only the highlighted feature."));
|
|
70523
|
-
console.log(
|
|
70534
|
+
console.log(
|
|
70535
|
+
source_default.dim(
|
|
70536
|
+
` Select ${source_default.bold("Back")} or press ${source_default.bold("Esc/\u2190")} to return to the setup checkpoint.`
|
|
70537
|
+
)
|
|
70538
|
+
);
|
|
70524
70539
|
console.log();
|
|
70525
70540
|
const backIndex = AI_FEATURES.length;
|
|
70526
70541
|
const featureLabels = [
|
|
@@ -70536,7 +70551,7 @@ async function runAIFeaturesSetup(config2, _scope) {
|
|
|
70536
70551
|
source_default.cyan(" Pick (e.g. 1,3 or 'all'): "),
|
|
70537
70552
|
featureLabels,
|
|
70538
70553
|
[...configuredFeatures, false],
|
|
70539
|
-
{ pickFocusedOnEnter: true,
|
|
70554
|
+
{ pickFocusedOnEnter: true, backIndex }
|
|
70540
70555
|
);
|
|
70541
70556
|
if (picked.includes(backIndex)) {
|
|
70542
70557
|
console.log();
|
|
@@ -70554,7 +70569,7 @@ async function runAIFeaturesSetup(config2, _scope) {
|
|
|
70554
70569
|
console.log(source_default.bold("Choose providers for each selected feature"));
|
|
70555
70570
|
console.log(
|
|
70556
70571
|
source_default.dim(
|
|
70557
|
-
` Recommended default is highlighted. Press ${source_default.bold("enter")} to pick the highlighted provider,
|
|
70572
|
+
` Recommended default is highlighted. Press ${source_default.bold("enter")} to pick the highlighted provider, ${source_default.bold("space")} to choose multiple, or ${source_default.bold("Esc/\u2190")} to go back.`
|
|
70558
70573
|
)
|
|
70559
70574
|
);
|
|
70560
70575
|
console.log();
|
|
@@ -70580,7 +70595,11 @@ async function runAIFeaturesSetup(config2, _scope) {
|
|
|
70580
70595
|
source_default.cyan(" Providers (arrow + enter picks one, space adds more): "),
|
|
70581
70596
|
[...providerLabels, `Back ${source_default.dim("(choose different features)")}`],
|
|
70582
70597
|
[...defaultSelected, false],
|
|
70583
|
-
{
|
|
70598
|
+
{
|
|
70599
|
+
pickFocusedOnEnter: true,
|
|
70600
|
+
preserveDefaultSelectionOnEnter: true,
|
|
70601
|
+
backIndex: backProviderIndex
|
|
70602
|
+
}
|
|
70584
70603
|
);
|
|
70585
70604
|
if (pickedProviders.includes(backProviderIndex)) {
|
|
70586
70605
|
console.log();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/cli",
|
|
3
|
-
"version": "0.91.
|
|
3
|
+
"version": "0.91.9",
|
|
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.9",
|
|
187
|
+
"@vibeframe/core": "0.91.9"
|
|
188
188
|
},
|
|
189
189
|
"engines": {
|
|
190
190
|
"node": ">=20"
|