ccconfig 1.5.1 → 1.5.2

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/ccconfig.js +26 -11
  2. package/package.json +1 -1
package/ccconfig.js CHANGED
@@ -180,46 +180,61 @@ class ReadlineHelper {
180
180
 
181
181
  async ask(question, defaultValue = '', options = {}) {
182
182
  this.ensureInterface();
183
- const {brackets = 'parentheses'} = options;
183
+ const {brackets = 'parentheses', prefill = false} = options;
184
184
  const left = brackets === 'square' ? '[' : '(';
185
185
  const right = brackets === 'square' ? ']' : ')';
186
- const suffix = defaultValue ? ` ${left}${defaultValue}${right}` : '';
186
+ // Don't show value in brackets if it will be pre-filled
187
+ const suffix = (defaultValue && !prefill) ? ` ${left}${defaultValue}${right}` : '';
187
188
 
188
189
  return new Promise(resolve => {
189
190
  this.rl.question(`${question}${suffix}: `, answer => {
190
191
  const trimmed = answer.trim();
191
192
  resolve(trimmed || defaultValue);
192
193
  });
194
+ // Pre-fill input with default value if prefill option is enabled
195
+ if (prefill && defaultValue) {
196
+ this.rl.write(defaultValue);
197
+ }
193
198
  });
194
199
  }
195
200
 
196
201
  async askEnvVars(existingEnv = {}) {
202
+ const hasExisting = key => !!existingEnv[key];
203
+
197
204
  const baseUrl = await this.ask(
198
205
  'ANTHROPIC_BASE_URL (press Enter to keep current/default)',
199
- existingEnv.ANTHROPIC_BASE_URL || 'https://api.anthropic.com',
200
- {brackets: existingEnv.ANTHROPIC_BASE_URL ? 'square' : 'parentheses'});
206
+ existingEnv.ANTHROPIC_BASE_URL || 'https://api.anthropic.com', {
207
+ brackets: hasExisting('ANTHROPIC_BASE_URL') ? 'square' : 'parentheses',
208
+ prefill: hasExisting('ANTHROPIC_BASE_URL')
209
+ });
201
210
 
202
211
  const authToken = await this.ask(
203
212
  'ANTHROPIC_AUTH_TOKEN (press Enter to keep current/set empty)',
204
213
  existingEnv.ANTHROPIC_AUTH_TOKEN || '', {
205
- brackets: existingEnv.ANTHROPIC_AUTH_TOKEN ? 'square' : 'parentheses'
214
+ brackets: hasExisting('ANTHROPIC_AUTH_TOKEN') ? 'square' : 'parentheses',
215
+ prefill: hasExisting('ANTHROPIC_AUTH_TOKEN')
206
216
  });
207
217
 
208
218
  const apiKey = await this.ask(
209
219
  'ANTHROPIC_API_KEY (press Enter to keep current/set empty)',
210
- existingEnv.ANTHROPIC_API_KEY || '',
211
- {brackets: existingEnv.ANTHROPIC_API_KEY ? 'square' : 'parentheses'});
220
+ existingEnv.ANTHROPIC_API_KEY || '', {
221
+ brackets: hasExisting('ANTHROPIC_API_KEY') ? 'square' : 'parentheses',
222
+ prefill: hasExisting('ANTHROPIC_API_KEY')
223
+ });
212
224
 
213
225
  const model = await this.ask(
214
226
  'ANTHROPIC_MODEL (press Enter to skip/keep current)',
215
- existingEnv.ANTHROPIC_MODEL || '',
216
- {brackets: existingEnv.ANTHROPIC_MODEL ? 'square' : 'parentheses'});
227
+ existingEnv.ANTHROPIC_MODEL || '', {
228
+ brackets: hasExisting('ANTHROPIC_MODEL') ? 'square' : 'parentheses',
229
+ prefill: hasExisting('ANTHROPIC_MODEL')
230
+ });
217
231
 
218
232
  const smallFastModel = await this.ask(
219
233
  'ANTHROPIC_SMALL_FAST_MODEL (press Enter to skip/keep current)',
220
234
  existingEnv.ANTHROPIC_SMALL_FAST_MODEL || '', {
221
- brackets: existingEnv.ANTHROPIC_SMALL_FAST_MODEL ? 'square' :
222
- 'parentheses'
235
+ brackets:
236
+ hasExisting('ANTHROPIC_SMALL_FAST_MODEL') ? 'square' : 'parentheses',
237
+ prefill: hasExisting('ANTHROPIC_SMALL_FAST_MODEL')
223
238
  });
224
239
 
225
240
  const envVars = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccconfig",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Cross-platform Claude Code configuration switching tool",
5
5
  "main": "ccconfig.js",
6
6
  "bin": {