open-agents-ai 0.187.38 → 0.187.39
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.
- package/dist/index.js +35 -47
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -292371,21 +292371,27 @@ function createDefaultBanner(version4 = "0.120.0") {
|
|
|
292371
292371
|
topRow.push({ char: "\u256E", fg: yellow, bg: bgBlack, bold: false });
|
|
292372
292372
|
grid.push(topRow);
|
|
292373
292373
|
const mnemonic = getNodeMnemonic();
|
|
292374
|
-
const
|
|
292375
|
-
const
|
|
292376
|
-
const
|
|
292377
|
-
const
|
|
292378
|
-
const leftPad = Math.max(0, Math.floor((innerW - textLen) / 2));
|
|
292379
|
-
const rightPad = Math.max(0, innerW - textLen - leftPad);
|
|
292374
|
+
const versionText = ` OA v${version4} \xB7 ${mnemonic}`;
|
|
292375
|
+
const btnLabels = ["help", "voice", "model", "cohere"];
|
|
292376
|
+
const btnText = btnLabels.map((b) => ` ${b} `).join(" ");
|
|
292377
|
+
const gapSize = Math.max(1, innerW - versionText.length - btnText.length);
|
|
292380
292378
|
const midRow = [];
|
|
292381
292379
|
midRow.push({ char: "\u2502", fg: yellow, bg: bgBlack, bold: false });
|
|
292382
|
-
for (let i2 = 0; i2 <
|
|
292380
|
+
for (let i2 = 0; i2 < versionText.length && midRow.length <= innerW; i2++) {
|
|
292381
|
+
midRow.push({ char: versionText[i2], fg: yellow, bg: bgBlack, bold: true });
|
|
292382
|
+
}
|
|
292383
|
+
for (let i2 = 0; i2 < gapSize && midRow.length <= innerW; i2++) {
|
|
292383
292384
|
midRow.push({ char: " ", fg: 0, bg: bgBlack, bold: false });
|
|
292384
|
-
for (let i2 = 0; i2 < centerText.length && i2 < innerW; i2++) {
|
|
292385
|
-
midRow.push({ char: centerText[i2], fg: yellow, bg: bgBlack, bold: true });
|
|
292386
292385
|
}
|
|
292387
|
-
|
|
292386
|
+
const dimYellow = 240;
|
|
292387
|
+
for (const ch of btnText) {
|
|
292388
|
+
if (midRow.length > innerW)
|
|
292389
|
+
break;
|
|
292390
|
+
midRow.push({ char: ch, fg: dimYellow, bg: bgBlack, bold: false });
|
|
292391
|
+
}
|
|
292392
|
+
while (midRow.length <= innerW) {
|
|
292388
292393
|
midRow.push({ char: " ", fg: 0, bg: bgBlack, bold: false });
|
|
292394
|
+
}
|
|
292389
292395
|
midRow.push({ char: "\u2502", fg: yellow, bg: bgBlack, bold: false });
|
|
292390
292396
|
grid.push(midRow);
|
|
292391
292397
|
const botRow = [];
|
|
@@ -299709,16 +299715,7 @@ var init_status_bar = __esm({
|
|
|
299709
299715
|
clearInterval(this._monitorTimer);
|
|
299710
299716
|
this._monitorTimer = null;
|
|
299711
299717
|
}
|
|
299712
|
-
this._brailleSpinner.setMetrics({ isStreaming: true });
|
|
299713
|
-
this._brailleSpinner.start(() => {
|
|
299714
|
-
if (this.active)
|
|
299715
|
-
this.renderBufferLine();
|
|
299716
|
-
});
|
|
299717
299718
|
} else {
|
|
299718
|
-
this._brailleSpinner.setMetrics({ isStreaming: false, tokenRate: 0 });
|
|
299719
|
-
this._brailleSpinner.stop();
|
|
299720
|
-
if (this.active)
|
|
299721
|
-
this.renderBufferLine();
|
|
299722
299719
|
this.ensureMonitorTimer();
|
|
299723
299720
|
}
|
|
299724
299721
|
}
|
|
@@ -300489,8 +300486,7 @@ var init_status_bar = __esm({
|
|
|
300489
300486
|
return;
|
|
300490
300487
|
}
|
|
300491
300488
|
const fh = this._currentFooterHeight;
|
|
300492
|
-
const
|
|
300493
|
-
const footerStart = rows - fh - tabBarH + 1;
|
|
300489
|
+
const footerStart = rows - fh + 1;
|
|
300494
300490
|
if (row >= footerStart)
|
|
300495
300491
|
return;
|
|
300496
300492
|
}
|
|
@@ -300613,17 +300609,15 @@ var init_status_bar = __esm({
|
|
|
300613
300609
|
return this._agentViews.size > 1;
|
|
300614
300610
|
}
|
|
300615
300611
|
// ── Agent Tab Bar (WO-NA2) ───────────────────────────────────
|
|
300616
|
-
/** Render the agent tab bar
|
|
300612
|
+
/** Render the agent tab bar in the HEADER area (row 2, right-aligned).
|
|
300613
|
+
* Moved from footer to header so agents are visible alongside version info. */
|
|
300617
300614
|
renderAgentTabs() {
|
|
300618
300615
|
if (!this.active || !this.hasSubAgents)
|
|
300619
300616
|
return;
|
|
300620
|
-
const rows = process.stdout.rows ?? 24;
|
|
300621
|
-
const pos = this.rowPositions(rows);
|
|
300622
|
-
if (pos.tabBarRow < 0)
|
|
300623
|
-
return;
|
|
300624
300617
|
const w = process.stdout.columns ?? 80;
|
|
300625
|
-
|
|
300626
|
-
|
|
300618
|
+
const headerContentRow = 2;
|
|
300619
|
+
const tabs = [];
|
|
300620
|
+
let totalLen = 0;
|
|
300627
300621
|
for (const view of this._agentViews.values()) {
|
|
300628
300622
|
const isActive = view.id === this._activeViewId;
|
|
300629
300623
|
if (view.id === "main" && this._activeViewId === "main")
|
|
@@ -300641,14 +300635,17 @@ var init_status_bar = __esm({
|
|
|
300641
300635
|
const label = ` ${view.label} ${icon} `;
|
|
300642
300636
|
const bg = isActive ? 235 : 0;
|
|
300643
300637
|
const fg2 = isActive ? 252 : 245;
|
|
300644
|
-
|
|
300645
|
-
|
|
300646
|
-
|
|
300647
|
-
|
|
300648
|
-
col += label.length + 1;
|
|
300649
|
-
if (col >= w - 5)
|
|
300638
|
+
const tabStr = `\x1B]8;;oa-view:${view.id}\x07\x1B[38;5;${fg2}m\x1B[48;5;${bg}m${label}\x1B[0m\x1B[48;5;0m\x1B]8;;\x07`;
|
|
300639
|
+
tabs.push(tabStr);
|
|
300640
|
+
totalLen += label.length + 1;
|
|
300641
|
+
if (totalLen >= Math.floor(w * 0.4))
|
|
300650
300642
|
break;
|
|
300651
300643
|
}
|
|
300644
|
+
if (tabs.length === 0)
|
|
300645
|
+
return;
|
|
300646
|
+
const startCol = Math.max(2, w - totalLen - 2);
|
|
300647
|
+
let buf = `\x1B[${headerContentRow};${startCol}H\x1B[48;5;0m`;
|
|
300648
|
+
buf += tabs.join(" ");
|
|
300652
300649
|
buf += RESET;
|
|
300653
300650
|
this.termWrite(buf);
|
|
300654
300651
|
}
|
|
@@ -301357,12 +301354,12 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301357
301354
|
const fh = this._currentFooterHeight;
|
|
301358
301355
|
const suggestionRows = this._suggestions.length > 0 ? this._suggestions.length : 1;
|
|
301359
301356
|
const inputLines = fh - 1 - suggestionRows;
|
|
301360
|
-
const
|
|
301361
|
-
const totalFooter = fh + tabBarH;
|
|
301357
|
+
const totalFooter = fh;
|
|
301362
301358
|
return {
|
|
301363
301359
|
scrollEnd: Math.max(rows - totalFooter, this.scrollRegionTop + 1),
|
|
301364
301360
|
inputStartRow: rows - totalFooter + 1,
|
|
301365
|
-
tabBarRow:
|
|
301361
|
+
tabBarRow: -1,
|
|
301362
|
+
// deprecated: tabs now in header
|
|
301366
301363
|
// When suggestions active: multiple rows between input and metrics
|
|
301367
301364
|
// When no suggestions: single braille row at N-1
|
|
301368
301365
|
bufferRow: rows - 1,
|
|
@@ -301485,9 +301482,6 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301485
301482
|
buf += `\x1B[${row};1H${PANEL_BG_SEQ}\x1B[2K${BOX_FG}${BOX_V}${RESET}${PANEL_BG_SEQ}${lineContent}${" ".repeat(pad)}${BOX_FG}${BOX_V}${RESET}`;
|
|
301486
301483
|
}
|
|
301487
301484
|
const cursorTermRow = pos.inputStartRow + 1 + inputWrap.cursorRow;
|
|
301488
|
-
if (pos.tabBarRow > 0) {
|
|
301489
|
-
buf += `\x1B[${pos.tabBarRow};1H${PANEL_BG_SEQ}\x1B[2K${RESET}`;
|
|
301490
|
-
}
|
|
301491
301485
|
if (this._suggestions.length > 0 && pos.suggestStartRow > 0) {
|
|
301492
301486
|
for (let si = 0; si < this._suggestions.length; si++) {
|
|
301493
301487
|
const row = pos.suggestStartRow + si;
|
|
@@ -301624,13 +301618,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
301624
301618
|
* When daemons/agents are tracked: shows monitoring bar with status dots.
|
|
301625
301619
|
* Otherwise: braille animation when processing, empty when idle.
|
|
301626
301620
|
*/
|
|
301627
|
-
buildBufferContent(
|
|
301628
|
-
if (registry2.hasEntries) {
|
|
301629
|
-
return registry2.renderBar(width);
|
|
301630
|
-
}
|
|
301631
|
-
if (this._processing && this._brailleSpinner.isRunning) {
|
|
301632
|
-
return this._brailleSpinner.render(width, PANEL_BG + 1);
|
|
301633
|
-
}
|
|
301621
|
+
buildBufferContent(_width) {
|
|
301634
301622
|
return "";
|
|
301635
301623
|
}
|
|
301636
301624
|
/**
|
package/package.json
CHANGED