open-agents-ai 0.187.296 → 0.187.298

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 +57 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -286373,6 +286373,19 @@ var init_status_bar = __esm({
286373
286373
  get focusedZone() {
286374
286374
  return this._focusedZone;
286375
286375
  }
286376
+ /**
286377
+ * Clear the scrollback/history for the active view and repaint the
286378
+ * content area. Keeps header/footer intact. Use for /clear and
286379
+ * when starting a new session so stale lines don't linger.
286380
+ */
286381
+ clearHistory() {
286382
+ this._contentLines.splice(0, this._contentLines.length);
286383
+ this._contentScrollOffset = 0;
286384
+ this._inProgressLine = "";
286385
+ this._autoScroll = true;
286386
+ this.fillContentArea();
286387
+ this.renderFooterAndPositionInput();
286388
+ }
286376
286389
  /** Set callback for header focus changes (wired by interactive.ts to banner) */
286377
286390
  setHeaderFocusHandler(handler) {
286378
286391
  this._headerFocusHandler = handler;
@@ -286511,16 +286524,23 @@ var init_status_bar = __esm({
286511
286524
  }
286512
286525
  if (this.active) this.renderFooterAndPositionInput();
286513
286526
  }
286514
- /** Notify that input changed via history navigation (up/down arrow) */
286527
+ /** Notify that input changed via history navigation (up/down arrow)
286528
+ * Behavior:
286529
+ * - Immediately hide any visible suggestions so arrow keys keep cycling
286530
+ * - Arm a short delay; if the cursor rests on a /command for 1s,
286531
+ * re-enable suggestions
286532
+ */
286515
286533
  notifyHistoryNavigation() {
286516
286534
  this._suggestFromHistory = true;
286517
286535
  this._suggestDismissed = false;
286536
+ this._suggestions = [];
286537
+ this._suggestIndex = -1;
286518
286538
  if (this._suggestDelayTimer) clearTimeout(this._suggestDelayTimer);
286519
286539
  this._suggestDelayTimer = setTimeout(() => {
286520
286540
  this._suggestFromHistory = false;
286521
286541
  this._suggestDelayTimer = null;
286522
286542
  if (this.active) this.renderFooterAndPositionInput();
286523
- }, 2e3);
286543
+ }, 1e3);
286524
286544
  }
286525
286545
  /** Notify that input changed via direct typing (keyboard) */
286526
286546
  notifyDirectInput() {
@@ -300133,6 +300153,11 @@ async function showSessionsMenu(ctx3) {
300133
300153
  detail: `${date} | ${tasks} | ${s2.model}`
300134
300154
  };
300135
300155
  });
300156
+ items.push({
300157
+ key: "__new__",
300158
+ label: "New session",
300159
+ detail: "Start a fresh session and clear the TUI history"
300160
+ });
300136
300161
  const result = await tuiSelect({
300137
300162
  items,
300138
300163
  title: "Session History",
@@ -300142,6 +300167,11 @@ async function showSessionsMenu(ctx3) {
300142
300167
  }
300143
300168
  });
300144
300169
  if (!result || result.key === "cancel") return;
300170
+ if (result.key === "__new__") {
300171
+ if (ctx3.newSession) ctx3.newSession();
300172
+ else ctx3.clearScreen();
300173
+ return;
300174
+ }
300145
300175
  const content = loadSessionHistory(ctx3.repoRoot, result.key);
300146
300176
  if (!content || content.length === 0) {
300147
300177
  renderWarning2("Session content not found or empty.");
@@ -332888,7 +332918,10 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
332888
332918
  writeToNeovimOutput("[screen cleared]\n");
332889
332919
  return;
332890
332920
  }
332891
- process.stdout.write("\x1B[2J\x1B[H");
332921
+ try {
332922
+ statusBar.clearHistory();
332923
+ } catch {
332924
+ }
332892
332925
  renderCompactHeader(currentConfig2.model);
332893
332926
  if (statusBar.isActive) statusBar.handleResize();
332894
332927
  },
@@ -332917,6 +332950,27 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
332917
332950
  banner.stop();
332918
332951
  if (carousel.isRunning) carousel.stop();
332919
332952
  },
332953
+ newSession() {
332954
+ const newId = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
332955
+ try {
332956
+ process.env["OA_SESSION_ID"] = newId;
332957
+ } catch {
332958
+ }
332959
+ try {
332960
+ setTodoSessionId(newId);
332961
+ } catch {
332962
+ }
332963
+ try {
332964
+ setTuiTasksSession(newId);
332965
+ } catch {
332966
+ }
332967
+ try {
332968
+ statusBar.clearHistory();
332969
+ } catch {
332970
+ }
332971
+ renderInfo2(`Started new session: ${newId}`);
332972
+ if (statusBar.isActive) statusBar.handleResize();
332973
+ },
332920
332974
  killEphemeral() {
332921
332975
  if (_shellToolRef) _shellToolRef.killAll();
332922
332976
  killAllFullSubAgents();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.296",
3
+ "version": "0.187.298",
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",