@kaitranntt/ccs 5.4.4-dev.2 → 5.5.0-dev.10

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 (37) hide show
  1. package/VERSION +1 -1
  2. package/config/base-kimi.settings.json +5 -1
  3. package/dist/ccs.js +18 -1
  4. package/dist/ccs.js.map +1 -1
  5. package/dist/cliproxy/binary-manager.d.ts +5 -0
  6. package/dist/cliproxy/binary-manager.d.ts.map +1 -1
  7. package/dist/cliproxy/binary-manager.js +18 -1
  8. package/dist/cliproxy/binary-manager.js.map +1 -1
  9. package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
  10. package/dist/cliproxy/cliproxy-executor.js +31 -4
  11. package/dist/cliproxy/cliproxy-executor.js.map +1 -1
  12. package/dist/cliproxy/index.d.ts +4 -1
  13. package/dist/cliproxy/index.d.ts.map +1 -1
  14. package/dist/cliproxy/index.js +13 -1
  15. package/dist/cliproxy/index.js.map +1 -1
  16. package/dist/cliproxy/model-catalog.d.ts +60 -0
  17. package/dist/cliproxy/model-catalog.d.ts.map +1 -0
  18. package/dist/cliproxy/model-catalog.js +109 -0
  19. package/dist/cliproxy/model-catalog.js.map +1 -0
  20. package/dist/cliproxy/model-config.d.ts +28 -0
  21. package/dist/cliproxy/model-config.d.ts.map +1 -0
  22. package/dist/cliproxy/model-config.js +197 -0
  23. package/dist/cliproxy/model-config.js.map +1 -0
  24. package/dist/cliproxy/platform-detector.d.ts +2 -2
  25. package/dist/cliproxy/platform-detector.js +1 -1
  26. package/dist/commands/help-command.d.ts.map +1 -1
  27. package/dist/commands/help-command.js +4 -3
  28. package/dist/commands/help-command.js.map +1 -1
  29. package/dist/management/doctor.d.ts.map +1 -1
  30. package/dist/management/doctor.js +3 -2
  31. package/dist/management/doctor.js.map +1 -1
  32. package/dist/utils/prompt.d.ts +19 -0
  33. package/dist/utils/prompt.d.ts.map +1 -1
  34. package/dist/utils/prompt.js +92 -0
  35. package/dist/utils/prompt.js.map +1 -1
  36. package/package.json +1 -1
  37. package/scripts/postinstall.js +27 -19
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,iBAAiB;IAC5B;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6DrF;;OAEG;WACU,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwChF;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;CAsEvF"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,iBAAiB;IAC5B;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6DrF;;OAEG;WACU,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwChF;;;;;;;OAOG;WACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkGtF;;;;;OAKG;WACU,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EAAE,EACvB,aAAa,GAAE,aAAkB,GAChC,OAAO,CAAC,MAAM,CAAC;CA0EnB"}
@@ -113,6 +113,11 @@ class InteractivePrompt {
113
113
  }
114
114
  /**
115
115
  * Get password/secret input (masked)
116
+ *
117
+ * Handles bracketed paste mode escape sequences that terminals send:
118
+ * - Start paste: ESC[200~
119
+ * - End paste: ESC[201~
120
+ * These are stripped automatically so pasted API keys work correctly.
116
121
  */
117
122
  static async password(message, options = {}) {
118
123
  const { mask = '*' } = options;
@@ -128,6 +133,7 @@ class InteractivePrompt {
128
133
  process.stderr.write(promptText);
129
134
  return new Promise((resolve) => {
130
135
  let input = '';
136
+ let escapeBuffer = ''; // Buffer for escape sequence detection
131
137
  const cleanup = () => {
132
138
  if (process.stdin.setRawMode) {
133
139
  process.stdin.setRawMode(false);
@@ -139,6 +145,28 @@ class InteractivePrompt {
139
145
  const str = data.toString('utf8');
140
146
  for (const char of str) {
141
147
  const charCode = char.charCodeAt(0);
148
+ // ESC character (start of escape sequence)
149
+ if (charCode === 27) {
150
+ escapeBuffer = '\x1b';
151
+ continue;
152
+ }
153
+ // If we're in an escape sequence, buffer chars until we detect the pattern
154
+ if (escapeBuffer) {
155
+ escapeBuffer += char;
156
+ // Check for bracketed paste sequences: ESC[200~ (start) or ESC[201~ (end)
157
+ if (escapeBuffer === '\x1b[200~' || escapeBuffer === '\x1b[201~') {
158
+ // Discard bracketed paste markers
159
+ escapeBuffer = '';
160
+ continue;
161
+ }
162
+ // If buffer is getting too long without match, it's not a paste sequence
163
+ // Flush buffer as regular input (shouldn't happen with API keys)
164
+ if (escapeBuffer.length > 6) {
165
+ // Not a recognized sequence - skip it entirely (likely other escape seq)
166
+ escapeBuffer = '';
167
+ }
168
+ continue;
169
+ }
142
170
  // Enter key (CR or LF)
143
171
  if (charCode === 13 || charCode === 10) {
144
172
  cleanup();
@@ -172,6 +200,70 @@ class InteractivePrompt {
172
200
  process.stdin.resume();
173
201
  });
174
202
  }
203
+ /**
204
+ * Select from a numbered list
205
+ *
206
+ * Displays options with numbers and waits for user selection.
207
+ * Shows default with asterisk (*) prefix.
208
+ */
209
+ static async selectFromList(prompt, options, selectOptions = {}) {
210
+ const { defaultIndex = 0 } = selectOptions;
211
+ // Check for --yes flag (automation) - use default
212
+ if (process.env.CCS_YES === '1' ||
213
+ process.argv.includes('--yes') ||
214
+ process.argv.includes('-y')) {
215
+ console.error(`[i] Using default: ${options[defaultIndex].label}`);
216
+ return options[defaultIndex].id;
217
+ }
218
+ // Check for --no-input flag (CI)
219
+ if (process.env.CCS_NO_INPUT === '1' || process.argv.includes('--no-input')) {
220
+ console.error(`[i] Using default: ${options[defaultIndex].label}`);
221
+ return options[defaultIndex].id;
222
+ }
223
+ // Non-TTY: use default
224
+ if (!process.stdin.isTTY) {
225
+ console.error(`[i] Using default: ${options[defaultIndex].label}`);
226
+ return options[defaultIndex].id;
227
+ }
228
+ // Display prompt and options
229
+ console.error(`${prompt}`);
230
+ console.error('');
231
+ options.forEach((opt, i) => {
232
+ const marker = i === defaultIndex ? '*' : ' ';
233
+ const num = String(i + 1).padStart(2);
234
+ console.error(` ${marker}${num}. ${opt.label}`);
235
+ });
236
+ console.error('');
237
+ const rl = readline.createInterface({
238
+ input: process.stdin,
239
+ output: process.stderr,
240
+ terminal: true,
241
+ });
242
+ const defaultNum = String(defaultIndex + 1);
243
+ const promptText = `Enter choice [1-${options.length}] (default: ${defaultNum}): `;
244
+ return new Promise((resolve) => {
245
+ rl.question(promptText, (answer) => {
246
+ rl.close();
247
+ const normalized = answer.trim();
248
+ // Empty answer: use default
249
+ if (normalized === '') {
250
+ console.error(`[i] Using default: ${options[defaultIndex].label}`);
251
+ resolve(options[defaultIndex].id);
252
+ return;
253
+ }
254
+ // Parse number
255
+ const num = parseInt(normalized, 10);
256
+ // Validate range
257
+ if (isNaN(num) || num < 1 || num > options.length) {
258
+ console.error(`[!] Invalid choice. Please enter 1-${options.length}`);
259
+ resolve(InteractivePrompt.selectFromList(prompt, options, selectOptions));
260
+ return;
261
+ }
262
+ const selected = options[num - 1];
263
+ resolve(selected.id);
264
+ });
265
+ });
266
+ }
175
267
  }
176
268
  exports.InteractivePrompt = InteractivePrompt;
177
269
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "5.4.4-dev.2",
3
+ "version": "5.5.0-dev.10",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",
@@ -336,7 +336,11 @@ function createConfigFiles() {
336
336
  const kimiSettings = {
337
337
  env: {
338
338
  ANTHROPIC_BASE_URL: 'https://api.kimi.com/coding/',
339
- ANTHROPIC_AUTH_TOKEN: 'YOUR_KIMI_API_KEY_HERE'
339
+ ANTHROPIC_AUTH_TOKEN: 'YOUR_KIMI_API_KEY_HERE',
340
+ ANTHROPIC_MODEL: 'kimi-k2-thinking-turbo',
341
+ ANTHROPIC_DEFAULT_OPUS_MODEL: 'kimi-k2-thinking-turbo',
342
+ ANTHROPIC_DEFAULT_SONNET_MODEL: 'kimi-k2-thinking-turbo',
343
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: 'kimi-k2-thinking-turbo'
340
344
  },
341
345
  alwaysThinkingEnabled: true
342
346
  };
@@ -360,12 +364,13 @@ function createConfigFiles() {
360
364
  // They are created on-demand when user runs `ccs gemini` or `ccs codex` for the first time
361
365
  // This prevents confusion - users need to run `--auth` first anyway
362
366
 
363
- // Migrate existing Kimi configs to remove deprecated model fields (v4.1.2)
364
- // Kimi API changed - model fields now cause 401 errors
367
+ // Migrate existing Kimi configs to use kimi-k2-thinking-turbo model (v5.5.0)
368
+ // Kimi API now supports model specification with thinking models
365
369
  if (fs.existsSync(kimiSettingsPath)) {
366
370
  try {
367
371
  const existing = JSON.parse(fs.readFileSync(kimiSettingsPath, 'utf8'));
368
372
  let updated = false;
373
+ const defaultModel = 'kimi-k2-thinking-turbo';
369
374
 
370
375
  // Ensure env object exists
371
376
  if (!existing.env) {
@@ -373,22 +378,27 @@ function createConfigFiles() {
373
378
  updated = true;
374
379
  }
375
380
 
376
- // Remove deprecated model fields that cause 401 errors
377
- const deprecatedFields = [
378
- 'ANTHROPIC_MODEL',
379
- 'ANTHROPIC_SMALL_FAST_MODEL',
380
- 'ANTHROPIC_DEFAULT_OPUS_MODEL',
381
- 'ANTHROPIC_DEFAULT_SONNET_MODEL',
382
- 'ANTHROPIC_DEFAULT_HAIKU_MODEL'
383
- ];
384
-
385
- for (const field of deprecatedFields) {
386
- if (existing.env[field] !== undefined) {
387
- delete existing.env[field];
381
+ // Add/update model fields to use kimi-k2-thinking-turbo
382
+ const modelFields = {
383
+ ANTHROPIC_MODEL: defaultModel,
384
+ ANTHROPIC_DEFAULT_OPUS_MODEL: defaultModel,
385
+ ANTHROPIC_DEFAULT_SONNET_MODEL: defaultModel,
386
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: defaultModel
387
+ };
388
+
389
+ for (const [field, value] of Object.entries(modelFields)) {
390
+ if (existing.env[field] !== value) {
391
+ existing.env[field] = value;
388
392
  updated = true;
389
393
  }
390
394
  }
391
395
 
396
+ // Remove deprecated ANTHROPIC_SMALL_FAST_MODEL if present
397
+ if (existing.env.ANTHROPIC_SMALL_FAST_MODEL !== undefined) {
398
+ delete existing.env.ANTHROPIC_SMALL_FAST_MODEL;
399
+ updated = true;
400
+ }
401
+
392
402
  // Ensure required fields exist
393
403
  if (!existing.env.ANTHROPIC_BASE_URL) {
394
404
  existing.env.ANTHROPIC_BASE_URL = 'https://api.kimi.com/coding/';
@@ -406,13 +416,11 @@ function createConfigFiles() {
406
416
  const tmpPath = `${kimiSettingsPath}.tmp`;
407
417
  fs.writeFileSync(tmpPath, JSON.stringify(existing, null, 2) + '\n', 'utf8');
408
418
  fs.renameSync(tmpPath, kimiSettingsPath);
409
- console.log('[OK] Migrated Kimi config (v4.1.2): removed deprecated model fields');
410
- console.log(' Kimi API no longer requires model fields (they cause 401 errors)');
419
+ console.log('[OK] Migrated Kimi config (v5.5.0): updated to kimi-k2-thinking-turbo model');
411
420
  }
412
421
  } catch (err) {
413
422
  console.warn('[!] Kimi config migration failed:', err.message);
414
- console.warn(' Existing config preserved, but may cause 401 errors');
415
- console.warn(' Manually remove ANTHROPIC_MODEL fields from ~/.ccs/kimi.settings.json');
423
+ console.warn(' Existing config preserved');
416
424
  }
417
425
  }
418
426