open-agents-ai 0.184.65 → 0.184.66
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 +52 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -53071,6 +53071,8 @@ var init_banner = __esm({
|
|
|
53071
53071
|
_updateAvailable = null;
|
|
53072
53072
|
/** Global frame counter for pulse animation (survives frame resets) */
|
|
53073
53073
|
_pulseFrame = 0;
|
|
53074
|
+
/** Whether header zone is focused (Ctrl+Tab highlight) */
|
|
53075
|
+
_focused = false;
|
|
53074
53076
|
constructor() {
|
|
53075
53077
|
this.width = process.stdout.columns ?? 80;
|
|
53076
53078
|
}
|
|
@@ -53082,6 +53084,10 @@ var init_banner = __esm({
|
|
|
53082
53084
|
clearUpdateAvailable() {
|
|
53083
53085
|
this._updateAvailable = null;
|
|
53084
53086
|
}
|
|
53087
|
+
/** Set header focus state for Ctrl+Tab visual highlight */
|
|
53088
|
+
setFocused(focused) {
|
|
53089
|
+
this._focused = focused;
|
|
53090
|
+
}
|
|
53085
53091
|
/** Whether an update badge is showing */
|
|
53086
53092
|
get hasUpdate() {
|
|
53087
53093
|
return this._updateAvailable !== null;
|
|
@@ -53183,6 +53189,11 @@ var init_banner = __esm({
|
|
|
53183
53189
|
buf += "\x1B]8;;\x07";
|
|
53184
53190
|
}
|
|
53185
53191
|
}
|
|
53192
|
+
if (this._focused) {
|
|
53193
|
+
for (let r = 0; r < this.rows; r++) {
|
|
53194
|
+
buf += `\x1B[${r + 1};1H\x1B[38;5;178m\x1B[48;5;234m\u258E\x1B[0m`;
|
|
53195
|
+
}
|
|
53196
|
+
}
|
|
53186
53197
|
if (this._updateAvailable && this.currentDesign?.type === "default") {
|
|
53187
53198
|
this._pulseFrame++;
|
|
53188
53199
|
const t = (Math.sin(this._pulseFrame * 0.16) + 1) / 2;
|
|
@@ -58873,7 +58884,7 @@ var init_braille_spinner = __esm({
|
|
|
58873
58884
|
* high SNR produces smooth coherent waves (clean signal propagation).
|
|
58874
58885
|
* - Dream mode: slower, deeper breathing with warm amber color override.
|
|
58875
58886
|
*/
|
|
58876
|
-
render(width) {
|
|
58887
|
+
render(width, hintColor) {
|
|
58877
58888
|
const m = this._metrics;
|
|
58878
58889
|
const useExtended = m.isStreaming || m.isDreaming || m.mood !== "neutral";
|
|
58879
58890
|
const wave = useExtended ? WAVE_EXT : WAVE;
|
|
@@ -58941,7 +58952,7 @@ var init_braille_spinner = __esm({
|
|
|
58941
58952
|
ch = sparseChars[Math.floor(scatter * sparseChars.length * 3.33) % sparseChars.length];
|
|
58942
58953
|
}
|
|
58943
58954
|
}
|
|
58944
|
-
const color = activeColorRamp[Math.min(scaledIdx, activeColorRamp.length - 1)];
|
|
58955
|
+
const color = hintColor ?? activeColorRamp[Math.min(scaledIdx, activeColorRamp.length - 1)];
|
|
58945
58956
|
if (color !== lastColor) {
|
|
58946
58957
|
buf += `\x1B[38;5;${color}m`;
|
|
58947
58958
|
lastColor = color;
|
|
@@ -59855,6 +59866,10 @@ var init_status_bar = __esm({
|
|
|
59855
59866
|
_countdown = 0;
|
|
59856
59867
|
_recBlink = true;
|
|
59857
59868
|
_recBlinkTimer = null;
|
|
59869
|
+
/** Current focus zone for Ctrl+Tab cycling */
|
|
59870
|
+
_focusedZone = "footer";
|
|
59871
|
+
/** Callback to notify header (banner) of focus changes */
|
|
59872
|
+
_headerFocusHandler = null;
|
|
59858
59873
|
/** Whether agent is actively processing (braille animation) */
|
|
59859
59874
|
_processing = false;
|
|
59860
59875
|
_brailleSpinner = new BrailleSpinner();
|
|
@@ -60425,6 +60440,25 @@ var init_status_bar = __esm({
|
|
|
60425
60440
|
get isStreaming() {
|
|
60426
60441
|
return this.writeDepth > 0;
|
|
60427
60442
|
}
|
|
60443
|
+
/** Get current focused zone */
|
|
60444
|
+
get focusedZone() {
|
|
60445
|
+
return this._focusedZone;
|
|
60446
|
+
}
|
|
60447
|
+
/** Set callback for header focus changes (wired by interactive.ts to banner) */
|
|
60448
|
+
setHeaderFocusHandler(handler) {
|
|
60449
|
+
this._headerFocusHandler = handler;
|
|
60450
|
+
}
|
|
60451
|
+
/** Cycle focus: footer → header → content → footer */
|
|
60452
|
+
cycleFocus() {
|
|
60453
|
+
const order = ["footer", "header", "content"];
|
|
60454
|
+
const idx = order.indexOf(this._focusedZone);
|
|
60455
|
+
this._focusedZone = order[(idx + 1) % order.length];
|
|
60456
|
+
this._headerFocusHandler?.(this._focusedZone === "header");
|
|
60457
|
+
if (this.active) {
|
|
60458
|
+
this._bannerRefresh?.();
|
|
60459
|
+
this.renderFooterAndPositionInput();
|
|
60460
|
+
}
|
|
60461
|
+
}
|
|
60428
60462
|
/** Set/get COHERE participation state — shows 🌐 in metrics when active */
|
|
60429
60463
|
setCohereActive(active) {
|
|
60430
60464
|
this._cohereActive = active;
|
|
@@ -61061,6 +61095,13 @@ ${CONTENT_BG_SEQ}`);
|
|
|
61061
61095
|
const compactOrder = [];
|
|
61062
61096
|
let modelSectionIdx = -1;
|
|
61063
61097
|
let versionSectionIdx = -1;
|
|
61098
|
+
{
|
|
61099
|
+
const zoneLabels = { header: "hdr", content: "cnt", footer: "ftr" };
|
|
61100
|
+
const zoneLabel = zoneLabels[this._focusedZone];
|
|
61101
|
+
const focusStr = pastel2(TEXT_PRIMARY, `\u258E${zoneLabel}`);
|
|
61102
|
+
const focusW = 1 + zoneLabel.length;
|
|
61103
|
+
sections.push({ expanded: focusStr, compact: focusStr, expandedW: focusW, compactW: focusW, empty: false });
|
|
61104
|
+
}
|
|
61064
61105
|
if (this._cohereActive) {
|
|
61065
61106
|
const cohereExpanded = "\x1B[38;5;214m\u{1F310}\x1B[0m";
|
|
61066
61107
|
sections.push({ expanded: cohereExpanded, compact: cohereExpanded, expandedW: 2, compactW: 2, empty: false });
|
|
@@ -61600,7 +61641,7 @@ ${CONTENT_BG_SEQ}`);
|
|
|
61600
61641
|
*/
|
|
61601
61642
|
buildBufferContent(width) {
|
|
61602
61643
|
if (this._processing && this._brailleSpinner.isRunning) {
|
|
61603
|
-
return this._brailleSpinner.render(width);
|
|
61644
|
+
return this._brailleSpinner.render(width, PANEL_BG + 1);
|
|
61604
61645
|
}
|
|
61605
61646
|
return "";
|
|
61606
61647
|
}
|
|
@@ -61664,6 +61705,10 @@ ${CONTENT_BG_SEQ}`);
|
|
|
61664
61705
|
onCtrlO();
|
|
61665
61706
|
return;
|
|
61666
61707
|
}
|
|
61708
|
+
if (key?.ctrl && key?.name === "tab" || s === "\x1B[9;5u") {
|
|
61709
|
+
self.cycleFocus();
|
|
61710
|
+
return;
|
|
61711
|
+
}
|
|
61667
61712
|
if (key?.ctrl && key?.shift && key?.name === "b") {
|
|
61668
61713
|
self.armBlockSelection();
|
|
61669
61714
|
return;
|
|
@@ -64947,6 +64992,10 @@ Review its full output in the [${id}] tab or via full_sub_agent(action='output',
|
|
|
64947
64992
|
statusBar.setBannerRefresh(() => {
|
|
64948
64993
|
banner.renderCurrentFrame();
|
|
64949
64994
|
});
|
|
64995
|
+
statusBar.setHeaderFocusHandler((focused) => {
|
|
64996
|
+
banner.setFocused(focused);
|
|
64997
|
+
banner.renderCurrentFrame();
|
|
64998
|
+
});
|
|
64950
64999
|
const { onOverlayLeave: onOverlayLeave2 } = await Promise.resolve().then(() => (init_overlay_lock(), overlay_lock_exports));
|
|
64951
65000
|
onOverlayLeave2(() => {
|
|
64952
65001
|
banner.renderCurrentFrame();
|
package/package.json
CHANGED