open-agents-ai 0.160.0 → 0.162.0

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 +27 -54
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -52995,15 +52995,22 @@ function buildDMNGatherPrompt(recentTaskSummaries, dueReminders, attentionItems,
52995
52995
  return ` - ${c3.taskType}: ${c3.attempts} attempts, ${rate}% success`;
52996
52996
  }).join("\n") : " (no data yet \u2014 this is a fresh start)";
52997
52997
  const reflectionsText = reflectionBuffer.length > 0 ? reflectionBuffer.map((r, i) => ` ${i + 1}. ${r}`).join("\n") : " (none)";
52998
- return loadPrompt3("tui/dmn-gather.md", {
52999
- recentTaskSummaries: recentTaskSummaries.length > 0 ? recentTaskSummaries.map((s, i) => ` ${i + 1}. ${s}`).join("\n") : " (no recent tasks)",
53000
- reflectionsText,
53001
- competenceReport,
53002
- dueReminders: dueReminders.length > 0 ? dueReminders.map((r) => ` - ${r}`).join("\n") : " (none)",
53003
- attentionItems: attentionItems.length > 0 ? attentionItems.map((a) => ` - ${a}`).join("\n") : " (none)",
53004
- memoryTopics: memoryTopics.length > 0 ? memoryTopics.map((t) => ` - ${t}`).join("\n") : " (none \u2014 fresh start)",
53005
- capabilities: capabilities.map((c3) => ` - ${c3}`).join("\n")
53006
- });
52998
+ try {
52999
+ return loadPrompt3("tui/dmn-gather.md", {
53000
+ recentTaskSummaries: recentTaskSummaries.length > 0 ? recentTaskSummaries.map((s, i) => ` ${i + 1}. ${s}`).join("\n") : " (no recent tasks)",
53001
+ reflectionsText,
53002
+ competenceReport,
53003
+ dueReminders: dueReminders.length > 0 ? dueReminders.map((r) => ` - ${r}`).join("\n") : " (none)",
53004
+ attentionItems: attentionItems.length > 0 ? attentionItems.map((a) => ` - ${a}`).join("\n") : " (none)",
53005
+ memoryTopics: memoryTopics.length > 0 ? memoryTopics.map((t) => ` - ${t}`).join("\n") : " (none \u2014 fresh start)",
53006
+ capabilities: capabilities.map((c3) => ` - ${c3}`).join("\n")
53007
+ });
53008
+ } catch {
53009
+ return `Gather observations about the agent's recent work:
53010
+ ${competenceReport}
53011
+
53012
+ Reflect on what went well and what could improve.`;
53013
+ }
53007
53014
  }
53008
53015
  function adaptTool3(tool) {
53009
53016
  return {
@@ -57550,12 +57557,19 @@ var init_status_bar = __esm({
57550
57557
  /** Schedule mouse tracking disable after idle timeout.
57551
57558
  * Called after each content write or stream end. Cancelled by scroll/stream start.
57552
57559
  *
57553
- * NOTE: Now a no-op. Mouse tracking stays enabled permanently because:
57554
- * 1. Header buttons (/help /voice /cohere /model) need click events at all times
57555
- * 2. Text selection (Ctrl+Shift+C) needs mouse press/drag/release events
57556
- * 3. Users can still hold Shift for native terminal text selection (universal fallback)
57560
+ * When mouse tracking is OFF, the terminal handles text selection natively —
57561
+ * user can click-drag to select and Ctrl+Shift+C to copy.
57562
+ * Mouse tracking re-enables on scroll, stream start, or header/tab area mouse motion.
57563
+ *
57564
+ * This is the v0.138.67 behavior that worked: mouse on during activity, off during idle.
57557
57565
  */
57558
57566
  scheduleMouseIdle() {
57567
+ if (this._mouseIdleTimer)
57568
+ clearTimeout(this._mouseIdleTimer);
57569
+ this._mouseIdleTimer = setTimeout(() => {
57570
+ this._mouseIdleTimer = null;
57571
+ this.disableMouseTracking();
57572
+ }, _StatusBar.MOUSE_IDLE_MS);
57559
57573
  }
57560
57574
  /** Cancel mouse idle timer (user is actively scrolling or streaming started) */
57561
57575
  cancelMouseIdle() {
@@ -57617,22 +57631,6 @@ var init_status_bar = __esm({
57617
57631
  const footerStart = rows - fh - tabBarH + 1;
57618
57632
  if (row >= footerStart)
57619
57633
  return;
57620
- if (type === "press") {
57621
- this._textSelection.clear();
57622
- this._textSelection.onMousePress(row, col);
57623
- this.repaintContent();
57624
- } else if (type === "drag") {
57625
- this._textSelection.onMouseDrag(row, col);
57626
- if (this._textSelection.isDragging)
57627
- this.repaintContent();
57628
- } else if (type === "release") {
57629
- this._textSelection.onMouseRelease(row, col);
57630
- if (this._textSelection.hasSelection) {
57631
- this.copySelection();
57632
- } else {
57633
- this.repaintContent();
57634
- }
57635
- }
57636
57634
  }
57637
57635
  /** Copy current selection to clipboard. Returns true if copied. */
57638
57636
  copySelection() {
@@ -58088,18 +58086,10 @@ ${CONTENT_BG_SEQ}`);
58088
58086
  let buf = "\x1B[?2026h";
58089
58087
  buf += "\x1B7";
58090
58088
  buf += "\x1B[?25l";
58091
- const selRanges = this._textSelection.hasSelection ? this._textSelection.getSelectedRanges() : [];
58092
- const selByBuf = /* @__PURE__ */ new Map();
58093
- for (const r of selRanges)
58094
- selByBuf.set(r.bufferIdx, r);
58095
58089
  for (let row = 0; row < h; row++) {
58096
58090
  const lineIdx = startIdx + row;
58097
58091
  let line = lineIdx < totalLines ? this._contentLines[lineIdx] : "";
58098
58092
  const screenRow = this.scrollRegionTop + row;
58099
- const sel = selByBuf.get(lineIdx);
58100
- if (sel) {
58101
- line = TextSelection.applyHighlight(line, sel.startCol, sel.endCol);
58102
- }
58103
58093
  line = line.replace(/\x1B\[0m/g, `\x1B[0m${CONTENT_BG_SEQ}`);
58104
58094
  buf += `\x1B[${screenRow};1H${CONTENT_BG_SEQ}\x1B[2K${line}`;
58105
58095
  }
@@ -58766,18 +58756,6 @@ ${CONTENT_BG_SEQ}`);
58766
58756
  onCtrlO();
58767
58757
  return;
58768
58758
  }
58769
- if (key?.ctrl && key?.shift && key?.name === "c") {
58770
- self.copySelection();
58771
- return;
58772
- }
58773
- if (s === "\x1B[67;6u" || s === "\x1B[27;6;67~") {
58774
- self.copySelection();
58775
- return;
58776
- }
58777
- if (s === "" && key?.shift) {
58778
- self.copySelection();
58779
- return;
58780
- }
58781
58759
  if (key?.ctrl && key?.shift && key?.name === "b") {
58782
58760
  self.armBlockSelection();
58783
58761
  return;
@@ -58792,11 +58770,6 @@ ${CONTENT_BG_SEQ}`);
58792
58770
  if (key?.name === "escape" || s === "\x1B") {
58793
58771
  sawEscape = true;
58794
58772
  sawEscapeTime = Date.now();
58795
- if (self._textSelection.hasSelection && s.length === 1) {
58796
- self._textSelection.clear();
58797
- self.repaintContent();
58798
- return;
58799
- }
58800
58773
  if (onEscape && s.length === 1)
58801
58774
  onEscape();
58802
58775
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.160.0",
3
+ "version": "0.162.0",
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",