open-agents-ai 0.184.91 → 0.184.93

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 +32 -10
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -60966,7 +60966,7 @@ var init_status_bar = __esm({
60966
60966
  // native text selection. We disable it when idle (allowing selection) and
60967
60967
  // re-enable when scroll/streaming starts (allowing mouse scroll).
60968
60968
  // Users can always hold Shift for selection as a universal fallback.
60969
- /** Enable mouse tracking (for scroll during streaming/scrollback) */
60969
+ /** Enable mouse tracking (click + scroll + motion during drag) */
60970
60970
  enableMouseTracking() {
60971
60971
  if (this._mouseTrackingEnabled)
60972
60972
  return;
@@ -60975,7 +60975,8 @@ var init_status_bar = __esm({
60975
60975
  this._trueStdoutWrite.call(process.stdout, "\x1B[?1002h\x1B[?1006h");
60976
60976
  }
60977
60977
  }
60978
- /** Disable mouse tracking (allows native terminal text selection) */
60978
+ /** Disable mouse tracking entirely (only for overlay transitions + exit).
60979
+ * NOT called on idle — mouse stays active for clicks, scroll, buttons. */
60979
60980
  disableMouseTracking() {
60980
60981
  if (!this._mouseTrackingEnabled)
60981
60982
  return;
@@ -60994,12 +60995,6 @@ var init_status_bar = __esm({
60994
60995
  * This is the v0.138.67 behavior that worked: mouse on during activity, off during idle.
60995
60996
  */
60996
60997
  scheduleMouseIdle() {
60997
- if (this._mouseIdleTimer)
60998
- clearTimeout(this._mouseIdleTimer);
60999
- this._mouseIdleTimer = setTimeout(() => {
61000
- this._mouseIdleTimer = null;
61001
- this.disableMouseTracking();
61002
- }, _StatusBar.MOUSE_IDLE_MS);
61003
60998
  }
61004
60999
  /** Cancel mouse idle timer (user is actively scrolling or streaming started) */
61005
61000
  cancelMouseIdle() {
@@ -62042,6 +62037,11 @@ ${CONTENT_BG_SEQ}`);
62042
62037
  }
62043
62038
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildBufferContent(w)}${RESET}`;
62044
62039
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET}`;
62040
+ if (this._focusedZone === "footer") {
62041
+ buf += `\x1B[${pos.inputStartRow};1H\x1B[38;5;${TEXT_PRIMARY}m\x1B[48;5;${PANEL_BG}m\u258E\x1B[0m`;
62042
+ } else if (this._focusedZone === "content") {
62043
+ buf += `\x1B[${this.scrollRegionTop};1H\x1B[38;5;${TEXT_PRIMARY}m\x1B[48;5;${CONTENT_BG}m\u258E\x1B[0m`;
62044
+ }
62045
62045
  buf += `\x1B[?7h\x1B[${cursorTermRow};${inputWrap.cursorCol}H\x1B[?25h`;
62046
62046
  this.termWrite(buf);
62047
62047
  }
@@ -66329,8 +66329,26 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
66329
66329
  if (spResp.ok) {
66330
66330
  const spData = await spResp.json();
66331
66331
  const active = (spData.sponsors || []).filter((s) => s.status === "active" && s.tunnelUrl);
66332
- if (active.length > 0) {
66333
- const best = active[0];
66332
+ const tunnelSponsors = active.filter((s) => /trycloudflare\.com/i.test(s.tunnelUrl));
66333
+ const directSponsors = active.filter((s) => !/trycloudflare\.com/i.test(s.tunnelUrl));
66334
+ const sorted = [...tunnelSponsors, ...directSponsors];
66335
+ let best = null;
66336
+ for (const sponsor of sorted) {
66337
+ try {
66338
+ const baseUrl = normalizeBaseUrl(sponsor.tunnelUrl);
66339
+ const testUrl = baseUrl + "/v1/models";
66340
+ const headers = {};
66341
+ if (sponsor.authKey)
66342
+ headers["Authorization"] = `Bearer ${sponsor.authKey}`;
66343
+ const probe = await fetch(testUrl, { headers, signal: AbortSignal.timeout(5e3) });
66344
+ if (probe.ok) {
66345
+ best = sponsor;
66346
+ break;
66347
+ }
66348
+ } catch {
66349
+ }
66350
+ }
66351
+ if (best) {
66334
66352
  writeContent(() => {
66335
66353
  renderInfo(`No local Ollama detected. Auto-connecting to sponsored inference: ${best.name}`);
66336
66354
  renderInfo(`Endpoint: ${best.tunnelUrl}`);
@@ -66340,6 +66358,10 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
66340
66358
  currentConfig.backendUrl = best.tunnelUrl;
66341
66359
  currentConfig.apiKey = best.authKey;
66342
66360
  currentConfig.backendType = "openai";
66361
+ } else if (active.length > 0) {
66362
+ writeContent(() => {
66363
+ renderInfo(`No local Ollama and no reachable sponsors. Use /endpoint to configure.`);
66364
+ });
66343
66365
  }
66344
66366
  }
66345
66367
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.184.91",
3
+ "version": "0.184.93",
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",