omnius 1.0.93 → 1.0.95

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
@@ -571682,7 +571682,7 @@ function setTerminalTitle(task, version4) {
571682
571682
  const title = task ? `${task.slice(0, 60)} · ${ver}` : ver;
571683
571683
  process.stdout.write(`\x1B]2;${title}\x07`);
571684
571684
  }
571685
- var EXPERT_TOOL_BASELINES, CONTEXT_SWITCH_OVERHEAD, TURN_PLANNING_OVERHEAD, DEFAULT_TOOL_BASELINE, CODE_READ_CHARS_PER_SEC, PROSE_READ_CHARS_PER_SEC, MIN_CONTENT_FOR_READING, CODE_CONTENT_TOOLS, PROSE_CONTENT_TOOLS, HumanSpeedTracker, PANEL_BG_SEQ, CONTENT_BG_SEQ, BOX_FG, TEXT_PRIMARY, TEXT_DIM, NO_SUB_AGENTS_HEADER_LABEL, BOX_TL3, BOX_TR3, BOX_BL3, BOX_BR3, BOX_H3, BOX_V3, _globalFooterLock, RESET4, CURSOR_BLINK_BLOCK, _isWindows, StatusBar;
571685
+ var EXPERT_TOOL_BASELINES, CONTEXT_SWITCH_OVERHEAD, TURN_PLANNING_OVERHEAD, DEFAULT_TOOL_BASELINE, CODE_READ_CHARS_PER_SEC, PROSE_READ_CHARS_PER_SEC, MIN_CONTENT_FOR_READING, CODE_CONTENT_TOOLS, PROSE_CONTENT_TOOLS, HumanSpeedTracker, PANEL_BG_SEQ, CONTENT_BG_SEQ, BOX_FG, TEXT_PRIMARY, TEXT_DIM, NO_SUB_AGENTS_HEADER_LABEL, HEADER_ACCENT_BLUE, HEADER_ACCENT_BOLD_FG, HEADER_BUTTON_BG, HEADER_BUTTON_FG, BOX_TL3, BOX_TR3, BOX_BL3, BOX_BR3, BOX_H3, BOX_V3, _globalFooterLock, RESET4, CURSOR_BLINK_BLOCK, _isWindows, StatusBar;
571686
571686
  var init_status_bar = __esm({
571687
571687
  "packages/cli/src/tui/status-bar.ts"() {
571688
571688
  "use strict";
@@ -571861,6 +571861,10 @@ var init_status_bar = __esm({
571861
571861
  TEXT_PRIMARY = tuiTextPrimary() < 0 ? 252 : tuiTextPrimary();
571862
571862
  TEXT_DIM = tuiTextDim();
571863
571863
  NO_SUB_AGENTS_HEADER_LABEL = " no sub-agents ";
571864
+ HEADER_ACCENT_BLUE = 147;
571865
+ HEADER_ACCENT_BOLD_FG = `\x1B[1;38;5;${HEADER_ACCENT_BLUE}m`;
571866
+ HEADER_BUTTON_BG = `\x1B[48;5;${HEADER_ACCENT_BLUE}m`;
571867
+ HEADER_BUTTON_FG = "\x1B[38;5;0m";
571864
571868
  BOX_TL3 = "╭";
571865
571869
  BOX_TR3 = "╮";
571866
571870
  BOX_BL3 = "╰";
@@ -572072,7 +572076,10 @@ var init_status_bar = __esm({
572072
572076
  this._contentLines.push(sentinel);
572073
572077
  if (this._contentLines.length > this._contentMaxLines) {
572074
572078
  this._contentLines.splice(0, this._contentLines.length - this._contentMaxLines);
572079
+ this.clampContentScrollOffset();
572075
572080
  }
572081
+ if (this._autoScroll && !this._mouseSelecting)
572082
+ this._contentScrollOffset = 0;
572076
572083
  if (this.active) this.repaintContent();
572077
572084
  }
572078
572085
  /** Force a complete footer redraw (public wrapper for renderFooterAndPositionInput).
@@ -572214,7 +572221,7 @@ var init_status_bar = __esm({
572214
572221
  text += `${BOX_FG}${BOX_V3}${RESET4}${PANEL_BG_SEQ}`;
572215
572222
  width += 1;
572216
572223
  }
572217
- text += `\x1B[1;38;5;${TEXT_PRIMARY}m${PANEL_BG_SEQ}${segment}`;
572224
+ text += `${HEADER_ACCENT_BOLD_FG}${PANEL_BG_SEQ}${segment}`;
572218
572225
  width += segment.length;
572219
572226
  }
572220
572227
  return { text, width, separatorOffsets };
@@ -572280,22 +572287,10 @@ var init_status_bar = __esm({
572280
572287
  return fg2;
572281
572288
  };
572282
572289
  const decorateMenuButton = (cmd, label) => {
572283
- const isBranding = themeMode() === "branding";
572284
- if (isBranding) {
572285
- const BRAND_BG = 37;
572286
- const BRAND_FG = 0;
572287
- return linkify(
572288
- cmd,
572289
- `\x1B[38;5;${BRAND_FG}m\x1B[48;5;${BRAND_BG}m ${label} \x1B[0m${PANEL_BG_SEQ}`
572290
- );
572291
- } else {
572292
- const WHITE_BG = 15;
572293
- const BLACK_FG = 0;
572294
- return linkify(
572295
- cmd,
572296
- `\x1B[38;5;${BLACK_FG}m\x1B[48;5;${WHITE_BG}m ${label} \x1B[0m${PANEL_BG_SEQ}`
572297
- );
572298
- }
572290
+ return linkify(
572291
+ cmd,
572292
+ `${HEADER_BUTTON_FG}${HEADER_BUTTON_BG} ${label} \x1B[0m${PANEL_BG_SEQ}`
572293
+ );
572299
572294
  };
572300
572295
  const renderBtn = (cmd, label) => {
572301
572296
  const fg2 = buttonFg(cmd);
@@ -573640,6 +573635,7 @@ var init_status_bar = __esm({
573640
573635
  this._activeViewId = id;
573641
573636
  this._contentLines = view.contentLines;
573642
573637
  this._contentScrollOffset = view.scrollOffset;
573638
+ this.clampContentScrollOffset();
573643
573639
  Promise.resolve().then(() => (init_tui_tasks_renderer(), tui_tasks_renderer_exports)).then((m2) => m2.setTuiTasksScope({ mainViewActive: id === "main" })).catch(() => {
573644
573640
  });
573645
573641
  this.repaintContent();
@@ -574087,10 +574083,7 @@ ${CONTENT_BG_SEQ}`);
574087
574083
  this._contentLines.length - this._contentMaxLines
574088
574084
  );
574089
574085
  if (this._contentScrollOffset > 0) {
574090
- this._contentScrollOffset = Math.min(
574091
- this._contentScrollOffset,
574092
- Math.max(0, this._contentLines.length - this.contentHeight)
574093
- );
574086
+ this.clampContentScrollOffset();
574094
574087
  }
574095
574088
  }
574096
574089
  if (this._autoScroll && !this._mouseSelecting)
@@ -574274,6 +574267,17 @@ ${CONTENT_BG_SEQ}`);
574274
574267
  const L = layout();
574275
574268
  return Math.max(1, L.contentBottom - this.scrollRegionTop + 1);
574276
574269
  }
574270
+ maxContentScrollOffset(width = termCols(), livePartialLine = this.getLiveBufferedLine()) {
574271
+ return Math.max(
574272
+ 0,
574273
+ this.reflowContentLines(livePartialLine, width).length - this.contentHeight
574274
+ );
574275
+ }
574276
+ clampContentScrollOffset(width = termCols()) {
574277
+ const maxOffset = this.maxContentScrollOffset(width);
574278
+ this._contentScrollOffset = Math.min(this._contentScrollOffset, maxOffset);
574279
+ if (this._contentScrollOffset === 0) this._autoScroll = true;
574280
+ }
574277
574281
  /** Whether user has scrolled back from live */
574278
574282
  get isScrolledBack() {
574279
574283
  return this._contentScrollOffset > 0;
@@ -574284,10 +574288,7 @@ ${CONTENT_BG_SEQ}`);
574284
574288
  this.cancelMouseIdle();
574285
574289
  this.enableMouseTracking();
574286
574290
  this._autoScroll = false;
574287
- const maxOffset = Math.max(
574288
- 0,
574289
- this._contentLines.length - this.contentHeight
574290
- );
574291
+ const maxOffset = this.maxContentScrollOffset();
574291
574292
  this._contentScrollOffset = Math.min(
574292
574293
  maxOffset,
574293
574294
  this._contentScrollOffset + lines
@@ -574300,7 +574301,10 @@ ${CONTENT_BG_SEQ}`);
574300
574301
  if (!this.active) return;
574301
574302
  this.cancelMouseIdle();
574302
574303
  this.enableMouseTracking();
574303
- this._contentScrollOffset = Math.max(0, this._contentScrollOffset - lines);
574304
+ this._contentScrollOffset = Math.min(
574305
+ this.maxContentScrollOffset(),
574306
+ Math.max(0, this._contentScrollOffset - lines)
574307
+ );
574304
574308
  if (this._contentScrollOffset === 0) this._autoScroll = true;
574305
574309
  this._syncPagerScope();
574306
574310
  this.repaintContent();
@@ -574348,6 +574352,11 @@ ${CONTENT_BG_SEQ}`);
574348
574352
  const w = termCols();
574349
574353
  const reflowedLines = this.reflowContentLines(livePartialLine, w);
574350
574354
  const totalLines = reflowedLines.length;
574355
+ const maxOffset = Math.max(0, totalLines - h);
574356
+ if (this._contentScrollOffset > maxOffset) {
574357
+ this._contentScrollOffset = maxOffset;
574358
+ if (this._contentScrollOffset === 0) this._autoScroll = true;
574359
+ }
574351
574360
  const startIdx = Math.max(0, totalLines - h - this._contentScrollOffset);
574352
574361
  const headerSafeFloor = layout().headerBottom + 1;
574353
574362
  let buf = "\x1B[?2026h";
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.93",
3
+ "version": "1.0.95",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.93",
9
+ "version": "1.0.95",
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.93",
3
+ "version": "1.0.95",
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",