omnius 1.0.93 → 1.0.94

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
@@ -572072,7 +572072,10 @@ var init_status_bar = __esm({
572072
572072
  this._contentLines.push(sentinel);
572073
572073
  if (this._contentLines.length > this._contentMaxLines) {
572074
572074
  this._contentLines.splice(0, this._contentLines.length - this._contentMaxLines);
572075
+ this.clampContentScrollOffset();
572075
572076
  }
572077
+ if (this._autoScroll && !this._mouseSelecting)
572078
+ this._contentScrollOffset = 0;
572076
572079
  if (this.active) this.repaintContent();
572077
572080
  }
572078
572081
  /** Force a complete footer redraw (public wrapper for renderFooterAndPositionInput).
@@ -573640,6 +573643,7 @@ var init_status_bar = __esm({
573640
573643
  this._activeViewId = id;
573641
573644
  this._contentLines = view.contentLines;
573642
573645
  this._contentScrollOffset = view.scrollOffset;
573646
+ this.clampContentScrollOffset();
573643
573647
  Promise.resolve().then(() => (init_tui_tasks_renderer(), tui_tasks_renderer_exports)).then((m2) => m2.setTuiTasksScope({ mainViewActive: id === "main" })).catch(() => {
573644
573648
  });
573645
573649
  this.repaintContent();
@@ -574087,10 +574091,7 @@ ${CONTENT_BG_SEQ}`);
574087
574091
  this._contentLines.length - this._contentMaxLines
574088
574092
  );
574089
574093
  if (this._contentScrollOffset > 0) {
574090
- this._contentScrollOffset = Math.min(
574091
- this._contentScrollOffset,
574092
- Math.max(0, this._contentLines.length - this.contentHeight)
574093
- );
574094
+ this.clampContentScrollOffset();
574094
574095
  }
574095
574096
  }
574096
574097
  if (this._autoScroll && !this._mouseSelecting)
@@ -574274,6 +574275,17 @@ ${CONTENT_BG_SEQ}`);
574274
574275
  const L = layout();
574275
574276
  return Math.max(1, L.contentBottom - this.scrollRegionTop + 1);
574276
574277
  }
574278
+ maxContentScrollOffset(width = termCols(), livePartialLine = this.getLiveBufferedLine()) {
574279
+ return Math.max(
574280
+ 0,
574281
+ this.reflowContentLines(livePartialLine, width).length - this.contentHeight
574282
+ );
574283
+ }
574284
+ clampContentScrollOffset(width = termCols()) {
574285
+ const maxOffset = this.maxContentScrollOffset(width);
574286
+ this._contentScrollOffset = Math.min(this._contentScrollOffset, maxOffset);
574287
+ if (this._contentScrollOffset === 0) this._autoScroll = true;
574288
+ }
574277
574289
  /** Whether user has scrolled back from live */
574278
574290
  get isScrolledBack() {
574279
574291
  return this._contentScrollOffset > 0;
@@ -574284,10 +574296,7 @@ ${CONTENT_BG_SEQ}`);
574284
574296
  this.cancelMouseIdle();
574285
574297
  this.enableMouseTracking();
574286
574298
  this._autoScroll = false;
574287
- const maxOffset = Math.max(
574288
- 0,
574289
- this._contentLines.length - this.contentHeight
574290
- );
574299
+ const maxOffset = this.maxContentScrollOffset();
574291
574300
  this._contentScrollOffset = Math.min(
574292
574301
  maxOffset,
574293
574302
  this._contentScrollOffset + lines
@@ -574300,7 +574309,10 @@ ${CONTENT_BG_SEQ}`);
574300
574309
  if (!this.active) return;
574301
574310
  this.cancelMouseIdle();
574302
574311
  this.enableMouseTracking();
574303
- this._contentScrollOffset = Math.max(0, this._contentScrollOffset - lines);
574312
+ this._contentScrollOffset = Math.min(
574313
+ this.maxContentScrollOffset(),
574314
+ Math.max(0, this._contentScrollOffset - lines)
574315
+ );
574304
574316
  if (this._contentScrollOffset === 0) this._autoScroll = true;
574305
574317
  this._syncPagerScope();
574306
574318
  this.repaintContent();
@@ -574348,6 +574360,11 @@ ${CONTENT_BG_SEQ}`);
574348
574360
  const w = termCols();
574349
574361
  const reflowedLines = this.reflowContentLines(livePartialLine, w);
574350
574362
  const totalLines = reflowedLines.length;
574363
+ const maxOffset = Math.max(0, totalLines - h);
574364
+ if (this._contentScrollOffset > maxOffset) {
574365
+ this._contentScrollOffset = maxOffset;
574366
+ if (this._contentScrollOffset === 0) this._autoScroll = true;
574367
+ }
574351
574368
  const startIdx = Math.max(0, totalLines - h - this._contentScrollOffset);
574352
574369
  const headerSafeFloor = layout().headerBottom + 1;
574353
574370
  let buf = "\x1B[?2026h";
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.93",
3
+ "version": "1.0.94",
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.94",
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.94",
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",