moderado 0.4.18 → 0.4.26

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.
@@ -16,6 +16,11 @@ export function stripAnsi(str) {
16
16
  function visibleLen(str) {
17
17
  return stripAnsi(str).length;
18
18
  }
19
+ function composerInputWindow(input, caret, width) {
20
+ const capacity = Math.max(1, width - 3);
21
+ const start = Math.max(0, Math.min(caret, input.length - capacity));
22
+ return { text: input.slice(start, start + capacity), caretColumn: caret - start };
23
+ }
19
24
  /** Card width: nearly full terminal width, like OpenCode/Cline. */
20
25
  export function getWelcomeCardWidth(width) {
21
26
  const terminalWidth = width ?? (process.stdout.columns || 80);
@@ -26,13 +31,28 @@ export function getWelcomeIndent(blockWidth, width) {
26
31
  const terminalWidth = width ?? (process.stdout.columns || 80);
27
32
  return Math.max(0, Math.floor((terminalWidth - blockWidth) / 2));
28
33
  }
29
- /** Center each line of a block independently (used for the ASCII logo / hints). */
34
+ /** Center each line of a block inside the input card's columns (used for the ASCII logo / hints). */
30
35
  function centerBlock(lines, width) {
36
+ const terminalWidth = width ?? (process.stdout.columns || 80);
37
+ const cardWidth = getWelcomeCardWidth(terminalWidth);
38
+ const cardIndent = getWelcomeIndent(cardWidth, terminalWidth);
31
39
  return lines.map((line) => {
32
- const pad = getWelcomeIndent(visibleLen(line), width);
33
- return ' '.repeat(pad) + line;
40
+ const pad = Math.max(0, Math.floor((cardWidth - visibleLen(line)) / 2));
41
+ return ' '.repeat(cardIndent + pad) + line;
34
42
  });
35
43
  }
44
+ /**
45
+ * Geometry of the answer area: it occupies the same columns as the composer
46
+ * card, so the question row, the streamed answer, and the input box all share
47
+ * one width instead of stretching across a wide terminal.
48
+ */
49
+ export function getChatAnswerArea(width) {
50
+ const terminalWidth = width ?? (process.stdout.columns || 80);
51
+ const cardWidth = getWelcomeCardWidth(terminalWidth);
52
+ const indent = getWelcomeIndent(cardWidth, terminalWidth);
53
+ const textWidth = Math.max(20, cardWidth - 2);
54
+ return { indent, cardWidth, textWidth, startColumn: indent + 1, wrapWidth: indent + textWidth };
55
+ }
36
56
  export function renderQueuedCommandsBox(commands, width) {
37
57
  if (!commands || commands.length === 0)
38
58
  return [];
@@ -63,7 +83,7 @@ export function renderWelcomeCard(options) {
63
83
  const width = getWelcomeCardWidth(options.width);
64
84
  const indent = ' '.repeat(getWelcomeIndent(width, options.width));
65
85
  const displayInput = options.input && options.input.length > 0
66
- ? options.input
86
+ ? composerInputWindow(options.input, options.inputCaret ?? options.input.length, width).text
67
87
  : '\x1b[38;5;242mAsk anything, I am all ears...\x1b[0m';
68
88
  const promptMarker = '\x1b[1;38;5;75m' + String.fromCodePoint(0x276F) + '\x1b[0;48;5;236m';
69
89
  const textBox = `${promptMarker} ${displayInput}`;
@@ -93,18 +113,21 @@ export function renderWelcomeCard(options) {
93
113
  const spaces4Count = Math.max(1, width - visibleLen(left4) - right4Raw.length);
94
114
  const line4 = left4 + ' '.repeat(spaces4Count) + right4;
95
115
  // Line 5: Working directory (left) ... model and Auto-approve (right)
96
- const shortWs = options.workspace.length > 36
97
- ? '...' + options.workspace.slice(-33)
116
+ const approvalLabelRaw = options.autoApprove
117
+ ? 'Auto-approve enabled (Shift+Tab)'
118
+ : 'Auto-approve off (Shift+Tab)';
119
+ const modelSpace = Math.max(8, width - approvalLabelRaw.length - 10);
120
+ const shortModel = options.model.length > modelSpace ? '...' + options.model.slice(-(modelSpace - 3)) : options.model;
121
+ const workspaceSpace = Math.max(3, width - approvalLabelRaw.length - shortModel.length - 2);
122
+ const shortWs = options.workspace.length > workspaceSpace
123
+ ? '...' + options.workspace.slice(-(workspaceSpace - 3))
98
124
  : options.workspace;
99
125
  const left5 = `\x1b[38;5;245m${shortWs}\x1b[0m`;
100
126
  const approvalLabel = options.autoApprove
101
127
  ? '\x1b[38;5;114mAuto-approve enabled (Shift+Tab)\x1b[0m'
102
128
  : '\x1b[38;5;242mAuto-approve off (Shift+Tab)\x1b[0m';
103
- const approvalLabelRaw = options.autoApprove
104
- ? 'Auto-approve enabled (Shift+Tab)'
105
- : 'Auto-approve off (Shift+Tab)';
106
- const modelLabel = `\x1b[38;5;180m${options.model}\x1b[0m`;
107
- const spaces5Count = Math.max(1, width - shortWs.length - options.model.length - approvalLabelRaw.length - 2);
129
+ const modelLabel = `\x1b[38;5;180m${shortModel}\x1b[0m`;
130
+ const spaces5Count = Math.max(1, width - shortWs.length - shortModel.length - approvalLabelRaw.length - 1);
108
131
  const line5 = left5 + ' '.repeat(spaces5Count) + modelLabel + ' ' + approvalLabel;
109
132
  const cardLines = [];
110
133
  const queuedBox = renderQueuedCommandsBox(options.queuedCommands ?? [], width);
@@ -115,11 +138,11 @@ export function renderWelcomeCard(options) {
115
138
  if (!options.mentionFiles?.length && options.input?.startsWith('/')) {
116
139
  const matching = getMatchingCommands(options.input);
117
140
  if (matching.length)
118
- cardLines.push(...renderSuggestionsBox(matching, width).map(line => indent + line));
141
+ cardLines.push(...renderSuggestionsBox(matching, width, options.commandSelection ?? 0).map(line => indent + line));
119
142
  }
120
143
  cardLines.push(indent + surfaceLine(), indent + surfaceLine(textBox), indent + surfaceLine(), indent + line4, indent + line5);
121
144
  if (options.mentionFiles && options.mentionFiles.length > 0) {
122
- cardLines.push(...renderMentionSuggestionsBox(options.mentionFiles, options.mentionSelection ?? 0).map((line) => indent + line));
145
+ cardLines.push(...renderMentionSuggestionsBox(options.mentionFiles, options.mentionSelection ?? 0, width).map((line) => indent + line));
123
146
  }
124
147
  return cardLines.join('\n');
125
148
  }
@@ -153,60 +176,88 @@ export function selectCommandCandidate(input, currentIndex, direction) {
153
176
  const index = ((currentIndex + direction) % commands.length + commands.length) % commands.length;
154
177
  return commands[index];
155
178
  }
156
- export function renderSuggestionsBox(commands, width) {
179
+ export function renderSuggestionsBox(commands, width, selectedIndex = 0) {
157
180
  if (commands.length === 0)
158
181
  return [];
159
- const terminalWidth = width ?? (process.stdout?.columns || 80);
160
- const targetWidth = 82;
161
- const boxWidth = Math.max(78, Math.min(terminalWidth, targetWidth));
182
+ // Exactly the card width so the box shares the composer's columns instead of
183
+ // forcing its own (previously a 78–82 fixed width that escaped narrow cards).
184
+ const boxWidth = width ?? getWelcomeCardWidth(process.stdout?.columns || 80);
162
185
  const innerW = boxWidth - 4;
163
- const title = 'Commands (Press Tab to autocomplete)';
186
+ const title = 'Commands (↑↓ browse, Tab to insert)';
164
187
  const remainingDashes = Math.max(0, boxWidth - title.length - 5);
165
188
  const nameColWidth = 10;
166
189
  const availDescWidth = Math.max(20, innerW - nameColWidth - 2);
167
190
  const lines = [];
168
191
  lines.push('\x1b[38;5;240m╭─ \x1b[1;38;5;75m' + title + '\x1b[0;38;5;240m ' + '─'.repeat(remainingDashes) + '╮\x1b[0m');
169
- for (const cmd of commands) {
170
- const nameStr = `\x1b[1;38;5;75m${cmd.name.padEnd(nameColWidth)}\x1b[0m`;
192
+ for (const [index, cmd] of commands.entries()) {
193
+ const isSelected = index === selectedIndex;
171
194
  let desc = cmd.desc;
172
195
  if (desc.length > availDescWidth) {
173
196
  desc = desc.slice(0, availDescWidth - 1) + '…';
174
197
  }
175
- const descStr = `\x1b[38;5;244m${desc.padEnd(availDescWidth)}\x1b[0m`;
176
- lines.push(`\x1b[38;5;240m│\x1b[0m ${nameStr} ${descStr}\x1b[38;5;240m│\x1b[0m`);
198
+ const nameCell = cmd.name.padEnd(nameColWidth);
199
+ const descCell = desc.padEnd(availDescWidth);
200
+ if (isSelected) {
201
+ // Highlight bar matches the app's list popups: a ❯ cursor plus a dark
202
+ // background across the whole row, so the arrow-key selection is visible.
203
+ lines.push('\x1b[38;5;240m│\x1b[0m' +
204
+ '\x1b[48;5;236m\x1b[1;38;5;75m❯ ' + nameCell +
205
+ '\x1b[0;48;5;236;38;5;253m ' + descCell + '\x1b[0m' +
206
+ '\x1b[38;5;240m│\x1b[0m');
207
+ }
208
+ else {
209
+ lines.push('\x1b[38;5;240m│\x1b[0m' +
210
+ ' ' + `\x1b[1;38;5;75m${nameCell}\x1b[0m` + ' ' +
211
+ `\x1b[38;5;244m${descCell}\x1b[0m` +
212
+ '\x1b[38;5;240m│\x1b[0m');
213
+ }
177
214
  }
178
215
  lines.push('\x1b[38;5;240m╰' + '─'.repeat(boxWidth - 2) + '╯\x1b[0m');
179
216
  return lines;
180
217
  }
181
- export function renderMentionSuggestionsBox(files, selectedIndex = 0) {
218
+ export function renderMentionSuggestionsBox(files, selectedIndex = 0, width) {
182
219
  if (files.length === 0)
183
220
  return [];
221
+ // Sized to the composer card (like the queued/commands boxes) so it never
222
+ // breaks the card's left/right boundary.
223
+ const boxWidth = width ?? getWelcomeCardWidth(process.stdout?.columns || 80);
224
+ const title = 'Files (@ to mention, Tab to insert)';
184
225
  const lines = [];
185
- lines.push('\x1b[38;5;240m ╭─ Files (@ to mention, Tab to insert) ──────────────╮\x1b[0m');
226
+ const remainingDashes = Math.max(0, boxWidth - title.length - 5);
227
+ lines.push('\x1b[38;5;240m╭─ \x1b[1;38;5;75m' + title + '\x1b[0;38;5;240m ' + '─'.repeat(remainingDashes) + '╮\x1b[0m');
186
228
  for (let i = 0; i < files.length; i++) {
187
229
  const file = files[i];
188
230
  const isSelected = i === selectedIndex;
189
231
  const marker = isSelected ? '\x1b[1;38;5;75m❯ \x1b[0m' : ' ';
190
- const nameStr = isSelected ? `\x1b[1;38;5;75m@${file}\x1b[0m` : `\x1b[38;5;250m@${file}\x1b[0m`;
191
- const lineContent = `${marker}${nameStr}`;
192
- const plainLen = visibleLen(lineContent);
193
- const pad = Math.max(0, 52 - plainLen);
194
- lines.push(`\x1b[38;5;240m │\x1b[0m ${lineContent}${' '.repeat(pad)}\x1b[38;5;240m│\x1b[0m`);
232
+ // Visible budget: │ + space + marker(2) + label + pad + │ = boxWidth.
233
+ const labelCapacity = Math.max(4, boxWidth - 5);
234
+ let label = `@${file}`;
235
+ if (label.length > labelCapacity)
236
+ label = `@${file.slice(0, Math.max(1, labelCapacity - 4))}...`;
237
+ const nameStr = isSelected ? `\x1b[1;38;5;75m${label}\x1b[0m` : `\x1b[38;5;250m${label}\x1b[0m`;
238
+ const pad = Math.max(0, boxWidth - 5 - label.length);
239
+ lines.push(`\x1b[38;5;240m│\x1b[0m ${marker}${nameStr}${' '.repeat(pad)}\x1b[38;5;240m│\x1b[0m`);
195
240
  }
196
- lines.push('\x1b[38;5;240m ╰─────────────────────────────────────────────────────╯\x1b[0m');
241
+ lines.push('\x1b[38;5;240m╰' + '─'.repeat(Math.max(0, boxWidth - 2)) + '╯\x1b[0m');
197
242
  return lines;
198
243
  }
199
- export function renderModeradoHeader() {
244
+ export function renderModeradoHeader(width) {
200
245
  return [
201
246
  '',
202
- ...centerBlock(MODERADO_ASCII_LOGO),
247
+ ...centerBlock(MODERADO_ASCII_LOGO, width),
203
248
  '',
204
- ...centerBlock([COMMAND_HINT]),
249
+ ...centerBlock([COMMAND_HINT], width),
205
250
  ].join('\n');
206
251
  }
207
- /** Word-wrap plain text to `maxWidth` visible columns. */
252
+ /** Word-wrap plain text to `maxWidth` visible columns, hard-breaking long words. */
208
253
  export function wrapText(text, maxWidth) {
209
254
  const out = [];
255
+ const pushWrapped = (word) => {
256
+ // A single word longer than the column budget is split so no line overflows.
257
+ for (let start = 0; start < word.length; start += maxWidth) {
258
+ out.push(word.slice(start, start + maxWidth));
259
+ }
260
+ };
210
261
  for (const rawLine of text.split('\n')) {
211
262
  if (rawLine.length <= maxWidth) {
212
263
  out.push(rawLine);
@@ -214,6 +265,14 @@ export function wrapText(text, maxWidth) {
214
265
  }
215
266
  let current = '';
216
267
  for (const word of rawLine.split(' ')) {
268
+ if (word.length > maxWidth) {
269
+ if (current.length > 0) {
270
+ out.push(current);
271
+ current = '';
272
+ }
273
+ pushWrapped(word);
274
+ continue;
275
+ }
217
276
  if (current.length === 0) {
218
277
  current = word;
219
278
  }
@@ -238,27 +297,35 @@ export function wrapText(text, maxWidth) {
238
297
  export function renderChatScreen(options, height) {
239
298
  const terminalWidth = options.width ?? (process.stdout.columns || 80);
240
299
  const terminalHeight = height ?? process.stdout.rows ?? 24;
241
- const maxWidth = Math.max(40, terminalWidth - 4);
242
- const width = Math.max(40, terminalWidth - 2);
300
+ const area = getChatAnswerArea(terminalWidth);
301
+ const indent = ' '.repeat(area.indent);
243
302
  const lines = [];
244
- lines.push(...renderModeradoHeader().split('\n'));
303
+ lines.push(...renderModeradoHeader(terminalWidth).split('\n'));
245
304
  lines.push('');
246
- // Row 1: the user's question
305
+ // Row 1: the user's question, wrapped onto the same columns as the composer card.
247
306
  const questionMarker = '\x1b[1;38;5;75m' + String.fromCodePoint(0x276F) + '\x1b[0;48;5;236m';
248
- const questionText = `${questionMarker} ${options.chatQuestion ?? ''}`;
249
- lines.push(String.fromCharCode(27) + '[48;5;236m' + questionText + ' '.repeat(Math.max(0, width - visibleLen(questionText))) + String.fromCharCode(27) + '[0m');
307
+ for (const [index, questionLine] of wrapText(options.chatQuestion ?? '', area.textWidth - 2).entries()) {
308
+ const questionText = `${index === 0 ? questionMarker : ' '} ${questionLine}`;
309
+ lines.push(indent + String.fromCharCode(27) + '[48;5;236m' + questionText + ' '.repeat(Math.max(0, area.cardWidth - visibleLen(questionText))) + String.fromCharCode(27) + '[0m');
310
+ }
250
311
  const thoughtTime = options.chatThoughtTime ?? 0;
251
312
  const thoughtTimeLabel = thoughtTime > 0 && thoughtTime < 1 ? '<1s' : `${Math.round(thoughtTime)}s`;
252
- const chatStatus = !options.tokenUsage && options.chatAnswer?.trim() ? `Thought for ${thoughtTimeLabel}` : '';
253
- lines.push(chatStatus ? `\x1b[38;5;244m${chatStatus.slice(0, Math.max(0, terminalWidth - 1))}\x1b[0m` : '');
313
+ const chatStatus = !options.chatAnswer?.trim()
314
+ ? ''
315
+ : options.chatTaskDone
316
+ ? `✔ Done · Thought for ${thoughtTimeLabel}`
317
+ : options.tokenUsage
318
+ ? ''
319
+ : `Thought for ${thoughtTimeLabel}`;
320
+ lines.push(chatStatus ? indent + `\x1b[38;5;244m${chatStatus.slice(0, Math.max(0, area.cardWidth - 1))}\x1b[0m` : '');
254
321
  // Answer section: multi-line model answer
255
322
  if (options.chatAnswer && options.chatAnswer.trim().length > 0) {
256
323
  lines.push('');
257
- for (const answerLine of wrapText(options.chatAnswer.trim(), maxWidth)) {
324
+ for (const answerLine of wrapText(options.chatAnswer.trim(), area.textWidth)) {
258
325
  const heading = answerLine.match(/^\s*(?:#{1,6}\s+([^#]+?)|\*\*(.+?)\*\*)\s*$/);
259
- lines.push(heading
326
+ lines.push(indent + (heading
260
327
  ? `\x1b[1;38;5;25m${(heading[1] ?? heading[2]).trim()}\x1b[0m`
261
- : `\x1b[38;5;253m${answerLine}\x1b[0m`);
328
+ : `\x1b[38;5;253m${answerLine}\x1b[0m`));
262
329
  }
263
330
  }
264
331
  const composer = renderWelcomeCard(options).split('\n');
@@ -268,7 +335,8 @@ export function renderChatScreen(options, height) {
268
335
  }
269
336
  /** Place the terminal cursor on the first row of the bottom composer. */
270
337
  export function renderChatComposerCursor(options, inputLength) {
271
- const column = getWelcomeIndent(getWelcomeCardWidth(options.width), options.width) + 2 + inputLength;
338
+ const width = getWelcomeCardWidth(options.width);
339
+ const column = getWelcomeIndent(width, options.width) + 2 + Math.min(inputLength, width - 3);
272
340
  return `\x1b[1 q\x1b[?25h\x1b[4A\r\x1b[${column}C`;
273
341
  }
274
342
  export function navigateQuestionHistory(history, direction, index, draft) {
@@ -276,34 +344,57 @@ export function navigateQuestionHistory(history, direction, index, draft) {
276
344
  return { input: nextIndex === history.length ? draft : history[nextIndex], index: nextIndex, draft };
277
345
  }
278
346
  /** Update the fixed chat elapsed-time row without repainting the terminal. */
279
- export function renderChatThoughtTimeUpdate(thoughtTime) {
347
+ export function renderChatThoughtTimeUpdate(thoughtTime, taskStep, width) {
348
+ const area = getChatAnswerArea(width);
280
349
  const label = thoughtTime > 0 && thoughtTime < 1 ? '<1s' : `${Math.round(thoughtTime)}s`;
281
- return `\x1b7\x1b[13;1H\r\x1b[K\x1b[38;5;244mThought for ${label}\x1b[0m\x1b8`;
350
+ const status = (taskStep && taskStep.maxSteps > 0 && taskStep.step >= 0
351
+ ? `Processing task… Step ${taskStep.step}/${taskStep.maxSteps} · ${label}`
352
+ : `Thought for ${label}`).slice(0, area.cardWidth);
353
+ return `\x1b7\x1b[13;${area.startColumn}H\x1b[K\x1b[38;5;244m${status}\x1b[0m\x1b8`;
282
354
  }
283
- /** Write one streamed fragment into the answer area without repainting the chat frame. */
284
- export function renderChatAnswerDelta(delta, start, width) {
355
+ /**
356
+ * Write one streamed fragment into the answer area without repainting the chat
357
+ * frame. Wrapped lines return to `startColumn` so the answer keeps the same
358
+ * columns as the composer card instead of stretching across the terminal.
359
+ */
360
+ export function renderChatAnswerDelta(delta, start, width, startColumn = 1) {
285
361
  let row = start.row;
286
362
  let column = start.column;
363
+ let writeColumn = start.column;
364
+ let sequence = '';
365
+ let line = '';
366
+ const flush = () => {
367
+ if (line.length === 0)
368
+ return;
369
+ sequence += `\x1b[${row};${writeColumn}H\x1b[38;5;253m${line}\x1b[0m`;
370
+ line = '';
371
+ };
287
372
  for (const character of delta) {
288
373
  if (character === '\n') {
374
+ flush();
289
375
  row++;
290
- column = 1;
376
+ column = startColumn;
377
+ writeColumn = startColumn;
291
378
  continue;
292
379
  }
380
+ line += character;
293
381
  column++;
294
382
  if (column > width) {
383
+ flush();
295
384
  row++;
296
- column = 1;
385
+ column = startColumn;
386
+ writeColumn = startColumn;
297
387
  }
298
388
  }
299
- return { sequence: `\x1b[${start.row};${start.column}H\x1b[38;5;253m${delta}\x1b[0m`, row, column };
389
+ flush();
390
+ return { sequence, row, column };
300
391
  }
301
392
  export function renderFullWelcomeScreen(options, height) {
302
393
  if (options.chatQuestion !== undefined) {
303
394
  return renderChatScreen(options, height);
304
395
  }
305
396
  return [
306
- renderModeradoHeader(),
397
+ renderModeradoHeader(options.width),
307
398
  '',
308
399
  renderWelcomeCard(options),
309
400
  ].join('\n') + '\n';
@@ -368,6 +459,7 @@ export function renderHelpPopupBox(version, workspace, width) {
368
459
  '\x1b[1mCtrl+C\x1b[0m Cancel active inference or exit session',
369
460
  '\x1b[1mEsc\x1b[0m Stop the active task',
370
461
  '\x1b[1mLeft/Right\x1b[0m Move the caret inside the bottom input line',
462
+ ' \x1b[1mUp/Down\x1b[0m Browse slash commands after "/", else recall history',
371
463
  '\x1b[1mMouse click\x1b[0m Place the caret on the input line',
372
464
  '',
373
465
  `\x1b[38;5;245mWorkspace:\x1b[0m \x1b[38;5;253m${shortWs}\x1b[0m`,
@@ -485,9 +577,12 @@ export async function promptInteractiveTurn(options) {
485
577
  mode: currentMode,
486
578
  autoApprove: currentAutoApprove,
487
579
  input,
580
+ inputCaret: caret,
581
+ commandSelection,
488
582
  chatQuestion: options.chatQuestion,
489
583
  chatAnswer: options.chatAnswer,
490
584
  chatThoughtTime: options.chatThoughtTime,
585
+ chatTaskDone: options.chatTaskDone,
491
586
  outputTokenRate: options.outputTokenRate,
492
587
  tokenUsage: options.tokenUsage,
493
588
  queuedCommands: options.queuedCommands,
@@ -527,7 +622,8 @@ export async function promptInteractiveTurn(options) {
527
622
  */
528
623
  const positionCursorOnInput = () => {
529
624
  const { row, column } = getComposerAnchor();
530
- stdout.write(`\x1b[1 q\x1b[?25h\x1b[${row};${column + caret}H`);
625
+ const { caretColumn } = composerInputWindow(input, caret, getWelcomeCardWidth());
626
+ stdout.write(`\x1b[1 q\x1b[?25h\x1b[${row};${column + caretColumn}H`);
531
627
  };
532
628
  /** Full-screen redraw: clear everything, repaint welcome TUI, reposition cursor. */
533
629
  const redrawFull = () => {
@@ -1014,11 +1110,12 @@ export function formatTokenUsage(event) {
1014
1110
  }
1015
1111
  /** Update only the chat status row, preserving the answer/composer cursor. */
1016
1112
  export function renderChatUsageUpdate(event, width = process.stdout.columns || 80, budgetStatus, usageDetails, terminalHeight = process.stdout.rows || 24, mode) {
1113
+ const area = getChatAnswerArea(width);
1017
1114
  const usageText = formatTokenUsage(event);
1018
1115
  const suffix = `${usageDetails ? ` | ${usageDetails}` : ''}${budgetStatus ? ` | ${budgetStatus}` : ''}`;
1019
1116
  const modeLabel = mode === 'Plan' ? '\x1b[1;38;5;75m[Plan]\x1b[0m / Execute (Tab)' : 'Plan / \x1b[1;38;5;75m[Execute]\x1b[0m (Tab)';
1020
1117
  const modeText = mode === 'Plan' ? '[Plan] / Execute (Tab)' : 'Plan / [Execute] (Tab)';
1021
- const rowWidth = Math.max(0, width - 1);
1118
+ const rowWidth = area.cardWidth;
1022
1119
  const textLimit = Math.max(0, rowWidth - (mode ? modeText.length + 1 : 0));
1023
1120
  const usageLimit = Math.max(0, textLimit - suffix.length);
1024
1121
  const clippedUsage = mode && usageText.length > usageLimit
@@ -1026,14 +1123,15 @@ export function renderChatUsageUpdate(event, width = process.stdout.columns || 8
1026
1123
  : usageText;
1027
1124
  const text = `${clippedUsage}${suffix}`.slice(0, textLimit);
1028
1125
  const row = Math.max(1, terminalHeight - 2);
1029
- return `\x1b7\x1b[${row};1H\r\x1b[K\x1b[38;5;244m${text}\x1b[0m${mode ? `${' '.repeat(Math.max(1, rowWidth - text.length - modeText.length))}${modeLabel}` : ''}\x1b8`;
1126
+ return `\x1b7\x1b[${row};${area.startColumn}H\x1b[K\x1b[38;5;244m${text}\x1b[0m${mode ? `${' '.repeat(Math.max(1, rowWidth - text.length - modeText.length))}${modeLabel}` : ''}\x1b8`;
1030
1127
  }
1031
1128
  /** Show trusted, schema-validated Gateway route changes without provider supplied prose. */
1032
1129
  export function renderGatewayFallbackUpdate(event, width = process.stdout.columns || 80) {
1130
+ const area = getChatAnswerArea(width);
1033
1131
  const destination = event.toProvider ? `${event.toProvider}/${event.toModel}` : event.toModel;
1034
1132
  const reason = event.reason === 'rate_limited_or_unavailable' ? 'after an upstream route was rate limited or unavailable' : 'after a fallback';
1035
- const text = `Gateway route changed to ${destination} ${reason}`.slice(0, Math.max(0, width - 1));
1133
+ const text = `Gateway route changed to ${destination} ${reason}`.slice(0, area.cardWidth);
1036
1134
  const row = renderModeradoHeader().split('\n').length + 3;
1037
- return `\x1b7\x1b[${row};1H\r\x1b[K\x1b[38;5;244m${text}\x1b[0m\x1b8`;
1135
+ return `\x1b7\x1b[${row};${area.startColumn}H\x1b[K\x1b[38;5;244m${text}\x1b[0m\x1b8`;
1038
1136
  }
1039
1137
  //# sourceMappingURL=welcome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}