@iservu-inc/adf-cli 0.5.5-debug.0 → 0.5.5

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/CHANGELOG.md CHANGED
@@ -5,6 +5,50 @@ All notable changes to `@iservu-inc/adf-cli` will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.5] - 2025-10-05
9
+
10
+ ### ✅ Fixed AI Provider Configuration Display
11
+
12
+ **FIX:** Restored checkmarks (✓) for configured AI providers alongside the active (★) indicator.
13
+
14
+ #### What Was Broken
15
+
16
+ In the AI provider selection menu, only the "★ Active" indicator was showing. The checkmarks that indicate which providers have configured API keys were missing.
17
+
18
+ **Before (broken):**
19
+ ```
20
+ ? Select AI provider:
21
+ Anthropic Claude
22
+ OpenAI GPT
23
+ Google Gemini
24
+ OpenRouter (Multi-Model) ★ Active
25
+ ```
26
+
27
+ **After (fixed):**
28
+ ```
29
+ ? Select AI provider:
30
+ Anthropic Claude ✓
31
+ OpenAI GPT ✓
32
+ Google Gemini ✓
33
+ OpenRouter (Multi-Model) ✓ ★ Active
34
+ ```
35
+
36
+ #### What We Fixed
37
+
38
+ - Refactored provider name building logic for clarity
39
+ - Added proper spacing between provider name, checkmark, and active indicator
40
+ - Both indicators now show correctly:
41
+ - **✓** = API key configured
42
+ - **★ Active** = Currently selected provider
43
+
44
+ #### Technical Changes
45
+
46
+ - Modified: `lib/ai/ai-config.js` - Cleaner `buildProviderName()` function
47
+ - Better string concatenation with consistent spacing
48
+ - Removed debug logging
49
+
50
+ ---
51
+
8
52
  ## [0.5.4] - 2025-10-05
9
53
 
10
54
  ### ✨ Enhanced Version & Help Display
@@ -275,11 +275,8 @@ async function configureAIProvider(projectPath = process.cwd()) {
275
275
  const apiKey = process.env[provider.envVar] || existingEnv[provider.envVar];
276
276
  if (apiKey) {
277
277
  availableProviders.push(provider);
278
- console.log(chalk.gray(`[DEBUG] Found ${provider.id}: ${provider.envVar}=${apiKey ? '***' : 'not found'}`));
279
278
  }
280
279
  }
281
- console.log(chalk.gray(`[DEBUG] availableProviders length: ${availableProviders.length}`));
282
- console.log(chalk.gray(`[DEBUG] availableProviders ids: ${availableProviders.map(p => p.id).join(', ')}`));
283
280
 
284
281
  // Get currently active provider and model
285
282
  const currentProvider = process.env.ADF_CURRENT_PROVIDER || existingEnv.ADF_CURRENT_PROVIDER;
@@ -301,25 +298,40 @@ async function configureAIProvider(projectPath = process.cwd()) {
301
298
  }
302
299
  }
303
300
 
304
- // Provider selection
301
+ // Provider selection with status indicators
302
+ const buildProviderName = (provider, providerId) => {
303
+ const isConfigured = availableProviders.find(p => p.id === providerId);
304
+ const isActive = currentProvider === providerId;
305
+
306
+ let name = provider.name;
307
+ if (isConfigured) {
308
+ name += chalk.green(' ✓');
309
+ }
310
+ if (isActive) {
311
+ name += chalk.cyan(' ★ Active');
312
+ }
313
+
314
+ return name;
315
+ };
316
+
305
317
  const providerChoices = [
306
318
  {
307
- name: `${AI_PROVIDERS.ANTHROPIC.name} ${availableProviders.find(p => p.id === 'anthropic') ? chalk.green('✓ Configured') : ''} ${currentProvider === 'anthropic' ? chalk.cyan('★ Active') : ''}`,
319
+ name: buildProviderName(AI_PROVIDERS.ANTHROPIC, 'anthropic'),
308
320
  value: 'anthropic',
309
321
  short: 'Anthropic'
310
322
  },
311
323
  {
312
- name: `${AI_PROVIDERS.OPENAI.name} ${availableProviders.find(p => p.id === 'openai') ? chalk.green('✓ Configured') : ''} ${currentProvider === 'openai' ? chalk.cyan('★ Active') : ''}`,
324
+ name: buildProviderName(AI_PROVIDERS.OPENAI, 'openai'),
313
325
  value: 'openai',
314
326
  short: 'OpenAI'
315
327
  },
316
328
  {
317
- name: `${AI_PROVIDERS.GOOGLE.name} ${availableProviders.find(p => p.id === 'google') ? chalk.green('✓ Configured') : ''} ${currentProvider === 'google' ? chalk.cyan('★ Active') : ''}`,
329
+ name: buildProviderName(AI_PROVIDERS.GOOGLE, 'google'),
318
330
  value: 'google',
319
331
  short: 'Google'
320
332
  },
321
333
  {
322
- name: `${AI_PROVIDERS.OPENROUTER.name} ${availableProviders.find(p => p.id === 'openrouter') ? chalk.green('✓ Configured') : ''} ${currentProvider === 'openrouter' ? chalk.cyan('★ Active') : ''}`,
334
+ name: buildProviderName(AI_PROVIDERS.OPENROUTER, 'openrouter'),
323
335
  value: 'openrouter',
324
336
  short: 'OpenRouter'
325
337
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iservu-inc/adf-cli",
3
- "version": "0.5.5-debug.0",
3
+ "version": "0.5.5",
4
4
  "description": "CLI tool for AgentDevFramework - AI-assisted development framework with multi-provider AI support",
5
5
  "main": "index.js",
6
6
  "bin": {