@kaitranntt/ccs 5.5.0-dev.1 → 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.
- package/VERSION +1 -1
- package/dist/ccs.js +18 -1
- package/dist/ccs.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts +5 -0
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +18 -1
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -1
- package/dist/cliproxy/cliproxy-executor.js +31 -4
- package/dist/cliproxy/cliproxy-executor.js.map +1 -1
- package/dist/cliproxy/index.d.ts +4 -1
- package/dist/cliproxy/index.d.ts.map +1 -1
- package/dist/cliproxy/index.js +13 -1
- package/dist/cliproxy/index.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts +60 -0
- package/dist/cliproxy/model-catalog.d.ts.map +1 -0
- package/dist/cliproxy/model-catalog.js +109 -0
- package/dist/cliproxy/model-catalog.js.map +1 -0
- package/dist/cliproxy/model-config.d.ts +28 -0
- package/dist/cliproxy/model-config.d.ts.map +1 -0
- package/dist/cliproxy/model-config.js +197 -0
- package/dist/cliproxy/model-config.js.map +1 -0
- package/dist/cliproxy/platform-detector.d.ts +2 -2
- package/dist/cliproxy/platform-detector.js +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +4 -3
- package/dist/commands/help-command.js.map +1 -1
- package/dist/management/doctor.d.ts.map +1 -1
- package/dist/management/doctor.js +3 -2
- package/dist/management/doctor.js.map +1 -1
- package/dist/utils/prompt.d.ts +19 -0
- package/dist/utils/prompt.d.ts.map +1 -1
- package/dist/utils/prompt.js +92 -0
- package/dist/utils/prompt.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/prompt.js
CHANGED
|
@@ -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
|
package/dist/utils/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
|