open-agents-ai 0.187.80 → 0.187.82

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 +117 -96
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -278154,6 +278154,98 @@ var init_daemon_registry = __esm({
278154
278154
  }
278155
278155
  });
278156
278156
 
278157
+ // packages/cli/dist/tui/overlay-lock.js
278158
+ var overlay_lock_exports = {};
278159
+ __export(overlay_lock_exports, {
278160
+ bufferIfOverlay: () => bufferIfOverlay,
278161
+ enterOverlay: () => enterOverlay,
278162
+ isOverlayActive: () => isOverlayActive,
278163
+ leaveOverlay: () => leaveOverlay,
278164
+ onOverlayLeave: () => onOverlayLeave,
278165
+ overlayWrite: () => overlayWrite
278166
+ });
278167
+ function onOverlayLeave(cb) {
278168
+ _onLeaveCallback = cb;
278169
+ }
278170
+ function isOverlayActive() {
278171
+ return _overlayActive;
278172
+ }
278173
+ function overlayWrite(data) {
278174
+ if (_origStdoutWrite) {
278175
+ return _origStdoutWrite.call(process.stdout, data);
278176
+ }
278177
+ return process.stdout.write(data);
278178
+ }
278179
+ function bufferIfOverlay(stream, data) {
278180
+ if (!_overlayActive)
278181
+ return false;
278182
+ _buffer.push({ stream, data });
278183
+ return true;
278184
+ }
278185
+ function enterOverlay() {
278186
+ _depth++;
278187
+ if (_depth === 1) {
278188
+ _overlayActive = true;
278189
+ _origStdoutWrite = process.stdout.write.bind(process.stdout);
278190
+ _origStderrWrite = process.stderr.write.bind(process.stderr);
278191
+ process.stdout.write = function(chunk, ...args) {
278192
+ _buffer.push({ stream: "stdout", data: chunk });
278193
+ const cb = typeof args[args.length - 1] === "function" ? args[args.length - 1] : void 0;
278194
+ if (cb)
278195
+ cb();
278196
+ return true;
278197
+ };
278198
+ process.stderr.write = function(chunk, ...args) {
278199
+ _buffer.push({ stream: "stderr", data: chunk });
278200
+ const cb = typeof args[args.length - 1] === "function" ? args[args.length - 1] : void 0;
278201
+ if (cb)
278202
+ cb();
278203
+ return true;
278204
+ };
278205
+ }
278206
+ }
278207
+ function leaveOverlay() {
278208
+ _depth = Math.max(0, _depth - 1);
278209
+ if (_depth === 0) {
278210
+ _overlayActive = false;
278211
+ if (_origStdoutWrite) {
278212
+ process.stdout.write = _origStdoutWrite;
278213
+ _origStdoutWrite = null;
278214
+ }
278215
+ if (_origStderrWrite) {
278216
+ process.stderr.write = _origStderrWrite;
278217
+ _origStderrWrite = null;
278218
+ }
278219
+ if (_onLeaveCallback) {
278220
+ try {
278221
+ _onLeaveCallback();
278222
+ } catch {
278223
+ }
278224
+ }
278225
+ const pending = _buffer;
278226
+ _buffer = [];
278227
+ for (const { stream, data } of pending) {
278228
+ if (stream === "stdout") {
278229
+ process.stdout.write(data);
278230
+ } else {
278231
+ process.stderr.write(data);
278232
+ }
278233
+ }
278234
+ }
278235
+ }
278236
+ var _overlayActive, _depth, _buffer, _origStdoutWrite, _origStderrWrite, _onLeaveCallback;
278237
+ var init_overlay_lock = __esm({
278238
+ "packages/cli/dist/tui/overlay-lock.js"() {
278239
+ "use strict";
278240
+ _overlayActive = false;
278241
+ _depth = 0;
278242
+ _buffer = [];
278243
+ _origStdoutWrite = null;
278244
+ _origStderrWrite = null;
278245
+ _onLeaveCallback = null;
278246
+ }
278247
+ });
278248
+
278157
278249
  // packages/cli/dist/tui/status-bar.js
278158
278250
  var status_bar_exports = {};
278159
278251
  __export(status_bar_exports, {
@@ -278194,6 +278286,7 @@ var init_status_bar = __esm({
278194
278286
  init_system_metrics();
278195
278287
  init_text_selection();
278196
278288
  init_daemon_registry();
278289
+ init_overlay_lock();
278197
278290
  init_theme();
278198
278291
  init_layout2();
278199
278292
  EXPERT_TOOL_BASELINES = {
@@ -278469,6 +278562,14 @@ var init_status_bar = __esm({
278469
278562
  unlockFooter() {
278470
278563
  this._suppressStdinRedraw = false;
278471
278564
  }
278565
+ /** Begin DEC 2026 synchronized output — terminal buffers all writes */
278566
+ syncBegin() {
278567
+ this.termWrite("\x1B[?2026h");
278568
+ }
278569
+ /** End DEC 2026 synchronized output — terminal displays all buffered writes atomically */
278570
+ syncEnd() {
278571
+ this.termWrite("\x1B[?2026l");
278572
+ }
278472
278573
  /** Callback to get available slash commands for suggestion matching */
278473
278574
  _commandListProvider = null;
278474
278575
  /** Callback to apply a selected suggestion to the input line */
@@ -279351,7 +279452,7 @@ var init_status_bar = __esm({
279351
279452
  // Users can always hold Shift for selection as a universal fallback.
279352
279453
  /** Enable mouse tracking (click + scroll + motion during drag) */
279353
279454
  enableMouseTracking() {
279354
- if (this._mouseTrackingEnabled)
279455
+ if (this._mouseTrackingEnabled || isOverlayActive())
279355
279456
  return;
279356
279457
  this._mouseTrackingEnabled = true;
279357
279458
  if (process.stdout.isTTY) {
@@ -279361,7 +279462,7 @@ var init_status_bar = __esm({
279361
279462
  /** Disable mouse tracking entirely (only for overlay transitions + exit).
279362
279463
  * NOT called on idle — mouse stays active for clicks, scroll, buttons. */
279363
279464
  disableMouseTracking() {
279364
- if (!this._mouseTrackingEnabled)
279465
+ if (!this._mouseTrackingEnabled || isOverlayActive())
279365
279466
  return;
279366
279467
  this._mouseTrackingEnabled = false;
279367
279468
  if (process.stdout.isTTY) {
@@ -279723,9 +279824,13 @@ var init_status_bar = __esm({
279723
279824
  _origWrite = null;
279724
279825
  /** True stdout.write captured at construction — immune to interceptor stacking */
279725
279826
  _trueStdoutWrite = process.stdout.write.bind(process.stdout);
279726
- /** Write directly to the terminal, bypassing ALL interceptors.
279727
- * ALL footer/input/braille rendering MUST use this, never process.stdout.write. */
279827
+ /** Write directly to the terminal, bypassing content bg monkey-patch.
279828
+ * ALL footer/input/braille rendering MUST use this, never process.stdout.write.
279829
+ * Respects overlay isolation — when tuiSelect/dropPanel is on alt screen,
279830
+ * footer writes are suppressed to prevent corrupting the overlay display. */
279728
279831
  termWrite(data) {
279832
+ if (isOverlayActive())
279833
+ return;
279729
279834
  try {
279730
279835
  this._trueStdoutWrite.call(process.stdout, data);
279731
279836
  } catch (err) {
@@ -280818,98 +280923,6 @@ ${CONTENT_BG_SEQ}`);
280818
280923
  }
280819
280924
  });
280820
280925
 
280821
- // packages/cli/dist/tui/overlay-lock.js
280822
- var overlay_lock_exports = {};
280823
- __export(overlay_lock_exports, {
280824
- bufferIfOverlay: () => bufferIfOverlay,
280825
- enterOverlay: () => enterOverlay,
280826
- isOverlayActive: () => isOverlayActive,
280827
- leaveOverlay: () => leaveOverlay,
280828
- onOverlayLeave: () => onOverlayLeave,
280829
- overlayWrite: () => overlayWrite
280830
- });
280831
- function onOverlayLeave(cb) {
280832
- _onLeaveCallback = cb;
280833
- }
280834
- function isOverlayActive() {
280835
- return _overlayActive;
280836
- }
280837
- function overlayWrite(data) {
280838
- if (_origStdoutWrite) {
280839
- return _origStdoutWrite.call(process.stdout, data);
280840
- }
280841
- return process.stdout.write(data);
280842
- }
280843
- function bufferIfOverlay(stream, data) {
280844
- if (!_overlayActive)
280845
- return false;
280846
- _buffer.push({ stream, data });
280847
- return true;
280848
- }
280849
- function enterOverlay() {
280850
- _depth++;
280851
- if (_depth === 1) {
280852
- _overlayActive = true;
280853
- _origStdoutWrite = process.stdout.write.bind(process.stdout);
280854
- _origStderrWrite = process.stderr.write.bind(process.stderr);
280855
- process.stdout.write = function(chunk, ...args) {
280856
- _buffer.push({ stream: "stdout", data: chunk });
280857
- const cb = typeof args[args.length - 1] === "function" ? args[args.length - 1] : void 0;
280858
- if (cb)
280859
- cb();
280860
- return true;
280861
- };
280862
- process.stderr.write = function(chunk, ...args) {
280863
- _buffer.push({ stream: "stderr", data: chunk });
280864
- const cb = typeof args[args.length - 1] === "function" ? args[args.length - 1] : void 0;
280865
- if (cb)
280866
- cb();
280867
- return true;
280868
- };
280869
- }
280870
- }
280871
- function leaveOverlay() {
280872
- _depth = Math.max(0, _depth - 1);
280873
- if (_depth === 0) {
280874
- _overlayActive = false;
280875
- if (_origStdoutWrite) {
280876
- process.stdout.write = _origStdoutWrite;
280877
- _origStdoutWrite = null;
280878
- }
280879
- if (_origStderrWrite) {
280880
- process.stderr.write = _origStderrWrite;
280881
- _origStderrWrite = null;
280882
- }
280883
- if (_onLeaveCallback) {
280884
- try {
280885
- _onLeaveCallback();
280886
- } catch {
280887
- }
280888
- }
280889
- const pending = _buffer;
280890
- _buffer = [];
280891
- for (const { stream, data } of pending) {
280892
- if (stream === "stdout") {
280893
- process.stdout.write(data);
280894
- } else {
280895
- process.stderr.write(data);
280896
- }
280897
- }
280898
- }
280899
- }
280900
- var _overlayActive, _depth, _buffer, _origStdoutWrite, _origStderrWrite, _onLeaveCallback;
280901
- var init_overlay_lock = __esm({
280902
- "packages/cli/dist/tui/overlay-lock.js"() {
280903
- "use strict";
280904
- _overlayActive = false;
280905
- _depth = 0;
280906
- _buffer = [];
280907
- _origStdoutWrite = null;
280908
- _origStderrWrite = null;
280909
- _onLeaveCallback = null;
280910
- }
280911
- });
280912
-
280913
280926
  // packages/cli/dist/tui/tui-select.js
280914
280927
  function ansi3(code8, text) {
280915
280928
  return isTTY3 ? `\x1B[${code8}m${text}\x1B[0m` : text;
@@ -311623,7 +311636,15 @@ ${result.content.slice(0, 2e3)}${result.content.length > 2e3 ? "\n[truncated]" :
311623
311636
  return;
311624
311637
  }
311625
311638
  if (pasteBuffer.length === 0 && input.startsWith("/")) {
311639
+ if (statusBar.isActive) {
311640
+ statusBar.lockFooter();
311641
+ statusBar.syncBegin();
311642
+ }
311626
311643
  processLine(input);
311644
+ if (statusBar.isActive) {
311645
+ statusBar.syncEnd();
311646
+ setTimeout(() => statusBar.unlockFooter(), 0);
311647
+ }
311627
311648
  return;
311628
311649
  }
311629
311650
  pasteBuffer.push(input);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.80",
3
+ "version": "0.187.82",
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",