open-agents-ai 0.187.209 → 0.187.211
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 +49 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -270359,7 +270359,13 @@ ${memoryLines.join("\n")}`
|
|
|
270359
270359
|
"skill_execute",
|
|
270360
270360
|
"sub_agent",
|
|
270361
270361
|
"priority_delegate",
|
|
270362
|
-
"ask_user"
|
|
270362
|
+
"ask_user",
|
|
270363
|
+
// WO-TASK-02 — todo_write is a state-write tool. Calling it twice
|
|
270364
|
+
// with the same args is idempotent (it just re-stores the same
|
|
270365
|
+
// list) but the dedup detector was flagging it as a wasted call
|
|
270366
|
+
// and blocking the planning workflow. The agent uses todo_write
|
|
270367
|
+
// as its primary checkpoint mechanism so it MUST always execute.
|
|
270368
|
+
"todo_write"
|
|
270363
270369
|
].includes(tc.name);
|
|
270364
270370
|
const cachedResult = recentToolResults.get(toolFingerprint);
|
|
270365
270371
|
if (isReadLike && cachedResult !== void 0) {
|
|
@@ -281673,8 +281679,40 @@ function formatToolArgs(toolName, args, verbose) {
|
|
|
281673
281679
|
const count = opts ? ` (${opts.length} options)` : "";
|
|
281674
281680
|
return `${q}${c3.dim(count)}`;
|
|
281675
281681
|
}
|
|
281682
|
+
case "todo_write": {
|
|
281683
|
+
const todos = args["todos"];
|
|
281684
|
+
if (!Array.isArray(todos)) return "";
|
|
281685
|
+
const counts = { p: 0, i: 0, c: 0, b: 0 };
|
|
281686
|
+
for (const t2 of todos) {
|
|
281687
|
+
if (t2?.status === "completed") counts.c++;
|
|
281688
|
+
else if (t2?.status === "in_progress") counts.i++;
|
|
281689
|
+
else if (t2?.status === "blocked") counts.b++;
|
|
281690
|
+
else counts.p++;
|
|
281691
|
+
}
|
|
281692
|
+
const summary = `${todos.length} items (${counts.c}◉ ${counts.i}◐ ${counts.p}〇${counts.b > 0 ? ` ${counts.b}◍` : ""})`;
|
|
281693
|
+
if (verbose) {
|
|
281694
|
+
const current = todos.find((t2) => t2?.status === "in_progress");
|
|
281695
|
+
if (current?.content) {
|
|
281696
|
+
return `${summary} — ${truncStr(current.content, maxArg - summary.length - 4)}`;
|
|
281697
|
+
}
|
|
281698
|
+
}
|
|
281699
|
+
return summary;
|
|
281700
|
+
}
|
|
281701
|
+
case "todo_read":
|
|
281702
|
+
return "";
|
|
281676
281703
|
default:
|
|
281677
|
-
return Object.entries(args).map(([k, v]) =>
|
|
281704
|
+
return Object.entries(args).map(([k, v]) => {
|
|
281705
|
+
let valStr;
|
|
281706
|
+
if (v === null || v === void 0) valStr = String(v);
|
|
281707
|
+
else if (typeof v === "object") {
|
|
281708
|
+
try {
|
|
281709
|
+
valStr = JSON.stringify(v);
|
|
281710
|
+
} catch {
|
|
281711
|
+
valStr = String(v);
|
|
281712
|
+
}
|
|
281713
|
+
} else valStr = String(v);
|
|
281714
|
+
return `${k}=${truncStr(valStr, Math.max(30, maxArg / 3))}`;
|
|
281715
|
+
}).join(", ");
|
|
281678
281716
|
}
|
|
281679
281717
|
}
|
|
281680
281718
|
function truncStr(s2, max) {
|
|
@@ -312939,11 +312977,11 @@ function applyHeightChange(nextHeight) {
|
|
|
312939
312977
|
const changed = setTasksHeight(nextHeight);
|
|
312940
312978
|
if (changed) {
|
|
312941
312979
|
notifyLayoutResize();
|
|
312942
|
-
|
|
312943
|
-
|
|
312944
|
-
|
|
312945
|
-
|
|
312946
|
-
|
|
312980
|
+
}
|
|
312981
|
+
if (_onResizeChange) {
|
|
312982
|
+
try {
|
|
312983
|
+
_onResizeChange(nextHeight);
|
|
312984
|
+
} catch {
|
|
312947
312985
|
}
|
|
312948
312986
|
}
|
|
312949
312987
|
}
|
|
@@ -327003,6 +327041,10 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
327003
327041
|
process.stdout.on("resize", () => {
|
|
327004
327042
|
statusBar.handleResize();
|
|
327005
327043
|
setTermSize(process.stdout.rows ?? 24, process.stdout.columns ?? 80);
|
|
327044
|
+
try {
|
|
327045
|
+
refreshTuiTasks();
|
|
327046
|
+
} catch {
|
|
327047
|
+
}
|
|
327006
327048
|
if (isNeovimActive()) {
|
|
327007
327049
|
const contentRows = statusBar.isActive ? statusBar.availableContentRows : Math.max(5, termRows() - 6);
|
|
327008
327050
|
resizeNeovim(termCols(), contentRows);
|
package/package.json
CHANGED