icoa-cli 2.19.91 → 2.19.92
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/dist/repl.js +5 -14
- package/package.json +1 -1
package/dist/repl.js
CHANGED
|
@@ -199,12 +199,8 @@ function printSelectionMenu() {
|
|
|
199
199
|
console.log(chalk.white(' lang es') + chalk.gray(' Switch language (17 supported)'));
|
|
200
200
|
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
201
201
|
}
|
|
202
|
-
// Beginner-friendly safety net: make it obvious how to pause / exit / get help.
|
|
203
|
-
// This is the first place a new K-12 user lands, so the three escape hatches
|
|
204
|
-
// need to be visible without cluttering the main command list above.
|
|
205
202
|
console.log(chalk.gray(' ') +
|
|
206
203
|
chalk.gray('Tip: ') + chalk.cyan('help') + chalk.gray(' for commands · ') +
|
|
207
|
-
chalk.cyan('tutorial') + chalk.gray(' for 30-sec walkthrough · ') +
|
|
208
204
|
chalk.cyan('Ctrl+C') + chalk.gray(' pauses · ') +
|
|
209
205
|
chalk.cyan('quit') + chalk.gray(' closes'));
|
|
210
206
|
console.log();
|
|
@@ -234,12 +230,10 @@ export async function startRepl(program, resumeMode) {
|
|
|
234
230
|
// ─── Mode selection (every launch) ───
|
|
235
231
|
const { select: selectMode, confirm: confirmMode } = await import('@inquirer/prompts');
|
|
236
232
|
const savedMode = config.mode || '';
|
|
237
|
-
// T3-10: Mode labels clarified for K-12 newcomers who don't know the
|
|
238
|
-
// difference between "selection" and "olympiad" at first glance.
|
|
239
233
|
const modeChoices = [
|
|
240
|
-
{ name: ` ${chalk.bold('National Selection')} ${chalk.gray('
|
|
241
|
-
{ name: ` ${chalk.bold('International Olympiad')} ${chalk.gray('
|
|
242
|
-
{ name: ` ${chalk.bold('National/Regional Partner')} ${chalk.gray('
|
|
234
|
+
{ name: ` ${chalk.bold('National Selection')} ${chalk.gray('—')} ${chalk.gray('demo, exam (lightweight)')}`, value: 'selection' },
|
|
235
|
+
{ name: ` ${chalk.bold('International Olympiad')} ${chalk.gray('—')} ${chalk.gray('CTF × AI (~500MB, advanced)')}`, value: 'olympiad' },
|
|
236
|
+
{ name: ` ${chalk.bold('National/Regional Partner')} ${chalk.gray('—')} ${chalk.gray('organizer tools (tokens, competitions)')}`, value: 'organizer' },
|
|
243
237
|
{ name: ` ${chalk.gray('About ICOA')} ${chalk.gray('·')} ${chalk.gray('Info & contact')}`, value: 'about' },
|
|
244
238
|
];
|
|
245
239
|
console.log(chalk.gray(' Use ') + chalk.yellow('↑') + chalk.gray(' or ') + chalk.yellow('↓') + chalk.gray(' to select, ') + chalk.yellow('Enter') + chalk.gray(' to confirm.'));
|
|
@@ -433,9 +427,7 @@ export async function startRepl(program, resumeMode) {
|
|
|
433
427
|
console.log(chalk.white(' scoreboard') + chalk.gray(' Live rankings'));
|
|
434
428
|
console.log(chalk.white(' help') + chalk.gray(' Full command list'));
|
|
435
429
|
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
436
|
-
|
|
437
|
-
// same beginner escape-hatch hint so newcomers don't get stuck.
|
|
438
|
-
console.log(chalk.gray(' Tip: ') + chalk.cyan('help') + chalk.gray(' · ') + chalk.cyan('tutorial') + chalk.gray(' 30-sec tour · ') + chalk.cyan('Ctrl+C') + chalk.gray(' pauses · ') + chalk.cyan('quit') + chalk.gray(' closes'));
|
|
430
|
+
console.log(chalk.gray(' Tip: ') + chalk.cyan('help') + chalk.gray(' · ') + chalk.cyan('Ctrl+C') + chalk.gray(' pauses · ') + chalk.cyan('quit') + chalk.gray(' closes'));
|
|
439
431
|
console.log();
|
|
440
432
|
}
|
|
441
433
|
else if (activated) {
|
|
@@ -450,7 +442,7 @@ export async function startRepl(program, resumeMode) {
|
|
|
450
442
|
console.log(chalk.white(' Step 2 ') + chalk.bold.cyan('challenges') + chalk.gray(' Browse & solve challenges'));
|
|
451
443
|
console.log(chalk.white(' Step 3 ') + chalk.bold.cyan('hint') + chalk.gray(' Ask AI when stuck'));
|
|
452
444
|
console.log();
|
|
453
|
-
console.log(chalk.gray(' Also: ') + chalk.white('env') + chalk.gray(' check tools ') + chalk.white('help') + chalk.gray(' all commands
|
|
445
|
+
console.log(chalk.gray(' Also: ') + chalk.white('env') + chalk.gray(' check tools ') + chalk.white('help') + chalk.gray(' all commands'));
|
|
454
446
|
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
455
447
|
console.log(chalk.gray(' Tip: ') + chalk.cyan('Ctrl+C') + chalk.gray(' pauses · ') + chalk.cyan('exit') + chalk.gray(' → menu · ') + chalk.cyan('quit') + chalk.gray(' closes CLI'));
|
|
456
448
|
console.log();
|
|
@@ -468,7 +460,6 @@ export async function startRepl(program, resumeMode) {
|
|
|
468
460
|
console.log(chalk.white(' ref web') + chalk.gray(' Quick reference for Web'));
|
|
469
461
|
console.log(chalk.white(' env') + chalk.gray(' Check your tools'));
|
|
470
462
|
console.log(chalk.white(' help') + chalk.gray(' All available commands'));
|
|
471
|
-
console.log(chalk.white(' tutorial') + chalk.gray(' 30-second walkthrough for first-timers'));
|
|
472
463
|
console.log(chalk.gray(' ─────────────────────────────────────────────'));
|
|
473
464
|
console.log(chalk.gray(' Tip: ') + chalk.cyan('Ctrl+C') + chalk.gray(' pauses · ') + chalk.cyan('exit') + chalk.gray(' → menu · ') + chalk.cyan('quit') + chalk.gray(' closes CLI'));
|
|
474
465
|
console.log();
|