open-agents-ai 0.187.115 → 0.187.117

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 +46 -17
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -280510,7 +280510,7 @@ var init_status_bar = __esm({
280510
280510
  _origWrite = null;
280511
280511
  /** True stdout.write captured at construction — immune to interceptor stacking */
280512
280512
  _trueStdoutWrite = process.stdout.write.bind(process.stdout);
280513
- /** Write directly to the terminal, bypassing content bg monkey-patch.
280513
+ /** Write directly to the terminal, bypassing content bg/scrollback monkey-patch.
280514
280514
  * ALL footer/input/braille rendering MUST use this, never process.stdout.write.
280515
280515
  * Respects overlay isolation — when tuiSelect/dropPanel is on alt screen,
280516
280516
  * footer writes are suppressed to prevent corrupting the overlay display. */
@@ -280544,14 +280544,30 @@ var init_status_bar = __esm({
280544
280544
  if (this.writeDepth === 1 && !this._origWrite) {
280545
280545
  this._origWrite = this._trueStdoutWrite;
280546
280546
  const origBound = this._trueStdoutWrite;
280547
- process.stdout.write = ((chunk, ...args) => {
280547
+ const self2 = this;
280548
+ const bufferedWrite = function(chunk, ...args) {
280549
+ let text;
280550
+ if (typeof chunk === "string")
280551
+ text = chunk;
280552
+ else if (Buffer.isBuffer(chunk))
280553
+ text = chunk.toString();
280554
+ else
280555
+ text = String(chunk);
280556
+ const lines = text.split("\n");
280557
+ for (const line of lines) {
280558
+ const visible = line.replace(/\x1B\[[0-9;]*[A-Za-z]/g, "");
280559
+ if (visible.trim().length > 0)
280560
+ self2.bufferContentLine(line);
280561
+ }
280548
280562
  if (typeof chunk === "string") {
280549
- chunk = chunk.replace(/\x1B\[0m/g, `\x1B[0m${CONTENT_BG_SEQ}`);
280550
- chunk = chunk.replace(/\n/g, `\x1B[K
280563
+ chunk = chunk.replace(/\x1B\[0m/g, `\x1B[0m${CONTENT_BG_SEQ}`).replace(/\n/g, `\x1B[K
280551
280564
  ${CONTENT_BG_SEQ}`);
280552
280565
  }
280553
- return origBound(chunk, ...args);
280554
- });
280566
+ return origBound.call(process.stdout, chunk, ...args);
280567
+ };
280568
+ bufferedWrite.__oa_oaWriteLayer = "statusbar";
280569
+ bufferedWrite.__oa_buffer_lines = true;
280570
+ process.stdout.write = bufferedWrite;
280555
280571
  }
280556
280572
  this.termWrite("\x1B[?2026h");
280557
280573
  process.stdout.write(`\x1B[?25l` + // hide cursor
@@ -280574,6 +280590,14 @@ ${CONTENT_BG_SEQ}`);
280574
280590
  this.writeDepth = Math.max(0, this.writeDepth - 1);
280575
280591
  if (this.writeDepth === 0) {
280576
280592
  if (this._origWrite) {
280593
+ try {
280594
+ delete process.stdout.write.__oa_oaWriteLayer;
280595
+ } catch {
280596
+ }
280597
+ try {
280598
+ delete process.stdout.write.__oa_buffer_lines;
280599
+ } catch {
280600
+ }
280577
280601
  process.stdout.write = this._origWrite;
280578
280602
  this._origWrite = null;
280579
280603
  }
@@ -309229,21 +309253,26 @@ ${entry.fullContent}`
309229
309253
  }
309230
309254
  if (statusBar?.isActive) {
309231
309255
  statusBar.beginContentWrite();
309232
- const postInterceptWrite = process.stdout.write;
309233
- const boundWrite = postInterceptWrite.bind(process.stdout);
309234
- process.stdout.write = ((chunk, ...args) => {
309235
- const text = typeof chunk === "string" ? chunk : new TextDecoder().decode(chunk);
309236
- for (const line of text.split("\n")) {
309237
- if (line.replace(/\x1B\[[0-9;]*[A-Za-z]/g, "").length > 0) {
309238
- statusBar.bufferContentLine(line);
309256
+ const alreadyBuffered = process.stdout.write.__oa_buffer_lines === true;
309257
+ let postInterceptWrite = null;
309258
+ if (!alreadyBuffered) {
309259
+ postInterceptWrite = process.stdout.write;
309260
+ const boundWrite = postInterceptWrite.bind(process.stdout);
309261
+ process.stdout.write = ((chunk, ...args) => {
309262
+ const text = typeof chunk === "string" ? chunk : new TextDecoder().decode(chunk);
309263
+ for (const line of text.split("\n")) {
309264
+ if (line.replace(/\x1B\[[0-9;]*[A-Za-z]/g, "").length > 0) {
309265
+ statusBar.bufferContentLine(line);
309266
+ }
309239
309267
  }
309240
- }
309241
- return boundWrite(chunk, ...args);
309242
- });
309268
+ return boundWrite(chunk, ...args);
309269
+ });
309270
+ }
309243
309271
  try {
309244
309272
  fn();
309245
309273
  } finally {
309246
- process.stdout.write = postInterceptWrite;
309274
+ if (postInterceptWrite)
309275
+ process.stdout.write = postInterceptWrite;
309247
309276
  statusBar.endContentWrite();
309248
309277
  }
309249
309278
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.115",
3
+ "version": "0.187.117",
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",