zames_pro 2.21.1 → 2.21.2

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.
Files changed (2) hide show
  1. package/dist/input.js +10 -3
  2. package/package.json +1 -1
package/dist/input.js CHANGED
@@ -542,13 +542,20 @@ export class LineEditor {
542
542
  const ctxText = this._contextText();
543
543
  let statusOut = '';
544
544
  let top = 0;
545
+ // Never fill a row to the FULL terminal width: on terminals with
546
+ // autowrap (Tabby, iTerm, Windows Terminal) a row that reaches the last
547
+ // column wraps the cursor to the next line, so the following erase moves
548
+ // to the wrong row and the status line STACKS on screen. Keep one column
549
+ // free (effective width = cols - 1) for the right-aligned context and for
550
+ // the padded status row.
551
+ const usable = Math.max(1, cols - 1);
545
552
  if (this.statusText) {
546
553
  if (ctxText) {
547
554
  // Right-align the context on the SAME row as the status. When the
548
555
  // status is too long to leave room, do NOT cram them together (that
549
556
  // pushed the trailing `%` past the right edge and it got truncated):
550
557
  // put the context on its own line instead.
551
- const space = cols - visLen(this.statusText) - visLen(ctxText);
558
+ const space = usable - visLen(this.statusText) - visLen(ctxText);
552
559
  if (space >= 2) {
553
560
  const row = this.statusText + ' '.repeat(space) + ctxText;
554
561
  statusOut = row + NL;
@@ -557,7 +564,7 @@ export class LineEditor {
557
564
  else {
558
565
  statusOut = this.statusText + NL;
559
566
  top = visRows(this.statusText, cols);
560
- const ctxRow = ' '.repeat(Math.max(0, cols - visLen(ctxText))) + ctxText;
567
+ const ctxRow = ' '.repeat(Math.max(0, usable - visLen(ctxText))) + ctxText;
561
568
  statusOut += ctxRow + NL;
562
569
  top += visRows(ctxRow, cols);
563
570
  }
@@ -572,7 +579,7 @@ export class LineEditor {
572
579
  else if (ctxText) {
573
580
  // Idle: no spinner, but the context still belongs on its own line just
574
581
  // above the input, right-aligned.
575
- const ctxRow = ' '.repeat(Math.max(0, cols - visLen(ctxText))) + ctxText;
582
+ const ctxRow = ' '.repeat(Math.max(0, usable - visLen(ctxText))) + ctxText;
576
583
  statusOut = ctxRow + NL;
577
584
  top = visRows(ctxRow, cols);
578
585
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.21.1",
3
+ "version": "2.21.2",
4
4
  "description": "Terminal coding agent over chat.deepseek.com via Playwright",
5
5
  "type": "module",
6
6
  "bin": {