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.
Files changed (2) hide show
  1. package/dist/index.js +49 -7
  2. 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]) => `${k}=${truncStr(String(v), Math.max(30, maxArg / 3))}`).join(", ");
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
- if (_onResizeChange) {
312943
- try {
312944
- _onResizeChange(nextHeight);
312945
- } catch {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.209",
3
+ "version": "0.187.211",
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",