open-agents-ai 0.186.0 → 0.186.2

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 +9 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -25798,6 +25798,8 @@ var init_agenticRunner = __esm({
25798
25798
  // window catches oscillation patterns (success → ENOENT → success → ENOENT)
25799
25799
  // that the consecutive counter misses.
25800
25800
  _consecutiveEnoent = 0;
25801
+ _assistantTextEmitted = false;
25802
+ // WO-E26: prevent double-emit
25801
25803
  _recentEnoents = [];
25802
25804
  // sliding window of last 8 tool calls
25803
25805
  // -- Session Checkpointing (Priority 5) --
@@ -26211,6 +26213,7 @@ TASK: ${task}` : task;
26211
26213
  let completed = false;
26212
26214
  let summary = "";
26213
26215
  let bruteForceCycle = 0;
26216
+ this._assistantTextEmitted = false;
26214
26217
  let consecutiveTextOnly = 0;
26215
26218
  const MAX_CONSECUTIVE_TEXT_ONLY = 3;
26216
26219
  let narratedToolCallCount = 0;
@@ -26867,8 +26870,9 @@ Then use file_read on individual FILES inside it.`);
26867
26870
  if (tc.name === "task_complete") {
26868
26871
  completed = true;
26869
26872
  summary = tc.arguments.summary || "";
26870
- if (summary) {
26873
+ if (summary && !this._assistantTextEmitted) {
26871
26874
  this.emit({ type: "assistant_text", content: summary, turn, timestamp: (/* @__PURE__ */ new Date()).toISOString() });
26875
+ this._assistantTextEmitted = true;
26872
26876
  }
26873
26877
  break;
26874
26878
  }
@@ -27222,8 +27226,10 @@ Full content available via: repl_exec(code="data = retrieve('${handleId}')") or
27222
27226
  if (tc.name === "task_complete") {
27223
27227
  completed = true;
27224
27228
  summary = tc.arguments.summary || "";
27225
- if (summary)
27229
+ if (summary && !this._assistantTextEmitted) {
27226
27230
  this.emit({ type: "assistant_text", content: summary, turn, timestamp: (/* @__PURE__ */ new Date()).toISOString() });
27231
+ this._assistantTextEmitted = true;
27232
+ }
27227
27233
  break;
27228
27234
  }
27229
27235
  }
@@ -28836,6 +28842,7 @@ ${description}`
28836
28842
  const cleanContent = content.replace(/<think>[\s\S]*?<\/think>/g, "").trim();
28837
28843
  if (cleanContent) {
28838
28844
  this.emit({ type: "assistant_text", content: cleanContent, turn, timestamp: (/* @__PURE__ */ new Date()).toISOString() });
28845
+ this._assistantTextEmitted = true;
28839
28846
  }
28840
28847
  const hadThinking = content.includes("<think>") && content.includes("</think>");
28841
28848
  const thinkOnlyResponse = hadThinking && !cleanContent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.186.0",
3
+ "version": "0.186.2",
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",