deepseek-coder-agent-cli 1.0.38 โ†’ 1.0.39

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.
@@ -190,6 +190,7 @@ export declare class UnifiedUIRenderer extends EventEmitter {
190
190
  private suggestionIndex;
191
191
  private availableCommands;
192
192
  private hotkeysInToggleLine;
193
+ private pasteRegions;
193
194
  private mode;
194
195
  /** Queue for input received during streaming - processed after streaming ends */
195
196
  private streamingInputQueue;
@@ -243,6 +244,19 @@ export declare class UnifiedUIRenderer extends EventEmitter {
243
244
  private appendToPasteBuffer;
244
245
  /** Strip ANSI escape sequences and special formatting from text to get clean plaintext */
245
246
  private sanitizePasteContent;
247
+ /** Detect likely programming language from pasted content */
248
+ private detectPasteLanguage;
249
+ /** Minimum chars/lines to trigger condensed display */
250
+ private readonly pasteCondenseMinChars;
251
+ private readonly pasteCondenseMinLines;
252
+ /** Record a paste region for condensed display */
253
+ private recordPasteRegion;
254
+ /** Clear paste regions (called when buffer is cleared) */
255
+ private clearPasteRegions;
256
+ /** Adjust paste regions when characters are deleted from the buffer */
257
+ private adjustPasteRegionsForDeletion;
258
+ /** Adjust paste regions when characters are inserted (not paste - regular typing) */
259
+ private adjustPasteRegionsForInsertion;
246
260
  private formatHotkey;
247
261
  private lastPromptEvent;
248
262
  private promptHeight;
@@ -736,6 +750,8 @@ export declare class UnifiedUIRenderer extends EventEmitter {
736
750
  private buildToggleLine;
737
751
  private buildShortcutLine;
738
752
  private buildInputLine;
753
+ /** Build a display buffer with paste regions condensed to summaries */
754
+ private buildCondensedDisplayBuffer;
739
755
  private buildInputWindow;
740
756
  /**
741
757
  * Expand collapsed paste into the buffer without submitting (Ctrl+L).
@@ -1 +1 @@
1
- {"version":3,"file":"UnifiedUIRenderer.d.ts","sourceRoot":"","sources":["../../src/ui/UnifiedUIRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnifiedUIRenderer.d.ts","sourceRoot":"","sources":["../../src/ui/UnifiedUIRenderer.ts"],"names":[],"mappings":"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"}
@@ -208,7 +208,8 @@ export class UnifiedUIRenderer extends EventEmitter {
208
208
  suggestionIndex = -1;
209
209
  availableCommands = [];
210
210
  hotkeysInToggleLine = new Set();
211
- // Note: collapsed paste functionality removed - pasted content is displayed directly
211
+ // Paste region tracking for condensed display of large pastes
212
+ pasteRegions = [];
212
213
  mode = 'idle';
213
214
  /** Queue for input received during streaming - processed after streaming ends */
214
215
  streamingInputQueue = [];
@@ -355,6 +356,125 @@ export class UnifiedUIRenderer extends EventEmitter {
355
356
  sanitized = sanitized.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '');
356
357
  return sanitized;
357
358
  }
359
+ /** Detect likely programming language from pasted content */
360
+ detectPasteLanguage(text) {
361
+ const patterns = {
362
+ javascript: /\b(const|let|var|function|async|await|import|export|=>)\b/,
363
+ typescript: /\b(interface|type|enum|namespace|declare|as const)\b/,
364
+ python: /\b(def|class|import|from|if __name__|async def)\b/,
365
+ json: /^\s*(?:\{|\[)[\s\S]*(?:\}|\])\s*$/,
366
+ html: /^<[a-z]/i,
367
+ css: /^\s*[.#[]?[\w-]+\s*\{/,
368
+ sql: /\b(SELECT|FROM|WHERE|INSERT|UPDATE|DELETE|CREATE|TABLE)\b/i,
369
+ bash: /^#!/,
370
+ yaml: /^[\w-]+:\s*\S/m,
371
+ };
372
+ for (const [lang, pattern] of Object.entries(patterns)) {
373
+ if (pattern.test(text)) {
374
+ return lang;
375
+ }
376
+ }
377
+ return undefined;
378
+ }
379
+ /** Minimum chars/lines to trigger condensed display */
380
+ pasteCondenseMinChars = 200;
381
+ pasteCondenseMinLines = 4;
382
+ /** Record a paste region for condensed display */
383
+ recordPasteRegion(insertPos, content) {
384
+ const lines = content.split('\n');
385
+ const nonEmptyLines = lines.filter(line => line.trim().length > 0);
386
+ const charCount = content.length;
387
+ const lineCount = nonEmptyLines.length;
388
+ // Only condense if paste is large enough
389
+ if (charCount < this.pasteCondenseMinChars && lineCount < this.pasteCondenseMinLines) {
390
+ return;
391
+ }
392
+ // Create preview: first line truncated to 50 chars
393
+ let preview = nonEmptyLines[0]?.substring(0, 50) || '';
394
+ if ((nonEmptyLines[0]?.length ?? 0) > 50) {
395
+ preview += 'โ€ฆ';
396
+ }
397
+ const language = this.detectPasteLanguage(content);
398
+ // Shift existing regions that come after the insertion point
399
+ for (const region of this.pasteRegions) {
400
+ if (region.start >= insertPos) {
401
+ region.start += content.length;
402
+ region.end += content.length;
403
+ }
404
+ else if (region.end > insertPos) {
405
+ // Insertion in the middle of a region - extend it
406
+ region.end += content.length;
407
+ }
408
+ }
409
+ // Add new region
410
+ this.pasteRegions.push({
411
+ start: insertPos,
412
+ end: insertPos + content.length,
413
+ lineCount,
414
+ charCount,
415
+ preview,
416
+ language,
417
+ });
418
+ }
419
+ /** Clear paste regions (called when buffer is cleared) */
420
+ clearPasteRegions() {
421
+ this.pasteRegions = [];
422
+ }
423
+ /** Adjust paste regions when characters are deleted from the buffer */
424
+ adjustPasteRegionsForDeletion(deleteStart, deleteEnd) {
425
+ const deleteLen = deleteEnd - deleteStart;
426
+ if (deleteLen <= 0)
427
+ return;
428
+ // Filter out regions that are fully deleted, and adjust others
429
+ this.pasteRegions = this.pasteRegions.filter(region => {
430
+ // Region is fully before deletion - no change
431
+ if (region.end <= deleteStart) {
432
+ return true;
433
+ }
434
+ // Region is fully after deletion - shift left
435
+ if (region.start >= deleteEnd) {
436
+ region.start -= deleteLen;
437
+ region.end -= deleteLen;
438
+ return true;
439
+ }
440
+ // Region is fully within deletion - remove it
441
+ if (region.start >= deleteStart && region.end <= deleteEnd) {
442
+ return false;
443
+ }
444
+ // Partial overlap - adjust bounds
445
+ if (region.start < deleteStart && region.end > deleteEnd) {
446
+ // Deletion is inside region - shrink region
447
+ region.end -= deleteLen;
448
+ return true;
449
+ }
450
+ if (region.start < deleteStart) {
451
+ // Deletion overlaps end of region
452
+ region.end = deleteStart;
453
+ return region.end > region.start;
454
+ }
455
+ // Deletion overlaps start of region
456
+ region.start = deleteStart;
457
+ region.end -= (deleteEnd - region.start);
458
+ return region.end > region.start;
459
+ });
460
+ }
461
+ /** Adjust paste regions when characters are inserted (not paste - regular typing) */
462
+ adjustPasteRegionsForInsertion(insertPos, insertLen) {
463
+ if (insertLen <= 0)
464
+ return;
465
+ for (const region of this.pasteRegions) {
466
+ if (region.start >= insertPos) {
467
+ // Region is after insertion point - shift right
468
+ region.start += insertLen;
469
+ region.end += insertLen;
470
+ }
471
+ else if (region.end > insertPos) {
472
+ // Insertion is inside region - extend the region
473
+ region.end += insertLen;
474
+ }
475
+ // Regions before insertion point are unaffected
476
+ }
477
+ }
358
478
  formatHotkey(combo) {
359
479
  if (!combo?.trim())
360
480
  return null;
@@ -517,6 +637,7 @@ export class UnifiedUIRenderer extends EventEmitter {
517
637
  this.buffer = '';
518
638
  this.cursor = 0;
519
639
  this.inputRenderOffset = 0;
640
+ this.clearPasteRegions();
520
641
  this.pasteBuffer = '';
521
642
  this.pasteBufferOverflow = false;
522
643
  this.inPlainPaste = false;
@@ -1012,6 +1133,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1012
1133
  this.buffer = '';
1013
1134
  this.cursor = 0;
1014
1135
  this.inputRenderOffset = 0;
1136
+ this.clearPasteRegions();
1015
1137
  this.resetSuggestions();
1016
1138
  this.renderPrompt();
1017
1139
  this.emitInputChange();
@@ -1067,9 +1189,12 @@ export class UnifiedUIRenderer extends EventEmitter {
1067
1189
  // Insert paste content directly into buffer (supports multi-line)
1068
1190
  // Insert at cursor position
1069
1191
  this.clampCursor();
1192
+ const insertPos = this.cursor;
1070
1193
  this.buffer = this.buffer.slice(0, this.cursor) + sanitized + this.buffer.slice(this.cursor);
1071
1194
  this.cursor += sanitized.length;
1072
1195
  this.clampCursor();
1196
+ // Record paste region for condensed display
1197
+ this.recordPasteRegion(insertPos, sanitized);
1073
1198
  this.updateSuggestions();
1074
1199
  this.resetPlainPasteBurst();
1075
1200
  this.forceNextRender = true;
@@ -1100,9 +1225,12 @@ export class UnifiedUIRenderer extends EventEmitter {
1100
1225
  // Insert paste content directly into buffer (supports multi-line)
1101
1226
  // Insert at cursor position
1102
1227
  this.clampCursor();
1228
+ const insertPos = this.cursor;
1103
1229
  this.buffer = this.buffer.slice(0, this.cursor) + sanitized + this.buffer.slice(this.cursor);
1104
1230
  this.cursor += sanitized.length;
1105
1231
  this.clampCursor();
1232
+ // Record paste region for condensed display
1233
+ this.recordPasteRegion(insertPos, sanitized);
1106
1234
  this.updateSuggestions();
1107
1235
  this.resetPlainPasteBurst();
1108
1236
  this.forceNextRender = true;
@@ -1175,6 +1303,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1175
1303
  this.buffer = '';
1176
1304
  this.cursor = 0;
1177
1305
  this.inputRenderOffset = 0;
1306
+ this.clearPasteRegions();
1178
1307
  this.resetSuggestions();
1179
1308
  this.renderPrompt();
1180
1309
  this.emitInputChange();
@@ -1352,8 +1481,11 @@ export class UnifiedUIRenderer extends EventEmitter {
1352
1481
  // Skip word characters
1353
1482
  while (pos > 0 && this.buffer[pos - 1] !== ' ')
1354
1483
  pos--;
1355
- this.buffer = this.buffer.slice(0, pos) + this.buffer.slice(this.cursor);
1484
+ const deleteStart = pos;
1485
+ const deleteEnd = this.cursor;
1486
+ this.buffer = this.buffer.slice(0, deleteStart) + this.buffer.slice(deleteEnd);
1356
1487
  this.cursor = pos;
1488
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1357
1489
  this.updateSuggestions();
1358
1490
  this.renderPrompt();
1359
1491
  this.emitInputChange();
@@ -1363,7 +1495,10 @@ export class UnifiedUIRenderer extends EventEmitter {
1363
1495
  // Ctrl+K: Delete from cursor to end of line
1364
1496
  if (key.ctrl && key.name === 'k') {
1365
1497
  if (this.cursor < this.buffer.length) {
1498
+ const deleteStart = this.cursor;
1499
+ const deleteEnd = this.buffer.length;
1366
1500
  this.buffer = this.buffer.slice(0, this.cursor);
1501
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1367
1502
  this.updateSuggestions();
1368
1503
  this.renderPrompt();
1369
1504
  this.emitInputChange();
@@ -1432,8 +1567,11 @@ export class UnifiedUIRenderer extends EventEmitter {
1432
1567
  pos--;
1433
1568
  while (pos > 0 && this.buffer[pos - 1] !== ' ')
1434
1569
  pos--;
1435
- this.buffer = this.buffer.slice(0, pos) + this.buffer.slice(this.cursor);
1570
+ const deleteStart = pos;
1571
+ const deleteEnd = this.cursor;
1572
+ this.buffer = this.buffer.slice(0, deleteStart) + this.buffer.slice(deleteEnd);
1436
1573
  this.cursor = pos;
1574
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1437
1575
  this.updateSuggestions();
1438
1576
  this.renderPrompt();
1439
1577
  this.emitInputChange();
@@ -1472,8 +1610,11 @@ export class UnifiedUIRenderer extends EventEmitter {
1472
1610
  this.resetPlainPasteBurst();
1473
1611
  this.cancelPlainPasteCapture();
1474
1612
  if (this.cursor > 0) {
1475
- this.buffer = this.buffer.slice(0, this.cursor - 1) + this.buffer.slice(this.cursor);
1613
+ const deleteStart = this.cursor - 1;
1614
+ const deleteEnd = this.cursor;
1615
+ this.buffer = this.buffer.slice(0, deleteStart) + this.buffer.slice(deleteEnd);
1476
1616
  this.cursor--;
1617
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1477
1618
  this.updateSuggestions();
1478
1619
  this.forceNextRender = true;
1479
1620
  this.renderPrompt();
@@ -1486,7 +1627,10 @@ export class UnifiedUIRenderer extends EventEmitter {
1486
1627
  this.resetPlainPasteBurst();
1487
1628
  this.cancelPlainPasteCapture();
1488
1629
  if (this.cursor < this.buffer.length) {
1489
- this.buffer = this.buffer.slice(0, this.cursor) + this.buffer.slice(this.cursor + 1);
1630
+ const deleteStart = this.cursor;
1631
+ const deleteEnd = this.cursor + 1;
1632
+ this.buffer = this.buffer.slice(0, deleteStart) + this.buffer.slice(deleteEnd);
1633
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1490
1634
  this.updateSuggestions();
1491
1635
  this.forceNextRender = true;
1492
1636
  this.renderPrompt();
@@ -1563,6 +1707,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1563
1707
  }
1564
1708
  this.cursor = this.buffer.length;
1565
1709
  this.inputRenderOffset = 0; // Reset render offset for new buffer
1710
+ this.clearPasteRegions(); // History entries don't have paste regions
1566
1711
  this.updateSuggestions();
1567
1712
  this.renderPrompt();
1568
1713
  this.emitInputChange();
@@ -1589,6 +1734,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1589
1734
  }
1590
1735
  this.cursor = this.buffer.length;
1591
1736
  this.inputRenderOffset = 0; // Reset render offset for new buffer
1737
+ this.clearPasteRegions(); // History entries don't have paste regions
1592
1738
  this.updateSuggestions();
1593
1739
  this.renderPrompt();
1594
1740
  this.emitInputChange();
@@ -1828,9 +1974,12 @@ export class UnifiedUIRenderer extends EventEmitter {
1828
1974
  // Insert paste content directly into buffer (supports multi-line)
1829
1975
  // Insert at cursor position
1830
1976
  this.clampCursor();
1977
+ const insertPos = this.cursor;
1831
1978
  this.buffer = this.buffer.slice(0, this.cursor) + content + this.buffer.slice(this.cursor);
1832
1979
  this.cursor += content.length;
1833
1980
  this.clampCursor();
1981
+ // Record paste region for condensed display
1982
+ this.recordPasteRegion(insertPos, content);
1834
1983
  this.updateSuggestions();
1835
1984
  this.forceNextRender = true;
1836
1985
  this.renderPrompt();
@@ -2007,9 +2156,12 @@ export class UnifiedUIRenderer extends EventEmitter {
2007
2156
  // Insert paste content directly into buffer (supports multi-line)
2008
2157
  // Insert at cursor position
2009
2158
  this.clampCursor();
2159
+ const insertPos = this.cursor;
2010
2160
  this.buffer = this.buffer.slice(0, this.cursor) + content + this.buffer.slice(this.cursor);
2011
2161
  this.cursor += content.length;
2012
2162
  this.clampCursor();
2163
+ // Record paste region for condensed display
2164
+ this.recordPasteRegion(insertPos, content);
2013
2165
  this.updateSuggestions();
2014
2166
  this.forceNextRender = true;
2015
2167
  this.renderPrompt();
@@ -2073,9 +2225,12 @@ export class UnifiedUIRenderer extends EventEmitter {
2073
2225
  return;
2074
2226
  // Ensure cursor is valid before slicing
2075
2227
  this.clampCursor();
2228
+ const insertPos = this.cursor;
2076
2229
  this.buffer = this.buffer.slice(0, this.cursor) + text + this.buffer.slice(this.cursor);
2077
2230
  this.cursor += text.length;
2078
2231
  this.clampCursor(); // Ensure cursor remains valid after modification
2232
+ // Adjust paste regions for the insertion
2233
+ this.adjustPasteRegionsForInsertion(insertPos, text.length);
2079
2234
  this.updateSuggestions();
2080
2235
  // Suppress render during paste detection to prevent visual leak
2081
2236
  const inEmitPaste = this.emitPasteBuffer.length > 0 || this.emitPasteTimer !== null;
@@ -2103,6 +2258,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2103
2258
  this.buffer = '';
2104
2259
  this.cursor = 0;
2105
2260
  this.inputRenderOffset = 0;
2261
+ this.clearPasteRegions();
2106
2262
  this.resetSuggestions();
2107
2263
  this.renderPrompt();
2108
2264
  this.emitInputChange();
@@ -2121,6 +2277,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2121
2277
  // Prompt blocked - don't submit
2122
2278
  this.buffer = '';
2123
2279
  this.cursor = 0;
2280
+ this.clearPasteRegions();
2124
2281
  this.renderPrompt();
2125
2282
  return;
2126
2283
  }
@@ -2145,6 +2302,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2145
2302
  }
2146
2303
  this.buffer = '';
2147
2304
  this.cursor = 0;
2305
+ this.clearPasteRegions();
2148
2306
  this.resetSuggestions();
2149
2307
  this.renderPrompt();
2150
2308
  this.emitInputChange();
@@ -5008,9 +5166,11 @@ export class UnifiedUIRenderer extends EventEmitter {
5008
5166
  const maxWidth = this.safeWidth();
5009
5167
  const continuationIndent = ' '; // 2 spaces for continuation lines
5010
5168
  const continuationWidth = continuationIndent.length;
5169
+ // Build display buffer with paste regions condensed
5170
+ const { displayBuffer, cursorDisplayPos } = this.buildCondensedDisplayBuffer();
5011
5171
  // Handle multi-line input - split buffer on newlines first
5012
5172
  // In secret mode, mask all characters with bullets
5013
- const rawBuffer = this.buffer.replace(/\r/g, '\n');
5173
+ const rawBuffer = displayBuffer.replace(/\r/g, '\n');
5014
5174
  const normalized = this.secretMode ? 'โ€ข'.repeat(rawBuffer.length) : rawBuffer;
5015
5175
  const bufferLines = normalized.split('\n');
5016
5176
  // Wrap each logical line to fit terminal width, expanding vertically
@@ -5041,13 +5201,13 @@ export class UnifiedUIRenderer extends EventEmitter {
5041
5201
  else {
5042
5202
  displayLine = `${continuationIndent}${chunk}`;
5043
5203
  }
5044
- // Track cursor position
5204
+ // Track cursor position (using mapped display position)
5045
5205
  if (!foundCursor) {
5046
5206
  const chunkStart = lineStartChar + (line.length - remaining.length - chunk.length);
5047
5207
  const chunkEnd = chunkStart + chunk.length;
5048
- if (this.cursor >= chunkStart && this.cursor <= chunkEnd) {
5208
+ if (cursorDisplayPos >= chunkStart && cursorDisplayPos <= chunkEnd) {
5049
5209
  cursorLine = result.length;
5050
- const offsetInChunk = this.cursor - chunkStart;
5210
+ const offsetInChunk = cursorDisplayPos - chunkStart;
5051
5211
  cursorCol = ((isFirstLogicalLine && isFirstDisplayLine) ? promptWidth : continuationWidth) + offsetInChunk;
5052
5212
  foundCursor = true;
5053
5213
  }
@@ -5084,6 +5244,50 @@ export class UnifiedUIRenderer extends EventEmitter {
5084
5244
  this.cursorVisibleColumn = cursorCol + 1;
5085
5245
  return result.join('\n');
5086
5246
  }
5247
+ /** Build a display buffer with paste regions condensed to summaries */
5248
+ buildCondensedDisplayBuffer() {
5249
+ // If no paste regions, return original buffer
5250
+ if (this.pasteRegions.length === 0) {
5251
+ return { displayBuffer: this.buffer, cursorDisplayPos: this.cursor };
5252
+ }
5253
+ // Sort regions by start position
5254
+ const sortedRegions = [...this.pasteRegions].sort((a, b) => a.start - b.start);
5255
+ let displayBuffer = '';
5256
+ let bufferPos = 0;
5257
+ let cursorDisplayPos = this.cursor;
5258
+ let displayOffset = 0; // Track cumulative offset between buffer and display positions
5259
+ for (const region of sortedRegions) {
5260
+ // Add text before this region
5261
+ if (region.start > bufferPos) {
5262
+ displayBuffer += this.buffer.slice(bufferPos, region.start);
5263
+ }
5264
+ // Build condensed summary for this paste region
5265
+ const langLabel = region.language ? `${region.language.toUpperCase()} ` : '';
5266
+ const summary = `[๐Ÿ“‹ ${langLabel}${region.lineCount} lines ยท ${region.charCount} chars: ${region.preview}]`;
5267
+ // Update cursor position if it's within or after this region
5268
+ if (this.cursor >= region.start && this.cursor < region.end) {
5269
+ // Cursor is inside paste region - position at start of summary
5270
+ cursorDisplayPos = displayBuffer.length;
5271
+ }
5272
+ else if (this.cursor >= region.end) {
5273
+ // Cursor is after this region - adjust by the difference
5274
+ const regionLength = region.end - region.start;
5275
+ const summaryLength = summary.length;
5276
+ displayOffset += regionLength - summaryLength;
5277
+ }
5278
+ displayBuffer += summary;
5279
+ bufferPos = region.end;
5280
+ }
5281
+ // Add remaining text after last region
5282
+ if (bufferPos < this.buffer.length) {
5283
+ displayBuffer += this.buffer.slice(bufferPos);
5284
+ }
5285
+ // Adjust cursor position for regions that came before it
5286
+ if (this.cursor >= bufferPos || displayOffset > 0) {
5287
+ cursorDisplayPos = Math.max(0, this.cursor - displayOffset);
5288
+ }
5289
+ return { displayBuffer, cursorDisplayPos };
5290
+ }
5087
5291
  buildInputWindow(available) {
5088
5292
  if (available <= 0) {
5089
5293
  return { text: '', cursor: 0 };
@@ -5136,6 +5340,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5136
5340
  this.buffer = '';
5137
5341
  this.cursor = 0;
5138
5342
  this.inputRenderOffset = 0;
5343
+ this.clearPasteRegions();
5139
5344
  this.resetSuggestions();
5140
5345
  this.renderPrompt();
5141
5346
  this.emitInputChange();
@@ -5249,6 +5454,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5249
5454
  // Validate cursor position to prevent out-of-bounds issues
5250
5455
  const requestedCursor = cursorPos ?? text.length;
5251
5456
  this.cursor = Math.max(0, Math.min(requestedCursor, text.length));
5457
+ this.clearPasteRegions(); // External buffer replacement clears paste tracking
5252
5458
  this.inputRenderOffset = 0;
5253
5459
  this.updateSuggestions();
5254
5460
  this.renderPrompt();
@@ -5263,6 +5469,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5263
5469
  this.buffer = '';
5264
5470
  this.cursor = 0;
5265
5471
  this.inputRenderOffset = 0;
5472
+ this.clearPasteRegions();
5266
5473
  this.suggestions = [];
5267
5474
  this.suggestionIndex = -1;
5268
5475
  this.renderPrompt();