open-agents-ai 0.187.292 → 0.187.294

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 +34 -14
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -285611,7 +285611,7 @@ var init_status_bar = __esm({
285611
285611
  return `\x1B]8;;${cmdPrefix}\x07\x1B[38;5;${fg2}m${label}\x1B]8;;\x07`;
285612
285612
  };
285613
285613
  const verBase = ` OA v${this._version}`;
285614
- const verArrow = this._updateLatest ? " 🢁" : "";
285614
+ const verArrow = this._updateLatest ? " " : "";
285615
285615
  const verText = verBase + verArrow;
285616
285616
  const menuBtns = [
285617
285617
  { cmd: "help", label: " help ", w: 6 },
@@ -329144,19 +329144,27 @@ function createTaskCompleteTool(modelTier) {
329144
329144
  (t2) => t2.status === "pending" || t2.status === "in_progress" || t2.status === "blocked"
329145
329145
  );
329146
329146
  if (incomplete.length > 0) {
329147
- const incompleteList = incomplete.slice(0, 10).map((t2) => ` - [${t2.status}] ${t2.content}${t2.blocker ? ` (blocked: ${t2.blocker})` : ""}`).join("\n");
329148
- const more = incomplete.length > 10 ? `
329149
- ... +${incomplete.length - 10} more` : "";
329147
+ const incompleteList = incomplete.slice(0, 20).map((t2) => ` - [${t2.status}] ${t2.content}${t2.blocker ? ` (blocked: ${t2.blocker})` : ""}`).join("\n");
329148
+ const more = incomplete.length > 20 ? `
329149
+ ... +${incomplete.length - 20} more` : "";
329150
+ const guidance = `You attempted to call task_complete, but ${incomplete.length} todo item(s) remain. Before finishing, do ALL of the following:
329151
+ 1) For each item BY NAME, state if it is completed and provide OBJECTIVE EVIDENCE (file diffs, test output, logs, or concrete code references).
329152
+ 2) If any item is not completed, proceed to complete them IN ORDER.
329153
+ 3) After all items are truly implemented, call todo_write to mark every item as "completed".
329154
+ 4) ONLY AFTER updating the todo list, call task_complete with a concise final summary.
329155
+
329156
+ Respond concisely in this shape:
329157
+ - verify: [{ name: "<exact item text>", completed: true|false, evidence: "<objective proof>" }, ...]
329158
+ - next: "what you will do next OR the exact todo_write(...) call to update statuses"`;
329150
329159
  return {
329151
329160
  success: false,
329152
329161
  output: "",
329153
- error: `task_complete BLOCKED — ${incomplete.length} todo item(s) still incomplete. You must either:
329154
- 1. Continue working on the remaining items, OR
329155
- 2. If they're actually done, call todo_write with status='completed' for each one, THEN call task_complete again.
329156
- 3. If you are in an interactive session (call, chat, monitoring), RESUME THE LOOP — call your next interaction tool NOW.
329162
+ error: `task_complete BLOCKED — ${incomplete.length} todo item(s) still incomplete.
329157
329163
 
329158
329164
  Incomplete items:
329159
- ${incompleteList}${more}`
329165
+ ${incompleteList}${more}
329166
+
329167
+ ` + guidance
329160
329168
  };
329161
329169
  }
329162
329170
  try {
@@ -330825,6 +330833,7 @@ ${entry.fullContent}`
330825
330833
  });
330826
330834
  const sessionId = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
330827
330835
  try {
330836
+ process.env["OA_SESSION_ID"] = sessionId;
330828
330837
  setTodoSessionId(sessionId);
330829
330838
  setTuiTasksSession(sessionId);
330830
330839
  } catch {
@@ -331744,26 +331753,37 @@ ${opts.systemPromptAddition}` : `Working directory: ${repoRoot}`;
331744
331753
  if (statusBar?.isActive) statusBar.endContentWrite();
331745
331754
  };
331746
331755
  if (!isResumed) writeMsg();
331756
+ } else {
331757
+ try {
331758
+ statusBar.setUpdateAvailable(null);
331759
+ } catch {
331760
+ }
331747
331761
  }
331748
331762
  }).catch(() => {
331749
331763
  });
331750
- const AUTO_UPDATE_INTERVAL_MS = 30 * 60 * 1e3;
331764
+ const AUTO_UPDATE_INTERVAL_MS = 5 * 60 * 1e3;
331751
331765
  const autoUpdateTimer = setInterval(() => {
331752
- if (updateNotified) return;
331753
331766
  const updateMode = savedSettings.updateMode ?? "auto";
331754
331767
  if (updateMode === "manual") return;
331755
331768
  checkForUpdate(version4).then((updateInfo) => {
331756
- if (updateInfo && statusBar?.isActive && !updateNotified) {
331757
- updateNotified = true;
331769
+ if (updateInfo) {
331758
331770
  try {
331759
331771
  statusBar.setUpdateAvailable(updateInfo.latestVersion);
331760
331772
  } catch {
331761
331773
  }
331762
- if (!statusBar.isStreaming) {
331774
+ banner.setUpdateAvailable(updateInfo.latestVersion);
331775
+ if (statusBar?.isActive && !statusBar.isStreaming && !updateNotified) {
331776
+ updateNotified = true;
331763
331777
  statusBar.beginContentWrite();
331764
331778
  renderInfo2(`Update available: v${version4} → v${updateInfo.latestVersion}. Run /update to install.`);
331765
331779
  statusBar.endContentWrite();
331766
331780
  }
331781
+ } else {
331782
+ try {
331783
+ statusBar.setUpdateAvailable(null);
331784
+ } catch {
331785
+ }
331786
+ banner.setUpdateAvailable(null);
331767
331787
  }
331768
331788
  }).catch(() => {
331769
331789
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.292",
3
+ "version": "0.187.294",
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",