vesper-wizard 2.3.2 → 2.3.3

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/wizard.js +9 -33
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vesper-wizard",
3
- "version": "2.3.2",
3
+ "version": "2.3.3",
4
4
  "description": "Zero-friction setup wizard for Vesper — local MCP server, unified dataset API, and agent auto-config in 60 seconds",
5
5
  "bin": {
6
6
  "vesper-wizard": "wizard.js"
package/wizard.js CHANGED
@@ -221,14 +221,10 @@ async function chooseAuthMode(existingKey, existingAuthMode) {
221
221
  }
222
222
 
223
223
  const choices = [];
224
- if (hasExistingKey) {
225
- choices.push({ value: 'keep', label: 'Keep current key as-is' });
226
- }
227
- choices.push({ value: 'manual', label: 'Provide Vesper API key manually' });
228
224
  choices.push({ value: 'browser', label: 'Sign in through the browser' });
229
- choices.push({ value: 'local', label: 'Use local-only key' });
225
+ choices.push({ value: 'manual', label: 'Provide Vesper API key manually' });
230
226
 
231
- return await askChoice(`${cyan('→')} How do you want to authenticate Vesper?`, choices, hasExistingKey ? 'keep' : 'browser');
227
+ return await askChoice(`${cyan('→')} How do you want to authenticate Vesper?`, choices, 'browser');
232
228
  }
233
229
 
234
230
  async function deviceAuthFlow() {
@@ -240,7 +236,7 @@ async function deviceAuthFlow() {
240
236
  console.log(` ${red('✗')} ${red('Could not reach any Vesper auth endpoint.')}`);
241
237
  console.log(` ${dim('Tried:')} ${dim((VESPER_API_URL ? [VESPER_API_URL] : DEFAULT_VESPER_API_CANDIDATES).join(', '))}`);
242
238
  console.log(` ${dim('If your landing app is running locally, start it on http://localhost:3000 or set VESPER_API_URL.')}`);
243
- console.log(` ${dim('Falling back to local-only mode.\n')}`);
239
+ console.log(` ${dim('Falling back to manual key entry.\n')}`);
244
240
  return null;
245
241
  }
246
242
 
@@ -249,7 +245,7 @@ async function deviceAuthFlow() {
249
245
  console.log(` ${dim('Endpoint:')} ${dim(resolvedApiBaseUrl.baseUrl)}`);
250
246
  console.log(` ${dim('Reason:')} ${dim(resolvedApiBaseUrl.message || 'Apply Supabase migrations first.')}`);
251
247
  console.log(` ${dim('Run the SQL in supabase/migrations/001_device_auth.sql and 002_rate_limits.sql, then retry.')}`);
252
- console.log(` ${dim('Falling back to local-only mode.\n')}`);
248
+ console.log(` ${dim('Falling back to manual key entry.\n')}`);
253
249
  return null;
254
250
  }
255
251
 
@@ -263,7 +259,7 @@ async function deviceAuthFlow() {
263
259
  } catch (err) {
264
260
  console.log(` ${red('✗')}`);
265
261
  console.log(` ${red('Could not reach Vesper API at')} ${dim(resolvedApiBaseUrl.baseUrl)}`);
266
- console.log(` ${dim('Falling back to local-only mode.\n')}`);
262
+ console.log(` ${dim('Falling back to manual key entry.\n')}`);
267
263
  return null;
268
264
  }
269
265
 
@@ -463,9 +459,7 @@ async function main() {
463
459
 
464
460
  const authChoice = await chooseAuthMode(localKey, authMode);
465
461
 
466
- if (authChoice === 'keep' && localKey) {
467
- console.log(` ${green('✓')} Keeping current key`);
468
- } else if (authChoice === 'manual') {
462
+ if (authChoice === 'manual') {
469
463
  localKey = await promptForManualApiKey();
470
464
  authMode = 'cloud';
471
465
  console.log(` ${green('✓')} Cloud API key saved from manual input`);
@@ -475,28 +469,10 @@ async function main() {
475
469
  localKey = cloudKey;
476
470
  authMode = 'cloud';
477
471
  } else {
478
- const fallbackChoice = await askChoice(`${yellow('!')} Browser sign-in did not complete. Choose a fallback:`, [
479
- { value: 'manual', label: 'Provide Vesper API key manually' },
480
- { value: 'local', label: 'Use local-only key' },
481
- ], 'manual');
482
-
483
- if (fallbackChoice === 'manual') {
484
- localKey = await promptForManualApiKey();
485
- authMode = 'cloud';
486
- } else {
487
- if (!localKey || isCloudApiKey(localKey)) {
488
- localKey = generateLocalKey();
489
- }
490
- authMode = 'local_unified';
491
- console.log(`\n ${yellow('⚠')} Using local-only key. Run the wizard again anytime to link an account.`);
492
- }
493
- }
494
- } else {
495
- if (!localKey || isCloudApiKey(localKey)) {
496
- localKey = generateLocalKey();
472
+ console.log(`\n ${yellow('!')} Browser sign-in did not complete. Falling back to manual key entry.`);
473
+ localKey = await promptForManualApiKey();
474
+ authMode = 'cloud';
497
475
  }
498
- authMode = 'local_unified';
499
- console.log(` ${green('✓')} Local-only key ready`);
500
476
  }
501
477
 
502
478
  const configData = { ...existing, api_key: localKey, auth_mode: authMode };