matex-cli 1.2.51 → 1.2.53

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/src/utils/tui.ts CHANGED
@@ -276,32 +276,32 @@ export class TUI {
276
276
  * Draw Ajay Vai's premium summary with a human chat bubble vibe
277
277
  */
278
278
  static drawSummaryBox(content: string) {
279
- const width = 74;
280
- const innerWidth = width - 6;
279
+ const width = Math.min(process.stdout.columns || 80, 74);
280
+ const innerWidth = width - 8;
281
281
  const magenta = chalk.hex('#ff69b4');
282
282
  const pinkBright = chalk.hex('#ff99cc');
283
283
  const pinkGlow = chalk.hex('#ffccee');
284
+ const gold = chalk.hex('#facc15');
284
285
 
285
286
  console.log();
286
- // Timestamp for chat realism
287
287
  const time = new Date().toLocaleTimeString('en-US', { hour: 'numeric', minute: '2-digit' });
288
- console.log(chalk.gray(` ╭─ [${time}] ──────────────────────────────`));
288
+ console.log(chalk.gray(` ╭── [ ${time} • CHAI TIME ☕ ] ──────────────────────────────`));
289
289
 
290
- // Header mimicking WhatsApp / iMessage chat interface
290
+ // Header mimicking WhatsApp / iMessage chat interface with a mission badge
291
291
  const headerText = '🚀 Ajay Vai';
292
- const typingText = chalk.italic.gray('sent you a message');
293
- console.log(` │ ${magenta.bold(headerText)} ${typingText}`);
292
+ const typingText = chalk.italic.gray('is summarizing the work...');
293
+ const missionBadge = chalk.bgHex('#ff69b4').white.bold(' THE MISSION ');
294
+ console.log(` │ ${magenta.bold(headerText)} ${typingText} ${missionBadge}`);
294
295
 
295
296
  // Chat bubble top
296
297
  console.log(pinkGlow(` ╭${'─'.repeat(width - 4)}╮`));
297
298
 
298
- // Content with chat bubble formatting
299
+ // Content
299
300
  const lines = content.split('\n');
300
301
  lines.forEach(line => {
301
302
  if (!line.trim()) return;
302
303
  const trimmed = line.trim();
303
304
 
304
- // Word wrap
305
305
  const words = trimmed.split(' ');
306
306
  let currentLine = '';
307
307
  const wrappedLines: string[] = [];
@@ -311,16 +311,15 @@ export class TUI {
311
311
  currentLine = currentLine ? currentLine + ' ' + word : word;
312
312
  } else {
313
313
  if (currentLine) wrappedLines.push(currentLine);
314
- currentLine = word.length > innerWidth ? word.substring(0, innerWidth) : word;
314
+ currentLine = word;
315
315
  }
316
316
  });
317
317
  if (currentLine) wrappedLines.push(currentLine);
318
318
 
319
319
  wrappedLines.forEach(wl => {
320
320
  const linePad = Math.max(0, innerWidth - wl.length);
321
- // Keep bullet formatting but tone down the robotic feel
322
321
  if (wl.startsWith('- ') || wl.startsWith('• ') || wl.match(/^\d+\./)) {
323
- console.log(pinkGlow(' │ ') + magenta(' ') + chalk.white(wl.replace(/^[-•]\s*/, '').replace(/^\d+\.\s*/, '')) + ' '.repeat(Math.max(0, linePad - 2)) + pinkGlow(' │'));
322
+ console.log(pinkGlow(' │ ') + gold(' ') + chalk.white(wl.replace(/^[-•]\s*/, '').replace(/^\d+\.\s*/, '')) + ' '.repeat(Math.max(0, linePad - 3)) + pinkGlow(' │'));
324
323
  } else {
325
324
  console.log(pinkGlow(' │ ') + chalk.white(wl) + ' '.repeat(linePad) + pinkGlow(' │'));
326
325
  }
@@ -329,7 +328,7 @@ export class TUI {
329
328
 
330
329
  // Chat bubble bottom
331
330
  console.log(pinkGlow(` ╰${'─'.repeat(width - 4)}╯`));
332
- console.log(chalk.gray(` ╰──────────────────────────────────────────`));
331
+ console.log(chalk.gray(` ╰───── [ "If you can dream it, you can build it." ] ───────`));
333
332
  console.log();
334
333
  }
335
334