open-agents-ai 0.185.9 → 0.185.11

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 +102 -20
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -50646,7 +50646,12 @@ async function handleSponsoredEndpoint(ctx, local) {
50646
50646
  tpd: ns.limits?.maxTokensPerDay || 1e5
50647
50647
  },
50648
50648
  source: "nexus",
50649
- banner: { preset: ns.banner?.preset, message: ns.message }
50649
+ banner: ns.banner ? {
50650
+ preset: typeof ns.banner === "string" ? ns.banner : ns.banner?.preset,
50651
+ message: ns.message,
50652
+ linkUrl: ns.linkUrl ?? ns.link_url,
50653
+ linkText: ns.linkText ?? ns.link_text
50654
+ } : void 0
50650
50655
  });
50651
50656
  }
50652
50657
  if (nexusSponsors.length > 0) {
@@ -50698,7 +50703,13 @@ async function handleSponsoredEndpoint(ctx, local) {
50698
50703
  tpd: ks.limits?.maxTokensPerDay || 1e5
50699
50704
  },
50700
50705
  source: "nexus",
50701
- banner: ks.banner ? { preset: ks.banner?.preset, message: ks.message } : void 0
50706
+ // KV data has banner as a string (preset name), message/linkUrl/linkText at top level
50707
+ banner: ks.banner ? {
50708
+ preset: typeof ks.banner === "string" ? ks.banner : ks.banner?.preset,
50709
+ message: ks.message,
50710
+ linkUrl: ks.linkUrl ?? ks.link_url,
50711
+ linkText: ks.linkText ?? ks.link_text
50712
+ } : void 0
50702
50713
  });
50703
50714
  kvAdded++;
50704
50715
  }
@@ -51526,8 +51537,8 @@ async function handleUpdate(subcommand, ctx) {
51526
51537
  }
51527
51538
  const { spawn: spawnChild } = await import("node:child_process");
51528
51539
  const child = spawnChild("sh", [scriptPath2], {
51529
- stdio: "ignore",
51530
- // no shared file descriptors
51540
+ stdio: "inherit",
51541
+ // inherit terminal (needed for oa's TUI)
51531
51542
  detached: true,
51532
51543
  // new process group
51533
51544
  env: { ...process.env, __OA_RESUMED: resumeFlag }
@@ -53271,7 +53282,37 @@ function createDefaultBanner(version = "0.120.0") {
53271
53282
  const rows = 3;
53272
53283
  const yellow = 178;
53273
53284
  const bgDark = 234;
53274
- const particles = [" ", "\u2801", "\u2802", "\u2840", "\u2804", "\u2880", "\u2812", "\u28C0", "\u2824", "\u28C4", "\xB7", "\u2591", "\u28E4", "\u2592", "\u28F6", "\u2593", "\u28FF", "\u2588"];
53285
+ const particles = [
53286
+ " ",
53287
+ // 0: empty
53288
+ "\u2801",
53289
+ "\u2802",
53290
+ // 1-2: sparse braille
53291
+ "\u2596",
53292
+ "\u2597",
53293
+ // 3-4: ▖▗ single quadrants
53294
+ "\u2598",
53295
+ "\u259D",
53296
+ // 5-6: ▘▝ upper quadrants
53297
+ "\u259E",
53298
+ "\u259A",
53299
+ // 7-8: ▞▚ diagonals
53300
+ "\xB7",
53301
+ "\u2591",
53302
+ // 9-10: · ░ (dot + light shade)
53303
+ "\u2599",
53304
+ "\u259B",
53305
+ // 11-12: ▙▛ three-quarter fills
53306
+ "\u2592",
53307
+ // 13: ▒ medium shade
53308
+ "\u259C",
53309
+ "\u259F",
53310
+ // 14-15: ▜▟ three-quarter fills
53311
+ "\u2593",
53312
+ // 16: ▓ dark shade
53313
+ "\u2588"
53314
+ // 17: █ full block
53315
+ ];
53275
53316
  const hash = (r, c3, frame) => {
53276
53317
  const x = r * 7 + c3 * 13 + frame * 3 + 37;
53277
53318
  return (x * x * 31 + x * 17 + 59) % 97 / 97;
@@ -53700,9 +53741,22 @@ var init_banner = __esm({
53700
53741
  }
53701
53742
  }
53702
53743
  if (this._focused) {
53703
- const QUAD = ["\u2598", "\u259D", "\u2597", "\u2596"];
53744
+ const FOCUS = [
53745
+ "\u2596",
53746
+ "\u259A",
53747
+ "\u2599",
53748
+ "\u259B",
53749
+ "\u2588",
53750
+ // ▖▚▙▛█ (build up)
53751
+ "\u259C",
53752
+ "\u259F",
53753
+ "\u259E",
53754
+ "\u2597",
53755
+ "\xB7"
53756
+ // ▜▟▞▗· (fade down)
53757
+ ];
53704
53758
  for (let r = 0; r < this.rows; r++) {
53705
- const ch = QUAD[(this.frameTick + r) % QUAD.length];
53759
+ const ch = FOCUS[(this.frameTick + r * 3) % FOCUS.length];
53706
53760
  buf += `\x1B[${r + 1};1H\x1B[38;5;178m\x1B[48;5;234m${ch}\x1B[0m`;
53707
53761
  }
53708
53762
  }
@@ -60985,19 +61039,47 @@ var init_status_bar = __esm({
60985
61039
  */
60986
61040
  _getFocusQuadrant() {
60987
61041
  this._focusFrame++;
60988
- const IDLE_CYCLE = ["\u2598", "\u259D", "\u2597", "\u2596"];
60989
- const ACTIVE_CYCLE = ["\u2598", "\u259A", "\u2597", "\u259E"];
60990
- const STREAM_CYCLE = ["\u2596", "\u259F", "\u259B", "\u2598", "\u259C", "\u2599"];
60991
- const FULL = "\u2588";
60992
- if (this._focusFrame < 3)
60993
- return FULL;
60994
- if (this._processing) {
60995
- return STREAM_CYCLE[Math.floor(this._focusFrame / 2) % STREAM_CYCLE.length];
60996
- }
60997
- if (this.writeDepth > 0) {
60998
- return ACTIVE_CYCLE[Math.floor(this._focusFrame / 3) % ACTIVE_CYCLE.length];
60999
- }
61000
- return IDLE_CYCLE[Math.floor(this._focusFrame / 6) % IDLE_CYCLE.length];
61042
+ const DENSITY2 = [
61043
+ " ",
61044
+ // 0: empty
61045
+ "\xB7",
61046
+ // 1: · middle dot
61047
+ "\u2596",
61048
+ // 2: ▖ single quadrant
61049
+ "\u259E",
61050
+ // 3: ▞ diagonal (2 quadrants)
61051
+ "\u259A",
61052
+ // 4: other diagonal
61053
+ "\u2599",
61054
+ // 5: three quadrants
61055
+ "\u259B",
61056
+ // 6: ▛ three quadrants
61057
+ "\u259C",
61058
+ // 7: ▜ three quadrants
61059
+ "\u259F",
61060
+ // 8: ▟ three quadrants
61061
+ "\u2593",
61062
+ // 9: ▓ dark shade
61063
+ "\u2588"
61064
+ // 10: █ full block
61065
+ ];
61066
+ if (this._focusFrame < 4)
61067
+ return DENSITY2[10];
61068
+ const m = this._unifiedMetrics ?? getInstantSnapshot();
61069
+ const cpu = m.hardware.cpuUtil;
61070
+ const gpu = m.hardware.gpuUtil;
61071
+ const mem = m.hardware.memUtil;
61072
+ const netRx = m.network.rxBytesPerSec;
61073
+ const netTx = m.network.txBytesPerSec;
61074
+ const gpuNorm = gpu >= 0 ? gpu / 100 : 0;
61075
+ const intensity = Math.min(1, cpu / 100 * 0.3 + gpuNorm * 0.3 + mem / 100 * 0.2 + Math.min(1, (netRx + netTx) / 5e7) * 0.2);
61076
+ const baseDensity = Math.floor(intensity * 6);
61077
+ const range = 4;
61078
+ const phase = this._focusFrame * 0.15 + cpu / 50 * Math.sin(this._focusFrame * 0.05);
61079
+ const wave = Math.sin(phase) * 0.5 + 0.5;
61080
+ const idx = Math.round(baseDensity + wave * range);
61081
+ const clampedIdx = Math.max(0, Math.min(DENSITY2.length - 1, idx));
61082
+ return DENSITY2[clampedIdx];
61001
61083
  }
61002
61084
  /** Set the provider for slash command names (used for inline suggestions) */
61003
61085
  setCommandListProvider(provider) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.185.9",
3
+ "version": "0.185.11",
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",