open-agents-ai 0.138.25 → 0.138.26

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 +26 -19
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -36687,8 +36687,8 @@ function tuiSelect(opts) {
36687
36687
  lines.push(` ${selectColors.dim("\u2191/\u2193 navigate Enter select" + actionHint + deleteHint + customHint + " Esc " + (filter ? "clear filter" : "cancel") + " Type to filter")}`);
36688
36688
  }
36689
36689
  lines.push("");
36690
- const output = lines.join("\n");
36691
- overlayWrite(output);
36690
+ const output = lines.join("\n").replace(/\x1B\[0m/g, "\x1B[0m\x1B[48;5;234m");
36691
+ overlayWrite("\x1B[48;5;234m" + output);
36692
36692
  lastRenderedLines = lines.length;
36693
36693
  }
36694
36694
  function cleanup() {
@@ -51395,13 +51395,13 @@ var init_status_bar = __esm({
51395
51395
  for (let row = clearStart; row <= rows; row++) {
51396
51396
  buf += `\x1B[${row};1H\x1B[2K`;
51397
51397
  }
51398
- buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}\x1B[${pos.topSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
51399
51398
  for (let i = 0; i < inputWrap.lines.length; i++) {
51400
51399
  const row = pos.inputStartRow + i;
51401
51400
  const prefix = i === 0 ? this.promptText : " ".repeat(this.promptWidth);
51402
- buf += `\x1B[${row};1H${prefix}${inputWrap.lines[i]}`;
51401
+ buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${prefix}${inputWrap.lines[i]}${RESET}`;
51403
51402
  }
51404
- buf += `\x1B[${pos.bottomSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B[${pos.scrollEnd};1H`;
51403
+ buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}`;
51404
+ buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B[${pos.scrollEnd};1H`;
51405
51405
  process.stdout.write(buf);
51406
51406
  } else {
51407
51407
  this.applyScrollRegion();
@@ -51906,7 +51906,7 @@ ${CONTENT_BG_SEQ}`);
51906
51906
  /** Update _currentFooterHeight based on current input. Returns true if height changed. */
51907
51907
  updateFooterHeight(termWidth) {
51908
51908
  const inputLines = this.computeInputLineCount(termWidth);
51909
- const newHeight = 4 + inputLines;
51909
+ const newHeight = 2 + inputLines;
51910
51910
  if (newHeight !== this._currentFooterHeight) {
51911
51911
  this._currentFooterHeight = newHeight;
51912
51912
  return true;
@@ -51916,18 +51916,25 @@ ${CONTENT_BG_SEQ}`);
51916
51916
  /** Check if footer height would change, WITHOUT actually updating it */
51917
51917
  footerHeightChanged(termWidth) {
51918
51918
  const inputLines = this.computeInputLineCount(termWidth);
51919
- return 4 + inputLines !== this._currentFooterHeight;
51919
+ return 2 + inputLines !== this._currentFooterHeight;
51920
51920
  }
51921
- /** Compute absolute row positions for all footer elements */
51921
+ /** Compute absolute row positions for all footer elements.
51922
+ * New layout (top to bottom): input → braille → metrics.
51923
+ * No separator lines, no blank rows. */
51922
51924
  rowPositions(rows) {
51923
51925
  const fh = this._currentFooterHeight;
51926
+ const inputLines = fh - 2;
51924
51927
  return {
51925
51928
  scrollEnd: Math.max(rows - fh, this.scrollRegionTop + 1),
51926
- bufferRow: rows - fh + 1,
51927
- topSepRow: rows - fh + 2,
51928
- inputStartRow: rows - fh + 3,
51929
- bottomSepRow: rows - 1,
51930
- metricsRow: rows
51929
+ inputStartRow: rows - fh + 1,
51930
+ // input at TOP of footer
51931
+ bufferRow: rows - fh + 1 + inputLines,
51932
+ // braille below input
51933
+ metricsRow: rows,
51934
+ // metrics at BOTTOM
51935
+ // Legacy (unused but keeps TS happy for any remaining refs)
51936
+ topSepRow: -1,
51937
+ bottomSepRow: -1
51931
51938
  };
51932
51939
  }
51933
51940
  /**
@@ -52024,14 +52031,16 @@ ${CONTENT_BG_SEQ}`);
52024
52031
  }
52025
52032
  }
52026
52033
  const inputWrap = this.wrapInput(w);
52027
- let buf = `\x1B[?7l\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}\x1B[${pos.topSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
52034
+ let buf = "\x1B[?7l";
52028
52035
  for (let i = 0; i < inputWrap.lines.length; i++) {
52029
52036
  const row = pos.inputStartRow + i;
52030
52037
  const prefix = i === 0 ? this.promptText : " ".repeat(this.promptWidth);
52031
52038
  buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${prefix}${inputWrap.lines[i]}${RESET}`;
52032
52039
  }
52033
52040
  const cursorTermRow = pos.inputStartRow + inputWrap.cursorRow;
52034
- buf += `\x1B[${pos.bottomSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B[${cursorTermRow};${inputWrap.cursorCol}H\x1B[?25h`;
52041
+ buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}`;
52042
+ buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}`;
52043
+ buf += `\x1B[?7h\x1B[${cursorTermRow};${inputWrap.cursorCol}H\x1B[?25h`;
52035
52044
  process.stdout.write(buf);
52036
52045
  }
52037
52046
  /**
@@ -52058,7 +52067,7 @@ ${CONTENT_BG_SEQ}`);
52058
52067
  const rows = process.stdout.rows ?? 24;
52059
52068
  const w = getTermWidth();
52060
52069
  const pos = this.rowPositions(rows);
52061
- const buf = `\x1B7\x1B[?7l\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}\x1B[${pos.topSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}\x1B[${pos.bottomSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B8` + // DEC restore cursor
52070
+ const buf = `\x1B7\x1B[?7l\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}\x1B[?7h\x1B8` + // DEC restore cursor
52062
52071
  (this.writeDepth === 0 ? "\x1B[?25h" : "");
52063
52072
  process.stdout.write(buf);
52064
52073
  }
@@ -52093,14 +52102,12 @@ ${CONTENT_BG_SEQ}`);
52093
52102
  buf += "\x1BM";
52094
52103
  }
52095
52104
  buf += "\x1B[?7l";
52096
- buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}`;
52097
- buf += `\x1B[${pos.topSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
52098
52105
  for (let i = 0; i < inputWrap.lines.length; i++) {
52099
52106
  const row = pos.inputStartRow + i;
52100
52107
  const prefix = i === 0 ? this.promptText : " ".repeat(this.promptWidth);
52101
52108
  buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${prefix}${inputWrap.lines[i]}${RESET}`;
52102
52109
  }
52103
- buf += `\x1B[${pos.bottomSepRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
52110
+ buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}`;
52104
52111
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}`;
52105
52112
  buf += "\x1B[?7h";
52106
52113
  buf += "\x1B8";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.138.25",
3
+ "version": "0.138.26",
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",