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.
- package/dist/index.js +9 -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