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.
Files changed (2) hide show
  1. package/dist/repl.js +5 -14
  2. 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('·')} ${chalk.green('K-12 recommended')} ${chalk.gray('demo, exam, lightweight')}`, value: 'selection' },
241
- { name: ` ${chalk.bold('International Olympiad')} ${chalk.gray('·')} ${chalk.yellow('Advanced')} ${chalk.gray('CTF x AI (~500MB)')}`, value: 'olympiad' },
242
- { name: ` ${chalk.bold('National/Regional Partner')} ${chalk.gray('·')} ${chalk.cyan('Organizers')} ${chalk.gray(' token & competition mgmt')}`, value: 'organizer' },
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
- // T4-X1: parity with Selection-mode footer give Olympiad users the
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 ') + chalk.white('tutorial') + chalk.gray(' 30-sec tour'));
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();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icoa-cli",
3
- "version": "2.19.91",
3
+ "version": "2.19.92",
4
4
  "description": "ICOA CLI — The world's first CLI-native CTF competition terminal",
5
5
  "type": "module",
6
6
  "bin": {