open-agents-ai 0.187.286 → 0.187.288

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 -13
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -285392,6 +285392,7 @@ var init_status_bar = __esm({
285392
285392
  _streamStartTime = 0;
285393
285393
  /** Current package version (shown in metrics row, rightmost) */
285394
285394
  _version = "";
285395
+ _updateLatest = null;
285395
285396
  // ── Voice & Nexus status (for header panel display) ─────────────────
285396
285397
  _voiceActive = false;
285397
285398
  _voiceModelId = "";
@@ -285445,7 +285446,9 @@ var init_status_bar = __esm({
285445
285446
  }
285446
285447
  return `\x1B]8;;${cmdPrefix}\x07\x1B[38;5;${fg2}m${label}\x1B]8;;\x07`;
285447
285448
  };
285448
- const verText = ` OA v${this._version}`;
285449
+ const verBase = ` OA v${this._version}`;
285450
+ const verArrow = this._updateLatest ? " ↑" : "";
285451
+ const verText = verBase + verArrow;
285449
285452
  const menuBtns = [
285450
285453
  { cmd: "help", label: " help ", w: 6 },
285451
285454
  { cmd: "voice", label: " voice ", w: 7 },
@@ -285474,7 +285477,11 @@ var init_status_bar = __esm({
285474
285477
  let out = "";
285475
285478
  let usedW = 0;
285476
285479
  if (isFirstPage) {
285477
- out += `\x1B[1;38;5;${TEXT_PRIMARY}m${verText}\x1B[0m`;
285480
+ if (this._updateLatest) {
285481
+ out += `\x1B]8;;oa-cmd:/update\x07\x1B[1;38;5;${TEXT_PRIMARY}m${verText}\x1B]8;;\x07\x1B[0m`;
285482
+ } else {
285483
+ out += `\x1B[1;38;5;${TEXT_PRIMARY}m${verText}\x1B[0m`;
285484
+ }
285478
285485
  usedW += verW;
285479
285486
  }
285480
285487
  let btnTotalW = 0;
@@ -285725,6 +285732,11 @@ var init_status_bar = __esm({
285725
285732
  this._version = version4;
285726
285733
  if (this.active) this.renderFooterPreserveCursor();
285727
285734
  }
285735
+ /** Mark that a newer version is available (renders clickable ↑ next to version) */
285736
+ setUpdateAvailable(latestVersion) {
285737
+ this._updateLatest = latestVersion;
285738
+ if (this.active) this.renderHeaderButtons();
285739
+ }
285728
285740
  /** Human expert speed ratio tracker */
285729
285741
  _speedTracker = new HumanSpeedTracker();
285730
285742
  /** Record a tool call for speed ratio tracking */
@@ -328340,7 +328352,7 @@ var VAD_SILENCE_MS, MAX_SEGMENT_MS, MAX_CONTEXT_TURNS, SYSTEM_PROMPT2, MIN_SIGNA
328340
328352
  var init_voicechat = __esm({
328341
328353
  "packages/cli/src/tui/voicechat.ts"() {
328342
328354
  "use strict";
328343
- VAD_SILENCE_MS = 2e3;
328355
+ VAD_SILENCE_MS = 3e3;
328344
328356
  MAX_SEGMENT_MS = 6500;
328345
328357
  MAX_CONTEXT_TURNS = 20;
328346
328358
  SYSTEM_PROMPT2 = `You are a voice assistant having a live spoken conversation. Keep responses extremely brief — 1-2 sentences max. You're speaking aloud, not writing. Be conversational, direct, and helpful. Don't use markdown or formatting — just natural speech.
@@ -328403,7 +328415,9 @@ Rules:
328403
328415
  this.verbose = Boolean(opts.verbose);
328404
328416
  this.debugSnr = Boolean(opts.debugSnr);
328405
328417
  this.heuristicsEnabled = opts.heuristicsEnabled !== false;
328406
- this.toolRelay = opts.toolRelay ?? null;
328418
+ if (typeof opts.vadSilenceMs === "number" && opts.vadSilenceMs > 0) {
328419
+ this._vadSilenceMs = Math.floor(opts.vadSilenceMs);
328420
+ }
328407
328421
  this.onStatus = opts.onStatus ?? (() => {
328408
328422
  });
328409
328423
  this.onUserSpeech = opts.onUserSpeech ?? (() => {
@@ -328556,15 +328570,12 @@ Rules:
328556
328570
  this.emit("snr", { score: this.lastSignalScore });
328557
328571
  this.onPartialTranscript(text);
328558
328572
  if (this.silenceTimer) clearTimeout(this.silenceTimer);
328559
- if (isFinal) {
328560
- this.finalizeSegment();
328561
- } else {
328562
- this.silenceTimer = setTimeout(() => {
328563
- if (this._state === "CAPTURING") {
328564
- this.finalizeSegment();
328565
- }
328566
- }, VAD_SILENCE_MS);
328567
- }
328573
+ const waitMs = this._vadSilenceMs ?? VAD_SILENCE_MS;
328574
+ this.silenceTimer = setTimeout(() => {
328575
+ if (this._state === "CAPTURING") {
328576
+ this.finalizeSegment();
328577
+ }
328578
+ }, waitMs);
328568
328579
  }
328569
328580
  // ---------------------------------------------------------------------------
328570
328581
  // Segment finalization → Transcribing → Thinking → Speaking
@@ -331530,6 +331541,10 @@ ${opts.systemPromptAddition}` : `Working directory: ${repoRoot}`;
331530
331541
  checkForUpdate(version4).then((updateInfo) => {
331531
331542
  if (updateInfo) {
331532
331543
  banner.setUpdateAvailable(updateInfo.latestVersion);
331544
+ try {
331545
+ statusBar.setUpdateAvailable(updateInfo.latestVersion);
331546
+ } catch {
331547
+ }
331533
331548
  const vTextLen = ` OA v${version4}`.length;
331534
331549
  const { setUpdateBadgeRegion: setUpdateBadgeRegion2 } = (init_text_selection(), __toCommonJS(text_selection_exports));
331535
331550
  setUpdateBadgeRegion2(true, vTextLen + 1, " UPDATE ".length);
@@ -331556,6 +331571,10 @@ ${opts.systemPromptAddition}` : `Working directory: ${repoRoot}`;
331556
331571
  checkForUpdate(version4).then((updateInfo) => {
331557
331572
  if (updateInfo && statusBar?.isActive && !updateNotified) {
331558
331573
  updateNotified = true;
331574
+ try {
331575
+ statusBar.setUpdateAvailable(updateInfo.latestVersion);
331576
+ } catch {
331577
+ }
331559
331578
  if (!statusBar.isStreaming) {
331560
331579
  statusBar.beginContentWrite();
331561
331580
  renderInfo2(`Update available: v${version4} → v${updateInfo.latestVersion}. Run /update to install.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.187.286",
3
+ "version": "0.187.288",
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",