erosolar-cli 1.7.82 → 1.7.84

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.
@@ -1,4 +1,5 @@
1
1
  import OpenAI from 'openai';
2
+ import { sanitizeErrorMessage, safeErrorMessage } from '../core/secretStore.js';
2
3
  // ============================================================================
3
4
  // Stream/Fetch Error Types for Detection
4
5
  // ============================================================================
@@ -29,14 +30,15 @@ export class ProviderStreamError extends Error {
29
30
  originalError;
30
31
  providerId;
31
32
  constructor(message, providerId, originalError, isRetryable = true) {
32
- super(message);
33
+ // SECURITY: Sanitize the error message to prevent token leakage
34
+ super(sanitizeErrorMessage(message));
33
35
  this.name = 'ProviderStreamError';
34
36
  this.providerId = providerId;
35
37
  this.originalError = originalError;
36
38
  this.isRetryable = isRetryable;
37
- // Preserve stack trace
39
+ // SECURITY: Sanitize stack trace to prevent token leakage
38
40
  if (originalError?.stack) {
39
- this.stack = `${this.stack}\nCaused by: ${originalError.stack}`;
41
+ this.stack = `${this.stack}\nCaused by: ${sanitizeErrorMessage(originalError.stack)}`;
40
42
  }
41
43
  }
42
44
  }
@@ -100,8 +102,9 @@ export class OpenAIChatCompletionsProvider {
100
102
  // Check if this is a recoverable error
101
103
  if (isRecoverableError(error) && attempt < this.maxRetries) {
102
104
  const delay = this.getBackoffDelay(attempt);
105
+ // SECURITY: Sanitize error message to prevent token leakage
103
106
  console.warn(`[${this.id}] ${operationName} failed (attempt ${attempt + 1}/${this.maxRetries + 1}): ` +
104
- `${lastError.message}. Retrying in ${Math.round(delay)}ms...`);
107
+ `${safeErrorMessage(lastError)}. Retrying in ${Math.round(delay)}ms...`);
105
108
  await this.sleep(delay);
106
109
  continue;
107
110
  }
@@ -118,6 +121,10 @@ export class OpenAIChatCompletionsProvider {
118
121
  model: this.model,
119
122
  messages: mapMessages(messages),
120
123
  tools: tools.length ? tools.map(mapTool) : undefined,
124
+ // Force tool usage when tools are available - prevents text-only rambling
125
+ tool_choice: tools.length ? 'auto' : undefined,
126
+ // Enable multiple tool calls in a single response
127
+ parallel_tool_calls: tools.length ? true : undefined,
121
128
  stream: false,
122
129
  };
123
130
  let completion;
@@ -163,8 +170,9 @@ export class OpenAIChatCompletionsProvider {
163
170
  toolCalls = (choice.message.tool_calls ?? []).map(mapToolCall);
164
171
  }
165
172
  catch (parseError) {
173
+ // SECURITY: Sanitize error message to prevent token leakage
166
174
  console.warn(`[${this.id}] Failed to parse tool calls, recovering: ` +
167
- `${parseError instanceof Error ? parseError.message : String(parseError)}`);
175
+ `${safeErrorMessage(parseError)}`);
168
176
  // Continue with empty tool calls rather than failing
169
177
  }
170
178
  const content = extractMessageContent(choice);
@@ -188,6 +196,10 @@ export class OpenAIChatCompletionsProvider {
188
196
  model: this.model,
189
197
  messages: mapMessages(messages),
190
198
  tools: tools.length ? tools.map(mapTool) : undefined,
199
+ // Force tool usage when tools are available - prevents text-only rambling
200
+ tool_choice: tools.length ? 'auto' : undefined,
201
+ // Enable multiple tool calls in a single response
202
+ parallel_tool_calls: tools.length ? true : undefined,
191
203
  stream: true,
192
204
  };
193
205
  const response = await this.client.chat.completions.create(request);
@@ -323,6 +335,8 @@ function mapTool(definition) {
323
335
  name: definition.name,
324
336
  description: definition.description,
325
337
  parameters,
338
+ // Enable strict schema validation for more reliable tool calls
339
+ strict: false, // Set to false to allow flexible schemas; true requires additionalProperties: false
326
340
  },
327
341
  };
328
342
  }
@@ -372,8 +386,9 @@ function mapToolCall(call) {
372
386
  parsed = recovered;
373
387
  }
374
388
  else {
375
- // Log warning for debugging but continue with empty args
376
- console.warn(`[tool-call] Failed to parse arguments for ${funcName}: ${rawArgs.slice(0, 100)}...`);
389
+ // SECURITY: Sanitize raw args to prevent token leakage (they could contain API keys in malformed requests)
390
+ const sanitizedArgs = sanitizeErrorMessage(rawArgs.slice(0, 100));
391
+ console.warn(`[tool-call] Failed to parse arguments for ${funcName}: ${sanitizedArgs}...`);
377
392
  }
378
393
  }
379
394
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"openaiChatCompletionsProvider.js","sourceRoot":"","sources":["../../src/providers/openaiChatCompletionsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openaiChatCompletionsProvider.js","sourceRoot":"","sources":["../../src/providers/openaiChatCompletionsProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webTools.d.ts","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,wBAAgB,cAAc,IAAI,cAAc,EAAE,CAiPjD"}
1
+ {"version":3,"file":"webTools.d.ts","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,wBAAgB,cAAc,IAAI,cAAc,EAAE,CAqPjD"}
@@ -1,6 +1,6 @@
1
1
  import * as https from 'node:https';
2
2
  import * as http from 'node:http';
3
- import { getSecretValue } from '../core/secretStore.js';
3
+ import { getSecretValue, safeErrorMessage, sanitizeErrorMessage } from '../core/secretStore.js';
4
4
  export function createWebTools() {
5
5
  return [
6
6
  {
@@ -59,7 +59,8 @@ ${markdown.slice(0, 5000)}${markdown.length > 5000 ? '\n\n... (content truncated
59
59
  Summary: This is the content fetched from the URL. In a full implementation, this would be processed by a small LLM to answer the specific prompt.`;
60
60
  }
61
61
  catch (error) {
62
- return `Error fetching URL: ${error instanceof Error ? error.message : String(error)}`;
62
+ // SECURITY: Sanitize error message to prevent token leakage
63
+ return `Error fetching URL: ${safeErrorMessage(error)}`;
63
64
  }
64
65
  },
65
66
  },
@@ -118,7 +119,8 @@ Usage notes:
118
119
  });
119
120
  if (!response.ok) {
120
121
  const errorText = await response.text().catch(() => '');
121
- throw new Error(`Tavily Extract returned HTTP ${response.status}: ${errorText}`);
122
+ // SECURITY: Sanitize error text to prevent token leakage
123
+ throw new Error(`Tavily Extract returned HTTP ${response.status}: ${sanitizeErrorMessage(errorText)}`);
122
124
  }
123
125
  const payload = (await response.json());
124
126
  const results = payload.results || [];
@@ -149,7 +151,8 @@ Usage notes:
149
151
  return output.trim();
150
152
  }
151
153
  catch (error) {
152
- return `Error extracting content: ${error instanceof Error ? error.message : String(error)}`;
154
+ // SECURITY: Sanitize error message to prevent token leakage
155
+ return `Error extracting content: ${safeErrorMessage(error)}`;
153
156
  }
154
157
  },
155
158
  },
@@ -220,7 +223,8 @@ Usage notes:
220
223
  return formatSearchResults(query, results, provider.label, allowed, blocked);
221
224
  }
222
225
  catch (error) {
223
- return `Error performing web search: ${error instanceof Error ? error.message : String(error)}`;
226
+ // SECURITY: Sanitize error message to prevent token leakage
227
+ return `Error performing web search: ${safeErrorMessage(error)}`;
224
228
  }
225
229
  },
226
230
  },
@@ -322,7 +326,8 @@ async function performTavilySearch(params, apiKey) {
322
326
  });
323
327
  if (!response.ok) {
324
328
  const errorText = await response.text().catch(() => '');
325
- throw new Error(`Tavily Search returned HTTP ${response.status}: ${errorText}`);
329
+ // SECURITY: Sanitize error text to prevent token leakage
330
+ throw new Error(`Tavily Search returned HTTP ${response.status}: ${sanitizeErrorMessage(errorText)}`);
326
331
  }
327
332
  const payload = (await response.json());
328
333
  const entries = Array.isArray(payload?.results) ? payload.results : [];
@@ -1 +1 @@
1
- {"version":3,"file":"webTools.js","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webTools.js","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"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"}
@@ -127,17 +127,25 @@ export declare class Display {
127
127
  showError(message: string, error?: unknown): void;
128
128
  showWarning(message: string): void;
129
129
  showInfo(message: string): void;
130
+ /**
131
+ * Show a success message with enhanced styling
132
+ */
133
+ showSuccess(message: string): void;
134
+ /**
135
+ * Show a stylish progress indicator for long operations
136
+ */
137
+ showProgressBadge(label: string, current: number, total: number): void;
130
138
  showStatusLine(status: string, elapsedMs?: number, context?: StatusLineContextInfo): void;
131
139
  showAvailableTools(_tools: Array<{
132
140
  name: string;
133
141
  description: string;
134
142
  }>): void;
135
143
  /**
136
- * Show ready message with keyboard shortcuts hint (Claude Code style)
144
+ * Show ready message with keyboard shortcuts hint (enhanced graphics)
137
145
  */
138
146
  showReadyWithHints(): void;
139
147
  /**
140
- * Show available providers and their status on launch
148
+ * Show available providers and their status on launch with enhanced graphics
141
149
  */
142
150
  showProvidersStatus(providers: Array<{
143
151
  provider: string;
@@ -183,6 +191,10 @@ export declare class Display {
183
191
  private formatContextSummary;
184
192
  private formatElapsed;
185
193
  private buildClaudeStyleBanner;
194
+ /**
195
+ * Center text within a given width
196
+ */
197
+ private centerText;
186
198
  private abbreviatePath;
187
199
  private buildBanner;
188
200
  private buildBannerOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/ui/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/ui/display.ts"],"names":[],"mappings":"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"}
@@ -154,7 +154,8 @@ const DISPLAY_CONSTANTS = {
154
154
  MIN_WRAP_WIDTH: 12,
155
155
  SPINNER_INTERVAL: 80,
156
156
  };
157
- const SPINNER_FRAMES = ['∴', 'ε', '∴', '✻', 'ε', '✻'];
157
+ // Enhanced spinner frames with smooth animation
158
+ const SPINNER_FRAMES = ['◐', '◓', '◑', '◒', '⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
158
159
  const INDEPENDENT_SECURITY_MANDATE = 'Independent security research CLI for third-party, ethics-reviewed assessments and vulnerability discovery.';
159
160
  /**
160
161
  * Display class manages all terminal UI output for the application.
@@ -616,6 +617,44 @@ export class Display {
616
617
  this.writeLine(callout);
617
618
  });
618
619
  }
620
+ /**
621
+ * Show a success message with enhanced styling
622
+ */
623
+ showSuccess(message) {
624
+ this.clearSpinnerIfActive();
625
+ const box = { tl: '╭', tr: '╮', bl: '╰', br: '╯', h: '─', v: '│' };
626
+ const width = Math.min(this.getColumnWidth() - 4, 60);
627
+ const innerWidth = width - 2;
628
+ const icon = '✓';
629
+ const title = ` ${icon} Success `;
630
+ const headerPad = Math.floor((innerWidth - title.length) / 2);
631
+ this.withOutput(() => {
632
+ this.writeLine(theme.success(`${box.tl}${box.h.repeat(headerPad)}${title}${box.h.repeat(innerWidth - headerPad - title.length)}${box.tr}`));
633
+ const msgLines = this.wrapLine(message, innerWidth - 2);
634
+ for (const line of msgLines) {
635
+ const padding = Math.max(0, innerWidth - line.length - 1);
636
+ this.writeLine(`${theme.success(box.v)} ${line}${' '.repeat(padding)}${theme.success(box.v)}`);
637
+ }
638
+ this.writeLine(theme.success(`${box.bl}${box.h.repeat(innerWidth)}${box.br}`));
639
+ });
640
+ }
641
+ /**
642
+ * Show a stylish progress indicator for long operations
643
+ */
644
+ showProgressBadge(label, current, total) {
645
+ const percentage = Math.round((current / total) * 100);
646
+ const barWidth = 20;
647
+ const filled = Math.round((current / total) * barWidth);
648
+ const empty = barWidth - filled;
649
+ const progressBar = `${'█'.repeat(filled)}${'░'.repeat(empty)}`;
650
+ const badge = `[${label}] ${progressBar} ${percentage}%`;
651
+ this.withOutput(() => {
652
+ this.write(`\r${theme.info(badge)}`);
653
+ if (current >= total) {
654
+ this.writeLine();
655
+ }
656
+ });
657
+ }
619
658
  showStatusLine(status, elapsedMs, context) {
620
659
  this.clearSpinnerIfActive();
621
660
  const normalized = status?.trim();
@@ -654,18 +693,34 @@ export class Display {
654
693
  // Parameter prefixed with underscore to indicate intentionally unused
655
694
  }
656
695
  /**
657
- * Show ready message with keyboard shortcuts hint (Claude Code style)
696
+ * Show ready message with keyboard shortcuts hint (enhanced graphics)
658
697
  */
659
698
  showReadyWithHints() {
660
699
  const cols = getTerminalColumns();
661
- const separatorLine = theme.ui.border('─'.repeat(Math.min(cols - 2, 72)));
700
+ const width = Math.min(cols - 4, 72);
701
+ // Decorative ready banner
702
+ const readyIcon = '⚡';
703
+ const readyText = ` ${readyIcon} READY ${readyIcon} `;
704
+ const leftDecor = '═'.repeat(Math.floor((width - readyText.length) / 2));
705
+ const rightDecor = '═'.repeat(width - leftDecor.length - readyText.length);
662
706
  this.withOutput(() => {
663
- this.writeLine(theme.success('Ready'));
664
- this.writeLine(separatorLine);
707
+ this.writeLine();
708
+ this.writeLine(theme.gradient.success(`${leftDecor}${readyText}${rightDecor}`));
709
+ this.writeLine();
710
+ // Keyboard shortcuts hint (compact)
711
+ const hints = [
712
+ `${theme.ui.muted('Type')} ${theme.accent('/help')} ${theme.ui.muted('for commands')}`,
713
+ `${theme.ui.muted('or')} ${theme.accent('/model')} ${theme.ui.muted('to switch AI')}`,
714
+ ];
715
+ this.writeLine(hints.join(' │ '));
716
+ this.writeLine();
717
+ // Decorative separator
718
+ const separator = theme.ui.border('─'.repeat(width));
719
+ this.writeLine(separator);
665
720
  });
666
721
  }
667
722
  /**
668
- * Show available providers and their status on launch
723
+ * Show available providers and their status on launch with enhanced graphics
669
724
  */
670
725
  showProvidersStatus(providers) {
671
726
  const available = providers.filter(p => p.available);
@@ -673,26 +728,46 @@ export class Display {
673
728
  if (available.length === 0 && unavailable.length === 0) {
674
729
  return;
675
730
  }
731
+ const box = { tl: '╭', tr: '╮', bl: '╰', br: '╯', h: '─', v: '│' };
732
+ const cols = this.getColumnWidth();
733
+ const boxWidth = Math.min(cols - 4, 80);
734
+ const innerWidth = boxWidth - 2;
676
735
  this.withOutput(() => {
677
- // Show available providers
736
+ // Provider status box header
737
+ const header = ` 🔌 Active Providers `;
738
+ const headerPadding = Math.floor((innerWidth - header.length) / 2);
739
+ const topLine = `${box.tl}${box.h.repeat(headerPadding)}${header}${box.h.repeat(innerWidth - headerPadding - header.length)}${box.tr}`;
740
+ this.writeLine(theme.info(topLine));
741
+ // Show available providers with status badges
678
742
  if (available.length > 0) {
679
- const providerList = available
680
- .map(p => {
681
- const name = theme.success(p.provider);
682
- const model = theme.ui.muted(`(${p.latestModel})`);
683
- return `${name} ${model}`;
684
- })
685
- .join(theme.ui.muted(' | '));
686
- this.writeLine(theme.ui.muted(`${icons.success} Providers: `) + providerList);
743
+ for (const p of available) {
744
+ const statusBadge = theme.success('●');
745
+ const providerName = theme.bold(p.provider.padEnd(12));
746
+ const modelName = theme.ui.muted(p.latestModel);
747
+ const line = ` ${statusBadge} ${providerName} ${modelName}`;
748
+ const padding = Math.max(0, innerWidth - this.visibleLength(line));
749
+ this.writeLine(`${theme.ui.muted(box.v)}${line}${' '.repeat(padding)}${theme.ui.muted(box.v)}`);
750
+ }
751
+ }
752
+ // Separator if there are unavailable providers
753
+ if (unavailable.length > 0 && available.length > 0) {
754
+ const sepLine = `${box.v}${theme.ui.muted(box.h.repeat(innerWidth))}${box.v}`;
755
+ this.writeLine(theme.ui.muted(sepLine));
687
756
  }
688
- // Show hints for unconfigured providers (condensed)
689
- if (unavailable.length > 0 && available.length < 3) {
690
- const hints = unavailable
691
- .slice(0, 3) // Show max 3 hints
692
- .map(p => theme.ui.muted(`${p.provider}: set ${p.error?.replace(' not set', '')}`))
693
- .join(theme.ui.muted(', '));
694
- this.writeLine(theme.ui.muted(`${icons.info} Add: `) + hints);
757
+ // Show unavailable providers (dimmed)
758
+ if (unavailable.length > 0) {
759
+ for (const p of unavailable.slice(0, 3)) {
760
+ const statusBadge = theme.ui.muted('○');
761
+ const providerName = theme.ui.muted(p.provider.padEnd(12));
762
+ const hint = theme.dim(`(${p.error || 'not configured'})`);
763
+ const line = ` ${statusBadge} ${providerName} ${hint}`;
764
+ const padding = Math.max(0, innerWidth - this.visibleLength(line));
765
+ this.writeLine(`${theme.ui.muted(box.v)}${line}${' '.repeat(padding)}${theme.ui.muted(box.v)}`);
766
+ }
695
767
  }
768
+ // Bottom border
769
+ const bottomLine = `${box.bl}${box.h.repeat(innerWidth)}${box.br}`;
770
+ this.writeLine(theme.info(bottomLine));
696
771
  this.writeLine();
697
772
  });
698
773
  }
@@ -1038,26 +1113,90 @@ export class Display {
1038
1113
  return `${seconds}s`;
1039
1114
  }
1040
1115
  buildClaudeStyleBanner(profileLabel, model, _provider, workingDir, width, version) {
1041
- const gradient = theme.gradient.cool;
1116
+ const gradientCool = theme.gradient.cool;
1117
+ const gradientWarm = theme.gradient.warm;
1042
1118
  const dim = theme.ui.muted;
1043
- // Build clean content without box characters
1119
+ const accent = theme.accent;
1120
+ const success = theme.success;
1121
+ const info = theme.info;
1122
+ // Box drawing characters for elegant frames
1123
+ const box = {
1124
+ tl: '╭', tr: '╮', bl: '╰', br: '╯',
1125
+ h: '─', v: '│', hDouble: '═',
1126
+ cross: '┼', tee: '├', teeR: '┤',
1127
+ };
1128
+ // ASCII art logo with gradient
1129
+ const logoLines = [
1130
+ ' ███████╗██████╗ ██████╗ ███████╗ ██████╗ ██╗ █████╗ ██████╗ ',
1131
+ ' ██╔════╝██╔══██╗██╔═══██╗██╔════╝██╔═══██╗██║ ██╔══██╗██╔══██╗',
1132
+ ' █████╗ ██████╔╝██║ ██║███████╗██║ ██║██║ ███████║██████╔╝',
1133
+ ' ██╔══╝ ██╔══██╗██║ ██║╚════██║██║ ██║██║ ██╔══██║██╔══██╗',
1134
+ ' ███████╗██║ ██║╚██████╔╝███████║╚██████╔╝███████╗██║ ██║██║ ██║',
1135
+ ' ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝',
1136
+ ];
1137
+ const effectiveWidth = Math.max(width, 76);
1138
+ const innerWidth = effectiveWidth - 2;
1044
1139
  const lines = [];
1045
- // Empty line for spacing
1046
- lines.push('');
1047
- // Title with version
1048
- const title = version ? `Erosolar CLI v${version}` : 'Erosolar CLI';
1049
- lines.push(gradient(title));
1050
- // Model name
1051
- lines.push(dim(model));
1052
- // Profile label
1053
- lines.push(dim(profileLabel));
1054
- // Workspace
1055
- const shortPath = this.abbreviatePath(workingDir, width - 8);
1056
- lines.push(dim(shortPath));
1057
- // Empty line for spacing
1058
- lines.push('');
1140
+ // Top border with gradient
1141
+ const topBorder = `${box.tl}${box.h.repeat(innerWidth)}${box.tr}`;
1142
+ lines.push(gradientCool(topBorder));
1143
+ // Empty line inside box
1144
+ lines.push(`${dim(box.v)}${' '.repeat(innerWidth)}${dim(box.v)}`);
1145
+ // ASCII Logo with gradient effect (each line)
1146
+ for (let i = 0; i < logoLines.length; i++) {
1147
+ const logoLine = logoLines[i] ?? '';
1148
+ const padding = Math.max(0, innerWidth - logoLine.length);
1149
+ const leftPad = Math.floor(padding / 2);
1150
+ const rightPad = padding - leftPad;
1151
+ // Alternate between cool and warm gradient for visual interest
1152
+ const gradientFn = i % 2 === 0 ? gradientCool : gradientWarm;
1153
+ const centeredLogo = `${' '.repeat(leftPad)}${logoLine}${' '.repeat(rightPad)}`;
1154
+ lines.push(`${dim(box.v)}${gradientFn(centeredLogo)}${dim(box.v)}`);
1155
+ }
1156
+ // Separator line with decorative elements
1157
+ const sepDecor = ` ${icons.sparkle} `;
1158
+ const sepLen = Math.floor((innerWidth - sepDecor.length) / 2);
1159
+ const separator = `${box.h.repeat(sepLen)}${sepDecor}${box.h.repeat(innerWidth - sepLen - sepDecor.length)}`;
1160
+ lines.push(`${dim(box.tee)}${accent(separator)}${dim(box.teeR)}`);
1161
+ // Version and tagline
1162
+ const versionText = version ? `v${version}` : '';
1163
+ const tagline = '✨ AI-Powered Coding Agent Framework ✨';
1164
+ const versionLine = this.centerText(`${versionText} ${tagline}`, innerWidth);
1165
+ lines.push(`${dim(box.v)}${gradientWarm(versionLine)}${dim(box.v)}`);
1166
+ // Empty line
1167
+ lines.push(`${dim(box.v)}${' '.repeat(innerWidth)}${dim(box.v)}`);
1168
+ // Info section with icons
1169
+ const modelIcon = '🤖';
1170
+ const profileIcon = '👤';
1171
+ const folderIcon = '📁';
1172
+ const modelText = `${modelIcon} Model: ${model}`;
1173
+ const profileText = `${profileIcon} Agent: ${profileLabel}`;
1174
+ const shortPath = this.abbreviatePath(workingDir, innerWidth - 12);
1175
+ const workspaceText = `${folderIcon} Workspace: ${shortPath}`;
1176
+ // Calculate padding for alignment
1177
+ const maxInfoLen = Math.max(modelText.length, profileText.length, workspaceText.length);
1178
+ const infoPadding = Math.floor((innerWidth - maxInfoLen) / 2);
1179
+ const infoIndent = ' '.repeat(Math.max(2, infoPadding));
1180
+ lines.push(`${dim(box.v)}${infoIndent}${success(modelText)}${' '.repeat(Math.max(0, innerWidth - infoIndent.length - modelText.length))}${dim(box.v)}`);
1181
+ lines.push(`${dim(box.v)}${infoIndent}${info(profileText)}${' '.repeat(Math.max(0, innerWidth - infoIndent.length - profileText.length))}${dim(box.v)}`);
1182
+ lines.push(`${dim(box.v)}${infoIndent}${dim(workspaceText)}${' '.repeat(Math.max(0, innerWidth - infoIndent.length - workspaceText.length))}${dim(box.v)}`);
1183
+ // Empty line
1184
+ lines.push(`${dim(box.v)}${' '.repeat(innerWidth)}${dim(box.v)}`);
1185
+ // Bottom border with gradient
1186
+ const bottomBorder = `${box.bl}${box.h.repeat(innerWidth)}${box.br}`;
1187
+ lines.push(gradientCool(bottomBorder));
1059
1188
  return lines.join('\n');
1060
1189
  }
1190
+ /**
1191
+ * Center text within a given width
1192
+ */
1193
+ centerText(text, width) {
1194
+ const visibleLen = this.visibleLength(text);
1195
+ if (visibleLen >= width)
1196
+ return text;
1197
+ const padding = Math.floor((width - visibleLen) / 2);
1198
+ return `${' '.repeat(padding)}${text}${' '.repeat(width - padding - visibleLen)}`;
1199
+ }
1061
1200
  abbreviatePath(path, maxLen) {
1062
1201
  if (path.length <= maxLen)
1063
1202
  return path;