open-agents-ai 0.187.270 → 0.187.271

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 +52 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -270619,6 +270619,7 @@ TASK: ${task}` : task;
270619
270619
  content: `Littleman triage: activity detected (${recentSuccesses} recent successes, ${uniqueResults} unique results) — extending turn limit by ${extension2} (now ${this.options.maxTurns})`,
270620
270620
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
270621
270621
  });
270622
+ const detailsLines = recentOutcomes.map((o2) => `- ${o2.tool}: ${o2.succeeded ? "OK" : "ERR"} — ${o2.preview}`);
270622
270623
  this.emit({
270623
270624
  type: "debug_littleman",
270624
270625
  turn,
@@ -270628,7 +270629,11 @@ TASK: ${task}` : task;
270628
270629
  detection: "none",
270629
270630
  recentSuccesses,
270630
270631
  recentFailures: recentOutcomes.length - recentSuccesses,
270631
- intervention: `Extended maxTurns to ${this.options.maxTurns}`
270632
+ intervention: `Extended maxTurns to ${this.options.maxTurns}`,
270633
+ details: [
270634
+ `Recent outcomes:`,
270635
+ ...detailsLines
270636
+ ].join("\n")
270632
270637
  }
270633
270638
  });
270634
270639
  }
@@ -273139,6 +273144,11 @@ Do NOT re-run it. Use the result you already have and proceed to the next step.`
273139
273144
  }
273140
273145
  const succCount = this._littlemanToolOutcomes.filter((o2) => o2.succeeded).length;
273141
273146
  const failCount = this._littlemanToolOutcomes.filter((o2) => !o2.succeeded).length;
273147
+ const lastFour = this._littlemanToolOutcomes.slice(-4);
273148
+ const details = [
273149
+ `Recent tool outcomes:`,
273150
+ ...lastFour.map((o2) => `- ${o2.tool}: ${o2.succeeded ? "OK" : "ERR"} — ${o2.preview}`)
273151
+ ].join("\n");
273142
273152
  this.emit({
273143
273153
  type: "debug_littleman",
273144
273154
  turn,
@@ -273148,7 +273158,8 @@ Do NOT re-run it. Use the result you already have and proceed to the next step.`
273148
273158
  detection: "none",
273149
273159
  recentSuccesses: succCount,
273150
273160
  recentFailures: failCount,
273151
- intervention: this.pendingUserMessages.length > 0 ? this.pendingUserMessages[this.pendingUserMessages.length - 1]?.slice(0, 120) ?? null : null
273161
+ intervention: this.pendingUserMessages.length > 0 ? this.pendingUserMessages[this.pendingUserMessages.length - 1]?.slice(0, 120) ?? null : null,
273162
+ details
273152
273163
  }
273153
273164
  });
273154
273165
  }
@@ -287766,10 +287777,11 @@ ${CONTENT_BG_SEQ}`);
287766
287777
  * Hook into DirectInput — the blessed-style replacement for readline.
287767
287778
  * DirectInput emits named events for all special keys, so no monkey-patching needed.
287768
287779
  */
287769
- hookDirectInput(di, onEscape, onCtrlO) {
287780
+ hookDirectInput(di, onEscape, onCtrlO, onCtrlL) {
287770
287781
  const self2 = this;
287771
287782
  if (onEscape) di.on("escape", () => onEscape());
287772
287783
  if (onCtrlO) di.on("ctrl-o", () => onCtrlO());
287784
+ if (onCtrlL) di.on("ctrl-l", () => onCtrlL());
287773
287785
  di.on("pageup", () => self2.pageUpContent());
287774
287786
  di.on("pagedown", () => self2.pageDownContent());
287775
287787
  di.on("shiftup", () => self2.scrollContentUp(3));
@@ -316023,6 +316035,9 @@ var init_direct_input = __esm({
316023
316035
  case 15:
316024
316036
  this.emit("ctrl-o");
316025
316037
  return;
316038
+ case 12:
316039
+ this.emit("ctrl-l");
316040
+ return;
316026
316041
  case 28:
316027
316042
  this.emit("ctrl-backslash");
316028
316043
  return;
@@ -330187,12 +330202,20 @@ ${entry.fullContent}`
330187
330202
  }
330188
330203
  break;
330189
330204
  case "debug_littleman":
330190
- if (config.verbose && event.littlemanAction) {
330205
+ if (event.littlemanAction) {
330191
330206
  const lm = event.littlemanAction;
330192
330207
  const intervention = lm.intervention ? ` | INTERVENTION: ${lm.intervention}` : "";
330193
- contentWrite(() => renderInfo2(
330194
- `\x1B[38;5;178m[littleman] ${lm.recentSuccesses} ok, ${lm.recentFailures} err${intervention}\x1B[0m`
330195
- ));
330208
+ const compact = `\x1B[38;5;178m[littleman] ${lm.recentSuccesses} ok, ${lm.recentFailures} err${intervention}\x1B[0m`;
330209
+ contentWrite(() => renderInfo2(compact));
330210
+ if (lm.details) {
330211
+ littlemanBuffer.push(lm.details);
330212
+ if (littlemanBuffer.length > 50) littlemanBuffer.splice(0, littlemanBuffer.length - 50);
330213
+ if (showLittleman) {
330214
+ contentWrite(() => {
330215
+ process.stdout.write(c3.dim(lm.details) + "\n");
330216
+ });
330217
+ }
330218
+ }
330196
330219
  }
330197
330220
  break;
330198
330221
  }
@@ -331416,6 +331439,8 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
331416
331439
  origTtyWriteRef = null;
331417
331440
  statusBar.setNeovimFocusChecker(() => isNeovimFocused());
331418
331441
  let _escapeHandler = null;
331442
+ let showLittleman2 = false;
331443
+ const littlemanBuffer2 = [];
331419
331444
  statusBar.hookDirectInput(rl, () => {
331420
331445
  _escapeHandler?.();
331421
331446
  }, () => {
@@ -331449,6 +331474,26 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
331449
331474
  statusBar.enableMouseTracking();
331450
331475
  statusBar.refreshHeaderContent();
331451
331476
  }
331477
+ }, () => {
331478
+ showLittleman2 = !showLittleman2;
331479
+ if (statusBar.isActive) {
331480
+ statusBar.beginContentWrite();
331481
+ if (showLittleman2) {
331482
+ renderInfo2("Littleman details: shown");
331483
+ const dump = littlemanBuffer2.slice(-10).join("\n");
331484
+ if (dump.trim()) {
331485
+ process.stdout.write(`
331486
+ ${c3.dim("[littleman recap]")}
331487
+ `);
331488
+ for (const line of dump.split("\n")) {
331489
+ process.stdout.write(" " + c3.dim(line) + "\n");
331490
+ }
331491
+ }
331492
+ } else {
331493
+ renderInfo2("Littleman details: hidden");
331494
+ }
331495
+ statusBar.endContentWrite();
331496
+ }
331452
331497
  });
331453
331498
  let commandCtxRef = null;
331454
331499
  let headerBtnActive = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.270",
3
+ "version": "0.187.271",
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",