zames_pro 2.31.0 → 2.32.0

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.
package/dist/commands.js CHANGED
@@ -169,6 +169,15 @@ export function renderDoctor(d) {
169
169
  row(!!d.clipboardTool, 'clipboard', d.clipboardTool || 'no tool found (image paste disabled)');
170
170
  row(true, 'mcp', d.mcpServers + ' server(s), ' + d.mcpTools + ' tool(s)');
171
171
  row(d.transcriptOk, 'transcript', d.transcriptOk ? 'on' : 'off');
172
+ if (typeof d.contextLimit === 'number' && d.contextLimit > 0) {
173
+ row(true, 'context', d.contextLimit.toLocaleString('en-US') + ' tokens');
174
+ }
175
+ if (d.gitOk && typeof d.hasOrigin === 'boolean') {
176
+ row(true, 'git remote', d.hasOrigin ? 'origin configured' : 'no origin');
177
+ }
178
+ if (typeof d.minSendIntervalMs === 'number') {
179
+ row(d.minSendIntervalMs > 0, 'send pause', Math.round(d.minSendIntervalMs / 1000) + 's between agent sends');
180
+ }
172
181
  return 'Doctor:' + NL + rows.join(NL);
173
182
  }
174
183
  export function renderPermissions(p) {
package/dist/index.js CHANGED
@@ -2461,6 +2461,11 @@ async function main() {
2461
2461
  mcpTools: mcpStatus.toolCount,
2462
2462
  transcriptOk: !!transcript.file,
2463
2463
  authSaved: authMarkerExists(),
2464
+ contextLimit: config.ui.contextLimit,
2465
+ hasOrigin: gitOk
2466
+ ? (await runGit('git remote', currentWorkdir, 5000)).includes('origin')
2467
+ : undefined,
2468
+ minSendIntervalMs: config.browser.minSendIntervalMs,
2464
2469
  })));
2465
2470
  continue;
2466
2471
  }
package/dist/input.js CHANGED
@@ -501,9 +501,25 @@ export class LineEditor {
501
501
  // Redraw on terminal resize so the layout follows the new width instead
502
502
  // of leaving artifacts from the old one.
503
503
  process.stdout.on('resize', this._onResize);
504
+ // Pin the input block to the BOTTOM of the terminal. A fresh terminal
505
+ // starts the cursor at the top, so without this the input line sits at
506
+ // the top and only "descends" as output accumulates. Filling the viewport
507
+ // with newlines first makes the block start at the bottom, and every
508
+ // later printAbove() pushes content UP while the input stays put.
509
+ this._padToBottom();
504
510
  this._writeBlock();
505
511
  return true;
506
512
  }
513
+ // Fill the current viewport with empty lines so the next _writeBlock()
514
+ // lands at the BOTTOM of the terminal. Used at start and after clearScreen.
515
+ // We deliberately emit real newlines (not a cursor-position escape) because
516
+ // the block height is not known yet and scrolling keeps the block's own
517
+ // cursor math (`cursorRowFromTop`) correct.
518
+ _padToBottom() {
519
+ const rows = process.stdout.rows || 24;
520
+ if (rows > 1)
521
+ process.stdout.write(NL.repeat(rows - 1));
522
+ }
507
523
  dispose() {
508
524
  const stdin = process.stdin;
509
525
  stdin.removeListener('data', this._onData);
@@ -789,6 +805,8 @@ export class LineEditor {
789
805
  process.stdout.write(ESC + '[2J' + ESC + '[H');
790
806
  this.rendered = false;
791
807
  this._lastStatusBlock = '';
808
+ // Re-pin the block to the bottom after the screen was cleared.
809
+ this._padToBottom();
792
810
  this._writeBlock();
793
811
  }
794
812
  // Repaint ONLY the input rows, leaving the status/spinner block untouched.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.31.0",
3
+ "version": "2.32.0",
4
4
  "description": "Terminal coding agent over chat.deepseek.com via Playwright",
5
5
  "type": "module",
6
6
  "bin": {