open-agents-ai 0.187.392 → 0.187.393
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 +66 -11
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -532371,6 +532371,8 @@ var init_status_bar = __esm({
|
|
|
532371
532371
|
/** Current package version (shown in metrics row, rightmost) */
|
|
532372
532372
|
_version = "";
|
|
532373
532373
|
_updateLatest = null;
|
|
532374
|
+
_headerBackendType = "";
|
|
532375
|
+
_headerBackendUrl = "";
|
|
532374
532376
|
// ── Voice & Nexus status (for header panel display) ─────────────────
|
|
532375
532377
|
_voiceActive = false;
|
|
532376
532378
|
_voiceModelId = "";
|
|
@@ -532387,6 +532389,59 @@ var init_status_bar = __esm({
|
|
|
532387
532389
|
this._nexusStatus = status;
|
|
532388
532390
|
if (this.active) this.refreshHeaderContent();
|
|
532389
532391
|
}
|
|
532392
|
+
refreshHeaderPanels() {
|
|
532393
|
+
this._rebuildHeaderPanels();
|
|
532394
|
+
if (this.active) this.refreshHeaderContent();
|
|
532395
|
+
}
|
|
532396
|
+
refreshHeaderAndFooter() {
|
|
532397
|
+
this.refreshHeaderPanels();
|
|
532398
|
+
if (this.active) this.renderFooterPreserveCursor();
|
|
532399
|
+
}
|
|
532400
|
+
summarizeHeaderModelName() {
|
|
532401
|
+
const raw = this._modelName.trim();
|
|
532402
|
+
if (!raw) return "";
|
|
532403
|
+
const leaf = raw.split("/").pop() ?? raw;
|
|
532404
|
+
const familySource = leaf.split(":")[0]?.trim() || leaf;
|
|
532405
|
+
const paramMatch = raw.match(/(\d+(?:\.\d+)?\s*[bBmMkK])/);
|
|
532406
|
+
const param = paramMatch ? paramMatch[1].replace(/\s+/g, "").toLowerCase() : "";
|
|
532407
|
+
let summary = param && !familySource.toLowerCase().includes(param) ? `${familySource} ${param}` : familySource;
|
|
532408
|
+
if (summary.length > 18) {
|
|
532409
|
+
const compactBase = familySource.split(/[-_]/).filter(Boolean).slice(0, 2).join(" ") || familySource;
|
|
532410
|
+
summary = param && !compactBase.toLowerCase().includes(param) ? `${compactBase} ${param}` : compactBase;
|
|
532411
|
+
}
|
|
532412
|
+
return summary.length > 18 ? `${summary.slice(0, 17)}…` : summary;
|
|
532413
|
+
}
|
|
532414
|
+
summarizeHeaderTransport() {
|
|
532415
|
+
const backendType = this._headerBackendType;
|
|
532416
|
+
const backendUrl = this._headerBackendUrl;
|
|
532417
|
+
if (backendType === "nexus" || backendUrl.startsWith("peer://")) return "p2p";
|
|
532418
|
+
if (backendType === "fake") return "fake";
|
|
532419
|
+
if (!backendUrl) return "";
|
|
532420
|
+
if (backendUrl.includes("127.0.0.1") || backendUrl.includes("localhost") || backendUrl.includes("0.0.0.0")) {
|
|
532421
|
+
return "local";
|
|
532422
|
+
}
|
|
532423
|
+
return "remote";
|
|
532424
|
+
}
|
|
532425
|
+
buildHeaderVersionText() {
|
|
532426
|
+
const parts = [` OA v${this._version}`];
|
|
532427
|
+
const model = this.summarizeHeaderModelName();
|
|
532428
|
+
const transport = this.summarizeHeaderTransport();
|
|
532429
|
+
if (model) parts.push(model);
|
|
532430
|
+
if (transport) parts.push(transport);
|
|
532431
|
+
if (this._updateLatest) parts[parts.length - 1] += " ↑";
|
|
532432
|
+
return parts.join(" | ");
|
|
532433
|
+
}
|
|
532434
|
+
setBackendInfo(backendType, backendUrl) {
|
|
532435
|
+
this._headerBackendType = backendType;
|
|
532436
|
+
this._headerBackendUrl = backendUrl;
|
|
532437
|
+
this.refreshHeaderAndFooter();
|
|
532438
|
+
}
|
|
532439
|
+
setHeaderIdentity(modelName, backendType, backendUrl) {
|
|
532440
|
+
this._modelName = modelName;
|
|
532441
|
+
this._headerBackendType = backendType;
|
|
532442
|
+
this._headerBackendUrl = backendUrl;
|
|
532443
|
+
this.refreshHeaderAndFooter();
|
|
532444
|
+
}
|
|
532390
532445
|
// ── Header Panel System ──────────────────────────────────────────────
|
|
532391
532446
|
// Extensible dual-state (N-state) header: the content row inside the
|
|
532392
532447
|
// ╭│╰ box cycles between registered panels via arrow buttons.
|
|
@@ -532408,7 +532463,7 @@ var init_status_bar = __esm({
|
|
|
532408
532463
|
return this._headerPanels.length - 1;
|
|
532409
532464
|
}
|
|
532410
532465
|
/** Rebuild all header panels. Two categories are kept separate:
|
|
532411
|
-
* - Category A: Version + menu buttons (help/voice/model/
|
|
532466
|
+
* - Category A: Version + menu buttons (help/voice/model/endpoint/sponsor)
|
|
532412
532467
|
* - Category B: Systems (agents/voice status/nexus status)
|
|
532413
532468
|
* Each category paginates independently across N pages. */
|
|
532414
532469
|
_rebuildHeaderPanels() {
|
|
@@ -532424,14 +532479,13 @@ var init_status_bar = __esm({
|
|
|
532424
532479
|
}
|
|
532425
532480
|
return `\x1B]8;;${cmdPrefix}\x07\x1B[38;5;${fg3}m${label}\x1B]8;;\x07`;
|
|
532426
532481
|
};
|
|
532427
|
-
const
|
|
532428
|
-
const verArrow = this._updateLatest ? " ↑" : "";
|
|
532429
|
-
const verText = verBase + verArrow;
|
|
532482
|
+
const verText = this.buildHeaderVersionText();
|
|
532430
532483
|
const menuBtns = [
|
|
532431
532484
|
{ cmd: "help", label: " help ", w: 6 },
|
|
532432
532485
|
{ cmd: "voice", label: " voice ", w: 7 },
|
|
532433
532486
|
{ cmd: "model", label: " model ", w: 7 },
|
|
532434
|
-
{ cmd: "
|
|
532487
|
+
{ cmd: "endpoint", label: " endpoint ", w: 10 },
|
|
532488
|
+
{ cmd: "sponsor", label: " sponsor ", w: 9 }
|
|
532435
532489
|
];
|
|
532436
532490
|
const verW = verText.length;
|
|
532437
532491
|
let menuPages = [];
|
|
@@ -532708,12 +532762,12 @@ var init_status_bar = __esm({
|
|
|
532708
532762
|
/** Set the current package version for display in the metrics row */
|
|
532709
532763
|
setVersion(version4) {
|
|
532710
532764
|
this._version = version4;
|
|
532711
|
-
|
|
532765
|
+
this.refreshHeaderAndFooter();
|
|
532712
532766
|
}
|
|
532713
532767
|
/** Mark that a newer version is available (renders clickable ↑ next to version) */
|
|
532714
532768
|
setUpdateAvailable(latestVersion) {
|
|
532715
532769
|
this._updateLatest = latestVersion;
|
|
532716
|
-
|
|
532770
|
+
this.refreshHeaderPanels();
|
|
532717
532771
|
}
|
|
532718
532772
|
/** Human expert speed ratio tracker */
|
|
532719
532773
|
_speedTracker = new HumanSpeedTracker();
|
|
@@ -532766,8 +532820,7 @@ var init_status_bar = __esm({
|
|
|
532766
532820
|
_modelName = "";
|
|
532767
532821
|
/** Update active model name shown in the status bar */
|
|
532768
532822
|
setModelName(name10) {
|
|
532769
|
-
this.
|
|
532770
|
-
if (this.active) this.renderFooterPreserveCursor();
|
|
532823
|
+
this.setHeaderIdentity(name10, this._headerBackendType, this._headerBackendUrl);
|
|
532771
532824
|
}
|
|
532772
532825
|
/** Model capabilities — shown as emoji indicators on the status bar */
|
|
532773
532826
|
_caps = {
|
|
@@ -581708,7 +581761,7 @@ ${opts.systemPromptAddition}` : `Working directory: ${repoRoot}`;
|
|
|
581708
581761
|
statusBar.setCapabilities(caps);
|
|
581709
581762
|
}).catch(() => {
|
|
581710
581763
|
});
|
|
581711
|
-
statusBar.
|
|
581764
|
+
statusBar.setHeaderIdentity(config.model, config.backendType, config.backendUrl);
|
|
581712
581765
|
const provider = detectProvider(config.backendUrl);
|
|
581713
581766
|
const costTracker = new CostTracker(provider.id);
|
|
581714
581767
|
const sessionMetrics = new SessionMetrics();
|
|
@@ -582607,6 +582660,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
582607
582660
|
currentConfig.backendUrl = best.tunnelUrl;
|
|
582608
582661
|
currentConfig.apiKey = bestNoAuth ? "" : best.authKey;
|
|
582609
582662
|
currentConfig.backendType = "openai";
|
|
582663
|
+
statusBar.setBackendInfo(currentConfig.backendType, currentConfig.backendUrl);
|
|
582610
582664
|
setTimeout(() => {
|
|
582611
582665
|
if (statusBar.isActive) {
|
|
582612
582666
|
writeContent(() => renderInfo2(`Connected to sponsored endpoint: ${best.name}`));
|
|
@@ -582791,7 +582845,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
582791
582845
|
sessionMetrics,
|
|
582792
582846
|
setModel(model) {
|
|
582793
582847
|
currentConfig = { ...currentConfig, model };
|
|
582794
|
-
statusBar.
|
|
582848
|
+
statusBar.setHeaderIdentity(model, currentConfig.backendType, currentConfig.backendUrl);
|
|
582795
582849
|
},
|
|
582796
582850
|
setVerbose(verbose) {
|
|
582797
582851
|
currentConfig = { ...currentConfig, verbose };
|
|
@@ -582803,6 +582857,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
|
|
|
582803
582857
|
backendType,
|
|
582804
582858
|
...apiKey !== void 0 ? { apiKey } : {}
|
|
582805
582859
|
};
|
|
582860
|
+
statusBar.setBackendInfo(backendType, url);
|
|
582806
582861
|
const newProvider = detectProvider(url);
|
|
582807
582862
|
costTracker.setProvider(newProvider.id);
|
|
582808
582863
|
const isPeer = url.startsWith("peer://");
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "open-agents-ai",
|
|
3
|
-
"version": "0.187.
|
|
3
|
+
"version": "0.187.393",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "open-agents-ai",
|
|
9
|
-
"version": "0.187.
|
|
9
|
+
"version": "0.187.393",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "CC-BY-NC-4.0",
|
|
12
12
|
"dependencies": {
|
package/package.json
CHANGED