open-agents-ai 0.187.54 → 0.187.55

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/index.js +19 -15
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -301338,20 +301338,21 @@ ${CONTENT_BG_SEQ}`);
301338
301338
  * When suggestions are active, they replace the braille row and expand upward. */
301339
301339
  rowPositions(rows) {
301340
301340
  const fh = this._currentFooterHeight;
301341
- const suggestionRows = this._suggestions.length > 0 ? this._suggestions.length : 1;
301342
- const inputLines = fh - 1 - suggestionRows;
301341
+ const hasSugg = this._suggestions.length > 0;
301342
+ const suggestionAndBottomRows = hasSugg ? this._suggestions.length + 1 : 1;
301343
301343
  const totalFooter = fh;
301344
+ const metricsRow = rows;
301345
+ const boxBottomRow = metricsRow - 1;
301346
+ const suggestStartRow = hasSugg ? boxBottomRow - this._suggestions.length : -1;
301347
+ const inputEndRow = hasSugg ? suggestStartRow - 1 : boxBottomRow - 1;
301348
+ const inputStartRow = rows - totalFooter + 1;
301344
301349
  return {
301345
- scrollEnd: Math.max(rows - totalFooter, this.scrollRegionTop + 1),
301346
- inputStartRow: rows - totalFooter + 1,
301350
+ scrollEnd: Math.max(inputStartRow - 1, this.scrollRegionTop + 1),
301351
+ inputStartRow,
301347
301352
  tabBarRow: -1,
301348
- // deprecated: tabs now in header
301349
- // When suggestions active: multiple rows between input and metrics
301350
- // When no suggestions: single braille row at N-1
301351
- bufferRow: rows - 1,
301352
- // braille (only used when no suggestions)
301353
- suggestStartRow: this._suggestions.length > 0 ? rows - suggestionRows : -1,
301354
- metricsRow: rows,
301353
+ bufferRow: boxBottomRow,
301354
+ suggestStartRow,
301355
+ metricsRow,
301355
301356
  topSepRow: -1,
301356
301357
  bottomSepRow: -1
301357
301358
  };
@@ -301542,16 +301543,19 @@ ${CONTENT_BG_SEQ}`);
301542
301543
  if (pos.tabBarRow > 0) {
301543
301544
  buf += `\x1B[${pos.tabBarRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
301544
301545
  }
301546
+ const boxInnerR = w - 2;
301545
301547
  if (this._suggestions.length > 0 && pos.suggestStartRow > 0) {
301546
301548
  for (let si = 0; si < this._suggestions.length; si++) {
301547
301549
  const row = pos.suggestStartRow + si;
301548
301550
  const cmd = this._suggestions[si];
301549
- buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K`;
301550
- buf += `${PANEL_BG_SEQ}\x1B[38;5;${TEXT_DIM}m /`;
301551
- buf += `\x1B[38;5;${TEXT_PRIMARY}m${cmd}${RESET}`;
301551
+ const isHl = si === this._suggestIndex;
301552
+ const fg2 = isHl ? `\x1B[1;38;5;${TEXT_PRIMARY}m` : `\x1B[38;5;${TEXT_PRIMARY}m`;
301553
+ const marker = isHl ? `\x1B[38;5;${TEXT_PRIMARY}m\u203A ` : " ";
301554
+ buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_V}${RESET}${PANEL_BG_SEQ} ${marker}\x1B[38;5;${TEXT_DIM}m/${fg2}${cmd}`;
301555
+ buf += `${PANEL_BG_SEQ}\x1B[K\x1B[${row};${w}H${BOX_FG}${BOX_V}${RESET}`;
301552
301556
  }
301557
+ buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_BL}${BOX_H.repeat(Math.max(0, boxInnerR))}${BOX_BR}${RESET}`;
301553
301558
  } else {
301554
- const boxInnerR = w - 2;
301555
301559
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_BL}${BOX_H.repeat(Math.max(0, boxInnerR))}${BOX_BR}${RESET}`;
301556
301560
  }
301557
301561
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B8` + // DEC restore cursor
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.54",
3
+ "version": "0.187.55",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",