Skip to content

Commit 54cbfe4

Browse files
committed
fix config sync issue
1 parent 44309cd commit 54cbfe4

1 file changed

Lines changed: 27 additions & 20 deletions

File tree

src/cli/commands/config.ts

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -168,34 +168,41 @@ async function configureAI(config: any) {
168168
console.log(chalk.yellow("Note: This updates the primary provider only.\n"));
169169
console.log(chalk.gray("To reconfigure all providers, run: txtcode auth\n"));
170170

171-
const answers = await inquirer.prompt([
171+
// Get list of already configured providers
172+
const configuredProviders = config.providers || {};
173+
const providerList = Object.keys(configuredProviders);
174+
175+
if (providerList.length === 0) {
176+
console.log(chalk.red("\n[ERROR] No providers configured.\n"));
177+
console.log(chalk.yellow("Please run 'txtcode auth' first to configure providers.\n"));
178+
return;
179+
}
180+
181+
// Show configured providers
182+
const providerChoices = providerList.map(providerId => ({
183+
name: `${providerId} (${configuredProviders[providerId].model})`,
184+
value: providerId,
185+
}));
186+
187+
const { selectedProvider } = await inquirer.prompt([
172188
{
173189
type: "list",
174-
name: "aiProvider",
175-
message: "Select AI provider for general chat:",
176-
choices: [
177-
{ name: "Anthropic (Claude)", value: "anthropic" },
178-
{ name: "OpenAI (GPT)", value: "openai" },
179-
{ name: "Google (Gemini)", value: "gemini" },
180-
{ name: "OpenRouter", value: "openrouter" },
181-
],
190+
name: "selectedProvider",
191+
message: "Select primary provider:",
192+
choices: providerChoices,
182193
default: config.aiProvider,
183194
},
184-
{
185-
type: "password",
186-
name: "aiApiKey",
187-
message: "Enter AI API Key:",
188-
mask: "*",
189-
},
190195
]);
191196

192-
config.aiProvider = answers.aiProvider;
193-
194-
// Store API key in keychain
195-
await setApiKey(answers.aiProvider, answers.aiApiKey);
197+
// Update top-level fields to match selected provider
198+
config.aiProvider = selectedProvider;
199+
config.aiModel = configuredProviders[selectedProvider].model;
200+
config.updatedAt = new Date().toISOString();
196201

197202
saveConfig(config);
198-
console.log(chalk.green("\n✅ AI provider configuration updated!\n"));
203+
console.log(chalk.green("\n✅ Primary provider updated!\n"));
204+
console.log(chalk.white(`Active: ${selectedProvider} (${config.aiModel})\n`));
205+
console.log(chalk.gray("Note: To change API key or add/remove providers, run: txtcode auth\n"));
199206
}
200207

201208
async function configureProject(config: any) {

0 commit comments

Comments
 (0)