deepseek-coder-agent-cli 1.0.37 โ†’ 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,10 +1189,14 @@ 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();
1199
+ this.resetPlainPasteBurst();
1074
1200
  this.forceNextRender = true;
1075
1201
  this.renderPrompt();
1076
1202
  this.emitInputChange();
@@ -1099,10 +1225,14 @@ export class UnifiedUIRenderer extends EventEmitter {
1099
1225
  // Insert paste content directly into buffer (supports multi-line)
1100
1226
  // Insert at cursor position
1101
1227
  this.clampCursor();
1228
+ const insertPos = this.cursor;
1102
1229
  this.buffer = this.buffer.slice(0, this.cursor) + sanitized + this.buffer.slice(this.cursor);
1103
1230
  this.cursor += sanitized.length;
1104
1231
  this.clampCursor();
1232
+ // Record paste region for condensed display
1233
+ this.recordPasteRegion(insertPos, sanitized);
1105
1234
  this.updateSuggestions();
1235
+ this.resetPlainPasteBurst();
1106
1236
  this.forceNextRender = true;
1107
1237
  this.renderPrompt();
1108
1238
  this.emitInputChange();
@@ -1173,6 +1303,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1173
1303
  this.buffer = '';
1174
1304
  this.cursor = 0;
1175
1305
  this.inputRenderOffset = 0;
1306
+ this.clearPasteRegions();
1176
1307
  this.resetSuggestions();
1177
1308
  this.renderPrompt();
1178
1309
  this.emitInputChange();
@@ -1350,8 +1481,11 @@ export class UnifiedUIRenderer extends EventEmitter {
1350
1481
  // Skip word characters
1351
1482
  while (pos > 0 && this.buffer[pos - 1] !== ' ')
1352
1483
  pos--;
1353
- 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);
1354
1487
  this.cursor = pos;
1488
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1355
1489
  this.updateSuggestions();
1356
1490
  this.renderPrompt();
1357
1491
  this.emitInputChange();
@@ -1361,7 +1495,10 @@ export class UnifiedUIRenderer extends EventEmitter {
1361
1495
  // Ctrl+K: Delete from cursor to end of line
1362
1496
  if (key.ctrl && key.name === 'k') {
1363
1497
  if (this.cursor < this.buffer.length) {
1498
+ const deleteStart = this.cursor;
1499
+ const deleteEnd = this.buffer.length;
1364
1500
  this.buffer = this.buffer.slice(0, this.cursor);
1501
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1365
1502
  this.updateSuggestions();
1366
1503
  this.renderPrompt();
1367
1504
  this.emitInputChange();
@@ -1430,8 +1567,11 @@ export class UnifiedUIRenderer extends EventEmitter {
1430
1567
  pos--;
1431
1568
  while (pos > 0 && this.buffer[pos - 1] !== ' ')
1432
1569
  pos--;
1433
- 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);
1434
1573
  this.cursor = pos;
1574
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1435
1575
  this.updateSuggestions();
1436
1576
  this.renderPrompt();
1437
1577
  this.emitInputChange();
@@ -1470,8 +1610,11 @@ export class UnifiedUIRenderer extends EventEmitter {
1470
1610
  this.resetPlainPasteBurst();
1471
1611
  this.cancelPlainPasteCapture();
1472
1612
  if (this.cursor > 0) {
1473
- 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);
1474
1616
  this.cursor--;
1617
+ this.adjustPasteRegionsForDeletion(deleteStart, deleteEnd);
1475
1618
  this.updateSuggestions();
1476
1619
  this.forceNextRender = true;
1477
1620
  this.renderPrompt();
@@ -1484,7 +1627,10 @@ export class UnifiedUIRenderer extends EventEmitter {
1484
1627
  this.resetPlainPasteBurst();
1485
1628
  this.cancelPlainPasteCapture();
1486
1629
  if (this.cursor < this.buffer.length) {
1487
- 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);
1488
1634
  this.updateSuggestions();
1489
1635
  this.forceNextRender = true;
1490
1636
  this.renderPrompt();
@@ -1561,6 +1707,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1561
1707
  }
1562
1708
  this.cursor = this.buffer.length;
1563
1709
  this.inputRenderOffset = 0; // Reset render offset for new buffer
1710
+ this.clearPasteRegions(); // History entries don't have paste regions
1564
1711
  this.updateSuggestions();
1565
1712
  this.renderPrompt();
1566
1713
  this.emitInputChange();
@@ -1587,6 +1734,7 @@ export class UnifiedUIRenderer extends EventEmitter {
1587
1734
  }
1588
1735
  this.cursor = this.buffer.length;
1589
1736
  this.inputRenderOffset = 0; // Reset render offset for new buffer
1737
+ this.clearPasteRegions(); // History entries don't have paste regions
1590
1738
  this.updateSuggestions();
1591
1739
  this.renderPrompt();
1592
1740
  this.emitInputChange();
@@ -1826,9 +1974,12 @@ export class UnifiedUIRenderer extends EventEmitter {
1826
1974
  // Insert paste content directly into buffer (supports multi-line)
1827
1975
  // Insert at cursor position
1828
1976
  this.clampCursor();
1977
+ const insertPos = this.cursor;
1829
1978
  this.buffer = this.buffer.slice(0, this.cursor) + content + this.buffer.slice(this.cursor);
1830
1979
  this.cursor += content.length;
1831
1980
  this.clampCursor();
1981
+ // Record paste region for condensed display
1982
+ this.recordPasteRegion(insertPos, content);
1832
1983
  this.updateSuggestions();
1833
1984
  this.forceNextRender = true;
1834
1985
  this.renderPrompt();
@@ -2005,9 +2156,12 @@ export class UnifiedUIRenderer extends EventEmitter {
2005
2156
  // Insert paste content directly into buffer (supports multi-line)
2006
2157
  // Insert at cursor position
2007
2158
  this.clampCursor();
2159
+ const insertPos = this.cursor;
2008
2160
  this.buffer = this.buffer.slice(0, this.cursor) + content + this.buffer.slice(this.cursor);
2009
2161
  this.cursor += content.length;
2010
2162
  this.clampCursor();
2163
+ // Record paste region for condensed display
2164
+ this.recordPasteRegion(insertPos, content);
2011
2165
  this.updateSuggestions();
2012
2166
  this.forceNextRender = true;
2013
2167
  this.renderPrompt();
@@ -2071,9 +2225,12 @@ export class UnifiedUIRenderer extends EventEmitter {
2071
2225
  return;
2072
2226
  // Ensure cursor is valid before slicing
2073
2227
  this.clampCursor();
2228
+ const insertPos = this.cursor;
2074
2229
  this.buffer = this.buffer.slice(0, this.cursor) + text + this.buffer.slice(this.cursor);
2075
2230
  this.cursor += text.length;
2076
2231
  this.clampCursor(); // Ensure cursor remains valid after modification
2232
+ // Adjust paste regions for the insertion
2233
+ this.adjustPasteRegionsForInsertion(insertPos, text.length);
2077
2234
  this.updateSuggestions();
2078
2235
  // Suppress render during paste detection to prevent visual leak
2079
2236
  const inEmitPaste = this.emitPasteBuffer.length > 0 || this.emitPasteTimer !== null;
@@ -2101,6 +2258,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2101
2258
  this.buffer = '';
2102
2259
  this.cursor = 0;
2103
2260
  this.inputRenderOffset = 0;
2261
+ this.clearPasteRegions();
2104
2262
  this.resetSuggestions();
2105
2263
  this.renderPrompt();
2106
2264
  this.emitInputChange();
@@ -2119,6 +2277,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2119
2277
  // Prompt blocked - don't submit
2120
2278
  this.buffer = '';
2121
2279
  this.cursor = 0;
2280
+ this.clearPasteRegions();
2122
2281
  this.renderPrompt();
2123
2282
  return;
2124
2283
  }
@@ -2143,6 +2302,7 @@ export class UnifiedUIRenderer extends EventEmitter {
2143
2302
  }
2144
2303
  this.buffer = '';
2145
2304
  this.cursor = 0;
2305
+ this.clearPasteRegions();
2146
2306
  this.resetSuggestions();
2147
2307
  this.renderPrompt();
2148
2308
  this.emitInputChange();
@@ -5006,9 +5166,11 @@ export class UnifiedUIRenderer extends EventEmitter {
5006
5166
  const maxWidth = this.safeWidth();
5007
5167
  const continuationIndent = ' '; // 2 spaces for continuation lines
5008
5168
  const continuationWidth = continuationIndent.length;
5169
+ // Build display buffer with paste regions condensed
5170
+ const { displayBuffer, cursorDisplayPos } = this.buildCondensedDisplayBuffer();
5009
5171
  // Handle multi-line input - split buffer on newlines first
5010
5172
  // In secret mode, mask all characters with bullets
5011
- const rawBuffer = this.buffer.replace(/\r/g, '\n');
5173
+ const rawBuffer = displayBuffer.replace(/\r/g, '\n');
5012
5174
  const normalized = this.secretMode ? 'โ€ข'.repeat(rawBuffer.length) : rawBuffer;
5013
5175
  const bufferLines = normalized.split('\n');
5014
5176
  // Wrap each logical line to fit terminal width, expanding vertically
@@ -5039,13 +5201,13 @@ export class UnifiedUIRenderer extends EventEmitter {
5039
5201
  else {
5040
5202
  displayLine = `${continuationIndent}${chunk}`;
5041
5203
  }
5042
- // Track cursor position
5204
+ // Track cursor position (using mapped display position)
5043
5205
  if (!foundCursor) {
5044
5206
  const chunkStart = lineStartChar + (line.length - remaining.length - chunk.length);
5045
5207
  const chunkEnd = chunkStart + chunk.length;
5046
- if (this.cursor >= chunkStart && this.cursor <= chunkEnd) {
5208
+ if (cursorDisplayPos >= chunkStart && cursorDisplayPos <= chunkEnd) {
5047
5209
  cursorLine = result.length;
5048
- const offsetInChunk = this.cursor - chunkStart;
5210
+ const offsetInChunk = cursorDisplayPos - chunkStart;
5049
5211
  cursorCol = ((isFirstLogicalLine && isFirstDisplayLine) ? promptWidth : continuationWidth) + offsetInChunk;
5050
5212
  foundCursor = true;
5051
5213
  }
@@ -5082,6 +5244,50 @@ export class UnifiedUIRenderer extends EventEmitter {
5082
5244
  this.cursorVisibleColumn = cursorCol + 1;
5083
5245
  return result.join('\n');
5084
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
+ }
5085
5291
  buildInputWindow(available) {
5086
5292
  if (available <= 0) {
5087
5293
  return { text: '', cursor: 0 };
@@ -5134,6 +5340,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5134
5340
  this.buffer = '';
5135
5341
  this.cursor = 0;
5136
5342
  this.inputRenderOffset = 0;
5343
+ this.clearPasteRegions();
5137
5344
  this.resetSuggestions();
5138
5345
  this.renderPrompt();
5139
5346
  this.emitInputChange();
@@ -5247,6 +5454,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5247
5454
  // Validate cursor position to prevent out-of-bounds issues
5248
5455
  const requestedCursor = cursorPos ?? text.length;
5249
5456
  this.cursor = Math.max(0, Math.min(requestedCursor, text.length));
5457
+ this.clearPasteRegions(); // External buffer replacement clears paste tracking
5250
5458
  this.inputRenderOffset = 0;
5251
5459
  this.updateSuggestions();
5252
5460
  this.renderPrompt();
@@ -5261,6 +5469,7 @@ export class UnifiedUIRenderer extends EventEmitter {
5261
5469
  this.buffer = '';
5262
5470
  this.cursor = 0;
5263
5471
  this.inputRenderOffset = 0;
5472
+ this.clearPasteRegions();
5264
5473
  this.suggestions = [];
5265
5474
  this.suggestionIndex = -1;
5266
5475
  this.renderPrompt();