omnius 1.0.510 → 1.0.511

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 CHANGED
@@ -638602,9 +638602,8 @@ var init_status_bar = __esm({
638602
638602
  _toolCalls = 0;
638603
638603
  _turns = 0;
638604
638604
  /** Debug data panel overlay state. */
638605
- _debugPanelOpen = false;
638606
- _debugPanelPage = 0;
638607
- _debugPanelPages = 4;
638605
+ /** Bottom-row page: -1 = compact metrics, 0-3 = debug panels (token, model, SNR, cost) */
638606
+ _debugPanelPage = -1;
638608
638607
  active = false;
638609
638608
  scrollRegionTop = 1;
638610
638609
  // ── Agent View Multiplexing (WO-NA1) ──
@@ -640788,6 +640787,14 @@ var init_status_bar = __esm({
640788
640787
  }
640789
640788
  return;
640790
640789
  }
640790
+ if (type === "press" && this._footerMetricsVisible) {
640791
+ const metricsRow = layout().footerMetrics;
640792
+ if (row === metricsRow && col >= termCols() - 5) {
640793
+ this.cycleDebugPanelPage();
640794
+ this.renderFooterAndPositionInput();
640795
+ return;
640796
+ }
640797
+ }
640791
640798
  if (type === "press" && this._scrollBtnRegion && row === this._scrollBtnRegion.row) {
640792
640799
  if (col >= this._scrollBtnRegion.start && col <= this._scrollBtnRegion.end) {
640793
640800
  this.jumpToLive();
@@ -641101,9 +641108,6 @@ var init_status_bar = __esm({
641101
641108
  );
641102
641109
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildInputBoxBottom(w)}${PANEL_BG_SEQ}`;
641103
641110
  if (pos.metricsRow > 0) {
641104
- if (this._debugPanelOpen && pos.metricsRow > 1) {
641105
- buf += `\x1B[${pos.metricsRow - 1};1H${PANEL_BG_SEQ}\x1B[2K${this.buildDebugPanel()}${RESET4}${PANEL_BG_SEQ}`;
641106
- }
641107
641111
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET4}${PANEL_BG_SEQ}`;
641108
641112
  }
641109
641113
  buf += `\x1B[?7h\x1B[${pos.inputStartRow + 1};1H`;
@@ -642158,16 +642162,66 @@ ${CONTENT_BG_SEQ}`);
642158
642162
  const pctColor = pct2 > 50 ? 120 : pct2 > 20 ? 222 : 210;
642159
642163
  ctxStr = `${bar} \x1B[38;5;${pctColor}m${pct2}%\x1B[0m`;
642160
642164
  }
642161
- const arrow = this._debugPanelOpen ? `\x1B[38;5;183m▼\x1B[0m` : `\x1B[38;5;240m▶\x1B[0m`;
642162
- const rightParts = [uptimeStr];
642163
- if (ctxStr) rightParts.push(ctxStr);
642164
- rightParts.push(arrow);
642165
- const rightSide = rightParts.join(" ");
642165
+ const arrow = `\x1B[38;5;240m▶\x1B[0m`;
642166
+ let rightSide;
642167
+ let pageLabel;
642168
+ if (this._debugPanelPage === -1) {
642169
+ const body = [uptimeStr];
642170
+ if (ctxStr) body.push(ctxStr);
642171
+ rightSide = body.join(" ");
642172
+ pageLabel = "";
642173
+ } else {
642174
+ const m3 = this.metrics;
642175
+ const pages = [];
642176
+ const tokInRaw = m3.promptTokens > 0 ? m3.promptTokens + (this.isStreaming ? this._streamingTokens : 0) : Math.max(m3.estimatedContextTokens, 0);
642177
+ const effectiveOut = this.effectiveCompletionTokens;
642178
+ const tokOutRaw = effectiveOut > 0 ? effectiveOut : Math.ceil(
642179
+ m3.totalTokens > 0 ? m3.totalTokens - m3.promptTokens : m3.estimatedContextTokens * 0.3
642180
+ );
642181
+ const tpsStr = _StatusBar.formatTokensPerSecond(this._tokensPerSecond);
642182
+ pages.push(
642183
+ `\x1B[38;5;117m↑${_StatusBar.formatInteger(tokInRaw)}\x1B[0m \x1B[38;5;151m↓${_StatusBar.formatInteger(tokOutRaw)}\x1B[0m \x1B[38;5;222mt/s ${tpsStr}\x1B[0m`
642184
+ );
642185
+ const model = this._modelName || "unknown";
642186
+ const backend = this._backend || "?";
642187
+ const gpu = this._gpuName || "none";
642188
+ pages.push(
642189
+ `\x1B[38;5;183m${model}\x1B[0m \x1B[38;5;240m${backend}\x1B[0m \x1B[38;5;120mGPU ${gpu}\x1B[0m`
642190
+ );
642191
+ if (this._snr) {
642192
+ const snrPct = Math.round(this._snr.ratio * 100);
642193
+ const snrColor = snrPct >= 70 ? 120 : snrPct >= 40 ? 222 : 210;
642194
+ const dPrime = this._snr.dPrime.toFixed(1);
642195
+ const capWarn = this._snr.capacityWarning ? " \x1B[38;5;210m!CAP\x1B[0m" : "";
642196
+ pages.push(
642197
+ `SNR \x1B[38;5;${snrColor}m${snrPct}%\x1B[0m d'${dPrime}${capWarn}`
642198
+ );
642199
+ } else {
642200
+ pages.push("SNR --");
642201
+ }
642202
+ {
642203
+ let costStr = "Cost --";
642204
+ if (m3.hasPricing && m3.estimatedCost !== void 0) {
642205
+ costStr = m3.estimatedCost < 0.01 ? `Cost \x1B[38;5;222m$${m3.estimatedCost.toFixed(4)}\x1B[0m` : m3.estimatedCost < 1 ? `Cost \x1B[38;5;222m$${m3.estimatedCost.toFixed(3)}\x1B[0m` : `Cost \x1B[38;5;222m$${m3.estimatedCost.toFixed(2)}\x1B[0m`;
642206
+ }
642207
+ const recStr = this._recording ? " \x1B[38;5;210m● REC\x1B[0m" : "";
642208
+ pages.push(costStr + recStr);
642209
+ }
642210
+ while (pages.length < 4) pages.push("--");
642211
+ const idx = Math.min(this._debugPanelPage, pages.length - 1);
642212
+ rightSide = pages[idx] ?? "--";
642213
+ pageLabel = "";
642214
+ }
642215
+ rightSide = rightSide ? rightSide + " " : "";
642216
+ const pageTotal = 5;
642217
+ const pageIdx = this._debugPanelPage + 2;
642218
+ const indicator = `\x1B[38;5;240m[${pageIdx > 5 ? 1 : pageIdx}/${pageTotal}]\x1B[0m `;
642219
+ const fullRight = pageLabel + rightSide + indicator + arrow;
642166
642220
  const stageW = stripAnsi(stageBlock).length;
642167
- const rightW = stripAnsi(rightSide).length;
642221
+ const rightW = stripAnsi(fullRight).length;
642168
642222
  const padNeeded = termWidth - stageW - rightW - 1;
642169
642223
  const gap = padNeeded > 0 ? " ".repeat(padNeeded) : " ";
642170
- return (stageBlock + gap + rightSide).replace(
642224
+ return (stageBlock + gap + fullRight).replace(
642171
642225
  /\x1B\[0m/g,
642172
642226
  `\x1B[0m${PANEL_BG_SEQ}`
642173
642227
  );
@@ -642183,60 +642237,9 @@ ${CONTENT_BG_SEQ}`);
642183
642237
  if (m2 > 0) return `${m2}m ${s2}s`;
642184
642238
  return `${s2}s`;
642185
642239
  }
642186
- /** Toggle the floating debug panel on/off */
642187
- toggleDebugPanel() {
642188
- this._debugPanelOpen = !this._debugPanelOpen;
642189
- this._debugPanelPage = 0;
642190
- }
642191
- /** Cycle to next debug panel page */
642240
+ /** Cycle to next bottom-row page (-1→0→1→2→3→-1) */
642192
642241
  cycleDebugPanelPage() {
642193
- this._debugPanelPage = (this._debugPanelPage + 1) % this._debugPanelPages;
642194
- }
642195
- /** Build the floating debug panel content (rendered above metrics row) */
642196
- buildDebugPanel() {
642197
- const m2 = this.metrics;
642198
- const pages = [];
642199
- const tokInRaw = m2.promptTokens > 0 ? m2.promptTokens + (this.isStreaming ? this._streamingTokens : 0) : Math.max(m2.estimatedContextTokens, 0);
642200
- const effectiveOut = this.effectiveCompletionTokens;
642201
- const tokOutRaw = effectiveOut > 0 ? effectiveOut : Math.ceil(
642202
- m2.totalTokens > 0 ? m2.totalTokens - m2.promptTokens : m2.estimatedContextTokens * 0.3
642203
- );
642204
- const tpsStr = _StatusBar.formatTokensPerSecond(this._tokensPerSecond);
642205
- pages.push(
642206
- `\x1B[38;5;117m↑${_StatusBar.formatInteger(tokInRaw)}\x1B[0m \x1B[38;5;151m↓${_StatusBar.formatInteger(tokOutRaw)}\x1B[0m \x1B[38;5;222mt/s ${tpsStr}\x1B[0m`
642207
- );
642208
- const model = this._modelName || "unknown";
642209
- const backend = this._backend || "?";
642210
- const gpu = this._gpuName || "none";
642211
- pages.push(
642212
- `\x1B[38;5;183m${model}\x1B[0m \x1B[38;5;240m${backend}\x1B[0m \x1B[38;5;120mGPU ${gpu}\x1B[0m`
642213
- );
642214
- if (this._snr) {
642215
- const snrPct = Math.round(this._snr.ratio * 100);
642216
- const snrColor = snrPct >= 70 ? 120 : snrPct >= 40 ? 222 : 210;
642217
- const dPrime = this._snr.dPrime.toFixed(1);
642218
- const capWarn = this._snr.capacityWarning ? " \x1B[38;5;210m!CAP\x1B[0m" : "";
642219
- pages.push(
642220
- `SNR \x1B[38;5;${snrColor}m${snrPct}%\x1B[0m d'${dPrime}${capWarn}`
642221
- );
642222
- } else {
642223
- pages.push("SNR --");
642224
- }
642225
- {
642226
- let costStr = "Cost --";
642227
- if (m2.hasPricing && m2.estimatedCost !== void 0) {
642228
- costStr = m2.estimatedCost < 0.01 ? `Cost \x1B[38;5;222m$${m2.estimatedCost.toFixed(4)}\x1B[0m` : m2.estimatedCost < 1 ? `Cost \x1B[38;5;222m$${m2.estimatedCost.toFixed(3)}\x1B[0m` : `Cost \x1B[38;5;222m$${m2.estimatedCost.toFixed(2)}\x1B[0m`;
642229
- }
642230
- const recStr = this._recording ? " \x1B[38;5;210m● REC\x1B[0m" : "";
642231
- pages.push(costStr + recStr);
642232
- }
642233
- while (pages.length < this._debugPanelPages) {
642234
- pages.push("--");
642235
- }
642236
- const page2 = Math.min(this._debugPanelPage, pages.length - 1);
642237
- const content = pages[page2] ?? "--";
642238
- const pageInd = `\x1B[38;5;240m[${page2 + 1}/${pages.length}]\x1B[0m`;
642239
- return `${content} ${pageInd}`;
642242
+ this._debugPanelPage = this._debugPanelPage >= 3 ? -1 : this._debugPanelPage + 1;
642240
642243
  }
642241
642244
  // -------------------------------------------------------------------------
642242
642245
  // Private
@@ -642806,9 +642809,6 @@ ${CONTENT_BG_SEQ}`);
642806
642809
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildInputBoxBottom(w)}${PANEL_BG_SEQ}`;
642807
642810
  }
642808
642811
  if (pos.metricsRow > 0) {
642809
- if (this._debugPanelOpen && pos.metricsRow > 1) {
642810
- buf += `\x1B[${pos.metricsRow - 1};1H${PANEL_BG_SEQ}\x1B[2K${this.buildDebugPanel()}${RESET4}${PANEL_BG_SEQ}`;
642811
- }
642812
642812
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET4}${PANEL_BG_SEQ}`;
642813
642813
  }
642814
642814
  buf += "\x1B[?7h";
@@ -642861,9 +642861,6 @@ ${CONTENT_BG_SEQ}`);
642861
642861
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildInputBoxBottom(w)}`;
642862
642862
  }
642863
642863
  if (pos.metricsRow > 0) {
642864
- if (this._debugPanelOpen && pos.metricsRow > 1) {
642865
- buf += `\x1B[${pos.metricsRow - 1};1H${PANEL_BG_SEQ}\x1B[2K${this.buildDebugPanel()}${RESET4}${PANEL_BG_SEQ}`;
642866
- }
642867
642864
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET4}${PANEL_BG_SEQ}`;
642868
642865
  }
642869
642866
  buf += "\x1B[?7h\x1B8" + // DEC restore cursor
@@ -642942,9 +642939,6 @@ ${CONTENT_BG_SEQ}`);
642942
642939
  }
642943
642940
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildInputBoxBottom(w)}`;
642944
642941
  if (pos.metricsRow > 0) {
642945
- if (this._debugPanelOpen && pos.metricsRow > 1) {
642946
- buf += `\x1B[${pos.metricsRow - 1};1H${PANEL_BG_SEQ}\x1B[2K${this.buildDebugPanel()}${RESET4}${PANEL_BG_SEQ}`;
642947
- }
642948
642942
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET4}`;
642949
642943
  }
642950
642944
  buf += "\x1B[?7h";
@@ -642990,9 +642984,6 @@ ${CONTENT_BG_SEQ}`);
642990
642984
  }
642991
642985
  buf += `\x1B[${pos.bufferRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildInputBoxBottom(w)}${PANEL_BG_SEQ}`;
642992
642986
  if (pos.metricsRow > 0) {
642993
- if (this._debugPanelOpen && pos.metricsRow > 1) {
642994
- buf += `\x1B[${pos.metricsRow - 1};1H${PANEL_BG_SEQ}\x1B[2K${this.buildDebugPanel()}${RESET4}${PANEL_BG_SEQ}`;
642995
- }
642996
642987
  buf += `\x1B[${pos.metricsRow};1H${PANEL_BG_SEQ}\x1B[2K${this.buildMetricsLine()}${RESET4}${PANEL_BG_SEQ}`;
642997
642988
  }
642998
642989
  buf += "\x1B[?7h\x1B8\x1B[?25l";
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.510",
3
+ "version": "1.0.511",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.510",
9
+ "version": "1.0.511",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.510",
3
+ "version": "1.0.511",
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",