grokcodecli 0.1.2 → 0.1.4

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.
@@ -33,7 +33,8 @@
33
33
  "Bash(npm cache clean:*)",
34
34
  "Bash(npm install:*)",
35
35
  "Bash(grok --version:*)",
36
- "Bash(npm view:*)"
36
+ "Bash(npm view:*)",
37
+ "Bash(XAI_API_KEY=\"xai-TGckGPUWCb2JDfZu7autGWhnpqJqA8YJI5ZY6wp2X5rRed2Dko27UC5DwS9UsfKdSFGgxdToLrviILPu\" node -e \"\nconst { GrokChat } = require\\(''/home/papapratlinux/.npm-global/lib/node_modules/grokcodecli/dist/conversation/chat.js''\\);\n\")"
37
38
  ]
38
39
  }
39
40
  }
package/dist/cli.js CHANGED
@@ -18,7 +18,7 @@ program
18
18
  program
19
19
  .command('chat', { isDefault: true })
20
20
  .description('Start an interactive chat session')
21
- .option('-m, --model <model>', 'Grok model to use', 'grok-4-0709')
21
+ .option('-m, --model <model>', 'Grok model to use', 'grok-4-1-fast-reasoning')
22
22
  .option('-r, --resume [sessionId]', 'Resume a previous conversation')
23
23
  .action(async (options) => {
24
24
  const config = new ConfigManager();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as readline from 'readline';
4
4
  import { exec } from 'child_process';
5
5
  import { platform } from 'os';
6
6
  const defaults = {
7
- model: 'grok-4-0709',
7
+ model: 'grok-4-1-fast-reasoning',
8
8
  temperature: 0.7,
9
9
  maxTokens: 16384,
10
10
  autoApprove: [],
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class GrokChat {
17
17
  private tokenUsage;
18
18
  private sessionStartTime;
19
19
  private apiKey;
20
+ private static SLASH_COMMANDS;
20
21
  constructor(options: ChatOptions);
21
22
  start(): Promise<void>;
22
23
  resume(sessionId?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/conversation/chat.ts"],"names":[],"mappings":"AAmDA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,UAAU,CAAwE;IAC1F,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,WAAW;IAa1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCtB,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA0CjC,IAAI;YAsCJ,aAAa;YAqJb,aAAa;YAkBb,YAAY;YAoCZ,YAAY;YAeZ,YAAY;YAwBZ,YAAY;YAeZ,WAAW;IAyLzB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,SAAS;YASH,SAAS;IAsFvB,OAAO,CAAC,YAAY;YAiBN,WAAW;YAoBX,UAAU;YAmDV,YAAY;IA6B1B,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,QAAQ;YA+DF,cAAc;YAmBd,WAAW;YAoCX,oBAAoB;YAuFpB,eAAe;YAgGf,WAAW;IAOzB,OAAO,CAAC,aAAa;CAQtB"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/conversation/chat.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,UAAU,CAAwE;IAC1F,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAyB3B;gBAEU,OAAO,EAAE,WAAW;IAwB1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA0CjC,IAAI;YAsCJ,aAAa;YAqJb,aAAa;YAkBb,YAAY;YAoCZ,YAAY;YAeZ,YAAY;YAwBZ,YAAY;YAeZ,WAAW;IAiGzB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,SAAS;YASH,SAAS;IAsFvB,OAAO,CAAC,YAAY;YAiBN,WAAW;YAoBX,UAAU;YAmDV,YAAY;IA6B1B,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,QAAQ;YA+DF,cAAc;YAmBd,WAAW;YAoCX,oBAAoB;YAoFpB,eAAe;YAwEf,WAAW;IAOzB,OAAO,CAAC,aAAa;CAQtB"}
@@ -10,7 +10,7 @@ import { allTools, executeTool } from '../tools/registry.js';
10
10
  import { PermissionManager } from '../permissions/manager.js';
11
11
  import { HistoryManager } from './history.js';
12
12
  import { ConfigManager } from '../config/manager.js';
13
- import { drawBox, randomTip } from '../utils/ui.js';
13
+ import { interactiveSelect } from '../utils/selector.js';
14
14
  // Get version from package.json
15
15
  const __filename = fileURLToPath(import.meta.url);
16
16
  const __dirname = path.dirname(__filename);
@@ -58,12 +58,48 @@ export class GrokChat {
58
58
  tokenUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
59
59
  sessionStartTime = new Date();
60
60
  apiKey;
61
+ // All slash commands for autocomplete
62
+ static SLASH_COMMANDS = [
63
+ '/help', '/h',
64
+ '/clear', '/c',
65
+ '/save', '/s',
66
+ '/exit', '/q',
67
+ '/history',
68
+ '/resume',
69
+ '/rename',
70
+ '/export',
71
+ '/compact',
72
+ '/config',
73
+ '/model',
74
+ '/stream',
75
+ '/permissions',
76
+ '/status',
77
+ '/context',
78
+ '/cost',
79
+ '/usage',
80
+ '/doctor',
81
+ '/version',
82
+ '/init',
83
+ '/review',
84
+ '/terminal-setup',
85
+ '/add-dir',
86
+ '/pwd',
87
+ ];
61
88
  constructor(options) {
62
89
  this.apiKey = options.apiKey;
63
- this.client = new GrokClient(options.apiKey, options.model || 'grok-4-0709');
90
+ this.client = new GrokClient(options.apiKey, options.model || 'grok-4-1-fast-reasoning');
91
+ // Autocomplete function for slash commands
92
+ const completer = (line) => {
93
+ if (line.startsWith('/')) {
94
+ const hits = GrokChat.SLASH_COMMANDS.filter(cmd => cmd.startsWith(line));
95
+ return [hits.length ? hits : GrokChat.SLASH_COMMANDS, line];
96
+ }
97
+ return [[], line];
98
+ };
64
99
  this.rl = readline.createInterface({
65
100
  input: process.stdin,
66
101
  output: process.stdout,
102
+ completer,
67
103
  });
68
104
  this.permissions = new PermissionManager();
69
105
  this.permissions.setReadlineInterface(this.rl);
@@ -71,26 +107,11 @@ export class GrokChat {
71
107
  this.config = new ConfigManager();
72
108
  }
73
109
  async start() {
74
- // Beautiful welcome screen
75
- console.log(chalk.cyan(`
76
- ██████╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗
77
- ██╔════╝ ██╔══██╗██╔═══██╗██║ ██╔╝ ██╔════╝██╔═══██╗██╔══██╗██╔════╝
78
- ██║ ███╗██████╔╝██║ ██║█████╔╝ ██║ ██║ ██║██║ ██║█████╗
79
- ██║ ██║██╔══██╗██║ ██║██╔═██╗ ██║ ██║ ██║██║ ██║██╔══╝
80
- ╚██████╔╝██║ ██║╚██████╔╝██║ ██╗ ╚██████╗╚██████╔╝██████╔╝███████╗
81
- ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝`));
110
+ // Clean welcome like Claude Code
82
111
  console.log();
83
- console.log(drawBox([
84
- `${chalk.bold('Grok Code CLI')} ${chalk.gray(`v${VERSION}`)}`,
85
- '',
86
- `${chalk.gray('Model:')} ${chalk.green(this.client.model)}`,
87
- `${chalk.gray('CWD:')} ${chalk.blue(process.cwd())}`,
88
- `${chalk.gray('Tools:')} ${chalk.cyan('8 available')} ${chalk.gray('(Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch)')}`,
89
- '',
90
- `${chalk.gray('Commands:')} ${chalk.cyan('/help')} ${chalk.gray('•')} ${chalk.cyan('/model')} ${chalk.gray('•')} ${chalk.cyan('/doctor')} ${chalk.gray('•')} ${chalk.yellow('exit')}`,
91
- ], { borderColor: chalk.cyan, padding: 0 }));
92
- console.log();
93
- console.log(randomTip());
112
+ console.log(chalk.bold.cyan(' Grok Code') + chalk.dim(` v${VERSION}`));
113
+ console.log(chalk.dim(` ${this.client.model} ${process.cwd()}`));
114
+ console.log(chalk.dim(' Type /help for commands, Tab for autocomplete'));
94
115
  console.log();
95
116
  // Create new session
96
117
  this.session = await this.history.createSession(process.cwd());
@@ -385,8 +406,8 @@ export class GrokChat {
385
406
  console.log(chalk.gray(' Run `grok config` in terminal to modify.\n'));
386
407
  }
387
408
  async handleModel(modelName) {
388
- // Fetch latest models from xAI API dynamically
389
- console.log(chalk.gray('Fetching available models...\n'));
409
+ // Fetch latest models from xAI API
410
+ process.stdout.write(chalk.dim(' Fetching models...'));
390
411
  let availableModels = [];
391
412
  try {
392
413
  const response = await fetch('https://api.x.ai/v1/models', {
@@ -397,170 +418,77 @@ export class GrokChat {
397
418
  availableModels = data.data.map(m => m.id).sort();
398
419
  }
399
420
  else {
400
- // Fallback to known models if API fails
401
421
  availableModels = [
402
- 'grok-4-0709', 'grok-4-fast-reasoning', 'grok-4-fast-non-reasoning',
403
422
  'grok-4-1-fast-reasoning', 'grok-4-1-fast-non-reasoning',
404
- 'grok-3', 'grok-3-mini', 'grok-code-fast-1',
405
- 'grok-2-vision-1212', 'grok-2-image-1212',
423
+ 'grok-4-0709', 'grok-4-fast-reasoning', 'grok-4-fast-non-reasoning',
424
+ 'grok-3', 'grok-3-mini',
406
425
  ];
407
426
  }
408
427
  }
409
428
  catch {
410
- // Fallback to known models
411
429
  availableModels = [
412
- 'grok-4-0709', 'grok-4-fast-reasoning', 'grok-4-fast-non-reasoning',
413
- 'grok-3', 'grok-3-mini', 'grok-code-fast-1',
430
+ 'grok-4-1-fast-reasoning', 'grok-4-1-fast-non-reasoning',
431
+ 'grok-4-0709', 'grok-3', 'grok-3-mini',
414
432
  ];
415
433
  }
416
- if (!modelName) {
417
- console.log();
418
- console.log(chalk.cyan('╭──────────────────────────────────────────────────────────────────────╮'));
419
- console.log(chalk.cyan('│') + chalk.bold.cyan(' 🤖 Model Selection ') + chalk.cyan('│'));
420
- console.log(chalk.cyan('╰──────────────────────────────────────────────────────────────────────╯'));
421
- console.log();
422
- console.log(` ${chalk.gray('Current Model:')} ${chalk.bold.green(this.client.model)}`);
423
- console.log();
424
- // Better categorization
425
- const grok41Reasoning = [];
426
- const grok41NonReasoning = [];
427
- const grok4Reasoning = [];
428
- const grok4NonReasoning = [];
429
- const grok4Other = [];
430
- const grok3 = [];
431
- const grok2 = [];
432
- const specialized = [];
433
- for (const model of availableModels) {
434
- if (model.startsWith('grok-4-1')) {
435
- if (model.includes('non-reasoning')) {
436
- grok41NonReasoning.push(model);
437
- }
438
- else if (model.includes('reasoning')) {
439
- grok41Reasoning.push(model);
440
- }
441
- }
442
- else if (model.startsWith('grok-4')) {
443
- if (model.includes('non-reasoning')) {
444
- grok4NonReasoning.push(model);
445
- }
446
- else if (model.includes('reasoning')) {
447
- grok4Reasoning.push(model);
448
- }
449
- else {
450
- grok4Other.push(model);
451
- }
452
- }
453
- else if (model.startsWith('grok-3')) {
454
- grok3.push(model);
455
- }
456
- else if (model.startsWith('grok-2')) {
457
- grok2.push(model);
458
- }
459
- else if (model.includes('code') || model.includes('vision') || model.includes('image')) {
460
- specialized.push(model);
461
- }
462
- }
463
- // Display Grok 4.1 (Latest)
464
- if (grok41Reasoning.length > 0 || grok41NonReasoning.length > 0) {
465
- console.log(chalk.bold.magenta(' ⭐ Grok 4.1 (Latest)'));
466
- console.log(chalk.gray(' ─────────────────────────────────────────────────────────────────'));
467
- for (const model of grok41Reasoning) {
468
- const current = model === this.client.model ? chalk.green(' ← current') : '';
469
- console.log(` ${chalk.green('🧠')} ${chalk.green(model)}${current} ${chalk.yellow('[REASONING]')}`);
470
- }
471
- for (const model of grok41NonReasoning) {
472
- const current = model === this.client.model ? chalk.green(' ← current') : '';
473
- console.log(` ${chalk.cyan('⚡')} ${model}${current} ${chalk.gray('[FAST]')}`);
474
- }
475
- console.log();
476
- }
477
- // Display Grok 4
478
- if (grok4Reasoning.length > 0 || grok4NonReasoning.length > 0 || grok4Other.length > 0) {
479
- console.log(chalk.bold.cyan(' 🚀 Grok 4'));
480
- console.log(chalk.gray(' ─────────────────────────────────────────────────────────────────'));
481
- for (const model of grok4Other) {
482
- const current = model === this.client.model ? chalk.green(' ← current') : '';
483
- console.log(` ${chalk.cyan('•')} ${model}${current} ${chalk.gray('(recommended)')}`);
484
- }
485
- for (const model of grok4Reasoning) {
486
- const current = model === this.client.model ? chalk.green(' ← current') : '';
487
- console.log(` ${chalk.green('🧠')} ${chalk.green(model)}${current} ${chalk.yellow('[REASONING]')}`);
488
- }
489
- for (const model of grok4NonReasoning) {
490
- const current = model === this.client.model ? chalk.green(' ← current') : '';
491
- console.log(` ${chalk.cyan('⚡')} ${model}${current} ${chalk.gray('[FAST]')}`);
492
- }
493
- console.log();
494
- }
495
- // Display Grok 3
496
- if (grok3.length > 0) {
497
- console.log(chalk.bold.blue(' 📦 Grok 3'));
498
- console.log(chalk.gray(' ─────────────────────────────────────────────────────────────────'));
499
- for (const model of grok3) {
500
- const current = model === this.client.model ? chalk.green(' ← current') : '';
501
- console.log(` ${chalk.cyan('•')} ${model}${current}`);
502
- }
503
- console.log();
504
- }
505
- // Display Grok 2
506
- if (grok2.length > 0) {
507
- console.log(chalk.bold.gray(' 📷 Grok 2 (Vision/Image)'));
508
- console.log(chalk.gray(' ─────────────────────────────────────────────────────────────────'));
509
- for (const model of grok2) {
510
- const current = model === this.client.model ? chalk.green(' ← current') : '';
511
- console.log(` ${chalk.cyan('•')} ${model}${current}`);
434
+ process.stdout.write('\r\x1B[K'); // Clear the "Fetching" line
435
+ // If model name provided directly, switch to it
436
+ if (modelName) {
437
+ let matchedModel = modelName;
438
+ if (!availableModels.includes(modelName)) {
439
+ // Normalize: "grok41" → "grok-4-1", "4.1" → "4-1"
440
+ const normalized = modelName.toLowerCase()
441
+ .replace(/grok\s*(\d)(\d)?/g, (_, d1, d2) => d2 ? `grok-${d1}-${d2}` : `grok-${d1}`)
442
+ .replace(/(\d+)\.(\d+)/g, '$1-$2')
443
+ .replace(/\s+/g, '-');
444
+ const partialMatch = availableModels.find(m => m.toLowerCase().includes(normalized)) ||
445
+ availableModels.find(m => m.toLowerCase().includes(modelName.toLowerCase()));
446
+ if (partialMatch) {
447
+ matchedModel = partialMatch;
512
448
  }
513
- console.log();
514
- }
515
- // Display Specialized
516
- if (specialized.length > 0) {
517
- console.log(chalk.bold.yellow(' 🔧 Specialized'));
518
- console.log(chalk.gray(' ─────────────────────────────────────────────────────────────────'));
519
- for (const model of specialized) {
520
- const current = model === this.client.model ? chalk.green(' ← current') : '';
521
- console.log(` ${chalk.cyan('•')} ${model}${current}`);
449
+ else {
450
+ console.log(chalk.red(` Unknown model: ${modelName}`));
451
+ return;
522
452
  }
523
- console.log();
524
453
  }
525
- console.log(chalk.gray(` ${availableModels.length} models available Use /model <name> to switch`));
526
- console.log(chalk.gray(' 🧠 = Reasoning (best for complex tasks) • ⚡ = Fast (quick responses)'));
527
- console.log();
454
+ this.client = new GrokClient(this.apiKey, matchedModel);
455
+ console.log(chalk.green(` Switched to ${matchedModel}`));
528
456
  return;
529
457
  }
530
- // Allow partial matching with normalization
531
- let matchedModel = modelName;
532
- if (!availableModels.includes(modelName)) {
533
- // Normalize input:
534
- // "grok41" "grok-4-1", "grok4" → "grok-4", "grok 3" → "grok-3"
535
- // "4.1" "4-1", "grok 4 1" → "grok-4-1"
536
- let normalized = modelName.toLowerCase()
537
- .replace(/grok\s*(\d)(\d)?(\d)?/g, (_, d1, d2, d3) => {
538
- if (d3)
539
- return `grok-${d1}-${d2}-${d3}`;
540
- if (d2)
541
- return `grok-${d1}-${d2}`;
542
- return `grok-${d1}`;
543
- })
544
- .replace(/(\d+)\.(\d+)/g, '$1-$2') // "4.1" "4-1"
545
- .replace(/\s+/g, '-'); // spaces to hyphens
546
- // Try to find a match
547
- let partialMatch = availableModels.find(m => m.toLowerCase().includes(normalized));
548
- // If no match, try the original input
549
- if (!partialMatch) {
550
- partialMatch = availableModels.find(m => m.toLowerCase().includes(modelName.toLowerCase()));
551
- }
552
- if (partialMatch) {
553
- matchedModel = partialMatch;
554
- console.log(chalk.gray(`Matched: ${matchedModel}`));
555
- }
556
- else {
557
- console.log(chalk.red(`Unknown model: ${modelName}\n`));
558
- console.log(chalk.gray('Use /model to see available models.\n'));
559
- return;
560
- }
458
+ // Build options for interactive selector - prioritize Grok 4.1
459
+ const options = [];
460
+ // Categorize models
461
+ const grok41 = availableModels.filter(m => m.startsWith('grok-4-1'));
462
+ const grok4 = availableModels.filter(m => m.startsWith('grok-4') && !m.startsWith('grok-4-1'));
463
+ const grok3 = availableModels.filter(m => m.startsWith('grok-3'));
464
+ const others = availableModels.filter(m => !m.startsWith('grok-4') && !m.startsWith('grok-3'));
465
+ // Add Grok 4.1 first (latest)
466
+ for (const model of grok41) {
467
+ const desc = model.includes('non-reasoning') ? 'fast' : model.includes('reasoning') ? 'reasoning' : '';
468
+ options.push({ label: model, value: model, description: desc });
469
+ }
470
+ // Add Grok 4
471
+ for (const model of grok4) {
472
+ const desc = model.includes('non-reasoning') ? 'fast' : model.includes('reasoning') ? 'reasoning' : '';
473
+ options.push({ label: model, value: model, description: desc });
474
+ }
475
+ // Add Grok 3
476
+ for (const model of grok3) {
477
+ options.push({ label: model, value: model });
478
+ }
479
+ // Add others
480
+ for (const model of others) {
481
+ options.push({ label: model, value: model });
482
+ }
483
+ console.log();
484
+ const selected = await interactiveSelect('Select model:', options, this.client.model);
485
+ if (selected && selected !== this.client.model) {
486
+ this.client = new GrokClient(this.apiKey, selected);
487
+ console.log(chalk.green(` ✓ Switched to ${selected}`));
488
+ }
489
+ else if (!selected) {
490
+ console.log(chalk.dim(' Cancelled'));
561
491
  }
562
- this.client = new GrokClient(this.apiKey, matchedModel);
563
- console.log(chalk.green(`✓ Switched to model: ${matchedModel}\n`));
564
492
  }
565
493
  handlePermissions() {
566
494
  console.log(chalk.cyan('\n🔐 Permission Settings\n'));
@@ -965,9 +893,8 @@ Start by checking git status and recent changes, then provide specific, actionab
965
893
  }
966
894
  }
967
895
  async getStreamingResponse() {
968
- // Show thinking indicator
969
- process.stdout.write(chalk.cyan('\n╭─ ') + chalk.bold.cyan('Grok') + chalk.cyan(' ─────────────────────────────────────────────────────────────╮\n'));
970
- process.stdout.write(chalk.cyan('│ ') + chalk.gray('⠋ thinking...'));
896
+ // Simple thinking indicator like Claude Code
897
+ process.stdout.write('\n' + chalk.dim(' Thinking...'));
971
898
  let fullContent = '';
972
899
  let toolCalls = [];
973
900
  let currentToolCall = null;
@@ -977,8 +904,8 @@ Start by checking git status and recent changes, then provide specific, actionab
977
904
  const delta = chunk.choices[0]?.delta;
978
905
  if (delta?.content) {
979
906
  if (firstChunk) {
980
- // Clear thinking indicator and start content
981
- process.stdout.write('\r' + chalk.cyan(' ') + ' '.repeat(50) + '\r' + chalk.cyan('│ '));
907
+ // Clear thinking indicator
908
+ process.stdout.write('\r' + ' '.repeat(20) + '\r\n');
982
909
  firstChunk = false;
983
910
  }
984
911
  process.stdout.write(delta.content);
@@ -1012,14 +939,12 @@ Start by checking git status and recent changes, then provide specific, actionab
1012
939
  if (currentToolCall && currentToolCall.id) {
1013
940
  toolCalls.push(currentToolCall);
1014
941
  }
1015
- // Close the response box
942
+ // End response
1016
943
  if (fullContent) {
1017
- console.log();
1018
- console.log(chalk.cyan('╰──────────────────────────────────────────────────────────────────────╯'));
944
+ console.log('\n');
1019
945
  }
1020
- else if (toolCalls.length > 0) {
1021
- process.stdout.write('\r' + chalk.cyan(' ') + chalk.gray('Using tools...') + ' '.repeat(40) + '\n');
1022
- console.log(chalk.cyan('╰──────────────────────────────────────────────────────────────────────╯'));
946
+ else if (toolCalls.length > 0 && firstChunk) {
947
+ process.stdout.write('\r' + ' '.repeat(20) + '\r');
1023
948
  }
1024
949
  // Build the message for history
1025
950
  const message = {
@@ -1075,58 +1000,38 @@ Start by checking git status and recent changes, then provide specific, actionab
1075
1000
  });
1076
1001
  return;
1077
1002
  }
1078
- // Show execution with beautiful box
1079
- const toolIcons = {
1080
- Read: '📖', Write: '✏️', Edit: '🔧', Bash: '⚡',
1081
- Glob: '🔍', Grep: '🔎', WebFetch: '🌐', WebSearch: '🔍'
1082
- };
1083
- const toolColors = {
1084
- Read: chalk.green, Write: chalk.yellow, Edit: chalk.yellow, Bash: chalk.red,
1085
- Glob: chalk.green, Grep: chalk.green, WebFetch: chalk.green, WebSearch: chalk.green
1086
- };
1087
- const icon = toolIcons[name] || '🔧';
1088
- const color = toolColors[name] || chalk.gray;
1089
- console.log();
1090
- console.log(color('┌─ ') + chalk.bold(`${icon} ${name}`) + color(' ─────────────────────────────────────────────────'));
1091
- // Show details based on tool type
1003
+ // Simple tool display like Claude Code
1004
+ let toolInfo = '';
1092
1005
  if (name === 'Bash') {
1093
- console.log(color('│ ') + chalk.gray('$') + ' ' + chalk.white(params.command));
1006
+ toolInfo = chalk.dim('$ ') + params.command.slice(0, 60);
1007
+ }
1008
+ else if (name === 'Read') {
1009
+ toolInfo = params.file_path;
1010
+ }
1011
+ else if (name === 'Write') {
1012
+ toolInfo = params.file_path;
1094
1013
  }
1095
- else if (name === 'Read' || name === 'Write' || name === 'Edit') {
1096
- console.log(color('│ ') + chalk.gray('File:') + ' ' + chalk.cyan(params.file_path));
1014
+ else if (name === 'Edit') {
1015
+ toolInfo = params.file_path;
1097
1016
  }
1098
- else if (name === 'Glob' || name === 'Grep') {
1099
- console.log(color('│ ') + chalk.gray('Pattern:') + ' ' + chalk.cyan(params.pattern));
1017
+ else if (name === 'Glob') {
1018
+ toolInfo = params.pattern;
1019
+ }
1020
+ else if (name === 'Grep') {
1021
+ toolInfo = params.pattern;
1100
1022
  }
1101
1023
  else if (name === 'WebFetch') {
1102
- console.log(color('│ ') + chalk.gray('URL:') + ' ' + chalk.cyan(params.url));
1024
+ toolInfo = params.url.slice(0, 50);
1103
1025
  }
1104
1026
  else if (name === 'WebSearch') {
1105
- console.log(color('│ ') + chalk.gray('Query:') + ' ' + chalk.cyan(params.query));
1027
+ toolInfo = params.query;
1106
1028
  }
1029
+ console.log(chalk.dim(' ● ') + chalk.cyan(name) + chalk.dim(' ' + toolInfo));
1107
1030
  // Execute
1108
1031
  const result = await executeTool(name, params);
1109
- if (result.success) {
1110
- console.log(color(''));
1111
- console.log(color('│ ') + chalk.green('✓ Success'));
1112
- if (result.output && result.output.length < 500) {
1113
- const lines = result.output.split('\n').slice(0, 10);
1114
- for (const line of lines) {
1115
- console.log(color('│ ') + chalk.gray(line.slice(0, 80)));
1116
- }
1117
- if (result.output.split('\n').length > 10) {
1118
- console.log(color('│ ') + chalk.gray('... (truncated)'));
1119
- }
1120
- }
1121
- else if (result.output) {
1122
- console.log(color('│ ') + chalk.gray(result.output.slice(0, 200) + '... (truncated)'));
1123
- }
1124
- }
1125
- else {
1126
- console.log(color('│'));
1127
- console.log(color('│ ') + chalk.red('✗ Failed: ') + chalk.red(result.error || 'Unknown error'));
1032
+ if (!result.success) {
1033
+ console.log(chalk.red('') + chalk.red(result.error || 'Failed'));
1128
1034
  }
1129
- console.log(color('└──────────────────────────────────────────────────────────────────────'));
1130
1035
  this.messages.push({
1131
1036
  role: 'tool',
1132
1037
  tool_call_id: toolCall.id,