omnius 1.0.683 → 1.0.684

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
@@ -724851,26 +724851,33 @@ var init_dist9 = __esm({
724851
724851
  function enabled2(value2) {
724852
724852
  return /^(?:1|true|yes|on)$/i.test(value2?.trim() ?? "");
724853
724853
  }
724854
- function hasNoColor(env2) {
724855
- return env2["NO_COLOR"] !== void 0 && env2["NO_COLOR"] !== "";
724856
- }
724857
724854
  function isLimitedTerminal(env2) {
724858
724855
  const term = (env2["TERM"] ?? "").trim().toLowerCase();
724859
724856
  return /^(?:dumb|linux|cons25|vt100|ansi|unknown)$/.test(term);
724860
724857
  }
724861
- function isRemoteTerminalSession(env2 = process.env) {
724862
- return Boolean(env2["SSH_TTY"] || env2["SSH_CONNECTION"] || env2["SSH_CLIENT"]);
724858
+ function requestsCompatibleChrome(env2) {
724859
+ const profile = (env2["OMNIUS_TUI_PROFILE"] ?? "").trim().toLowerCase();
724860
+ const client = (env2["OMNIUS_TUI_CLIENT_PLATFORM"] ?? "").trim().toLowerCase();
724861
+ return profile === "compatible" || profile === "static" || enabled2(env2["OMNIUS_TUI_STATIC_CHROME"]) || client === "darwin" || client === "macos" || client === "win32" || client === "windows";
724863
724862
  }
724864
724863
  function prefersStaticTuiChrome(options2 = {}) {
724865
724864
  const platform13 = options2.platform ?? process.platform;
724866
724865
  const env2 = options2.env ?? process.env;
724867
724866
  if (platform13 === "darwin" || platform13 === "win32") return true;
724868
- if (enabled2(env2["OMNIUS_TUI_STATIC_CHROME"])) return true;
724867
+ if (requestsCompatibleChrome(env2)) return true;
724869
724868
  if (enabled2(env2["OMNIUS_TUI_ANIMATED_CHROME"])) return false;
724870
- if (isRemoteTerminalSession(env2)) return true;
724871
- if (hasNoColor(env2) || isLimitedTerminal(env2)) return true;
724869
+ if (isLimitedTerminal(env2)) return true;
724872
724870
  return false;
724873
724871
  }
724872
+ function supportsOrnamentalTuiButtonEdges(options2 = {}) {
724873
+ const platform13 = options2.platform ?? process.platform;
724874
+ const env2 = options2.env ?? process.env;
724875
+ if (platform13 === "darwin" || platform13 === "win32") return false;
724876
+ if (requestsCompatibleChrome(env2) || isLimitedTerminal(env2)) return false;
724877
+ const locale = (env2["LC_ALL"] || env2["LC_CTYPE"] || env2["LANG"] || "").trim();
724878
+ if (locale && !/utf-?8/i.test(locale)) return false;
724879
+ return true;
724880
+ }
724874
724881
  var init_terminal_capabilities = __esm({
724875
724882
  "packages/cli/src/tui/terminal-capabilities.ts"() {
724876
724883
  }
@@ -727991,6 +727998,10 @@ __export(status_bar_exports, {
727991
727998
  });
727992
727999
  import { basename as basename35, dirname as dirname63 } from "node:path";
727993
728000
  import { readFile as readFileAsync } from "node:fs/promises";
728001
+ function headerButtonGlyphFg() {
728002
+ const a2 = tuiAccent();
728003
+ return a2 < 0 ? "\x1B[39m" : `\x1B[38;5;${a2}m`;
728004
+ }
727994
728005
  function headerButtonBg() {
727995
728006
  const a2 = tuiAccent();
727996
728007
  return a2 < 0 ? "\x1B[7m" : `\x1B[48;5;${a2}m`;
@@ -728062,6 +728073,7 @@ function refreshThemeVars() {
728062
728073
  BOX_FG = tuiBoxFg();
728063
728074
  TEXT_PRIMARY = tuiTextPrimary() < 0 ? 252 : tuiTextPrimary();
728064
728075
  TEXT_DIM = tuiTextDim();
728076
+ HEADER_BUTTON_GLYPH_FG = headerButtonGlyphFg();
728065
728077
  HEADER_BUTTON_BG = headerButtonBg();
728066
728078
  HEADER_BUTTON_FG = headerButtonFg();
728067
728079
  HEADER_ACCENT_BOLD_FG = headerAccentBoldFg();
@@ -728100,7 +728112,7 @@ function setTerminalTitle(task, version5) {
728100
728112
  process.stdout.write(data);
728101
728113
  }
728102
728114
  }
728103
- 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_BUTTON_BG, HEADER_BUTTON_FG, HEADER_ACCENT_BOLD_FG, HEADER_TELEGRAM_FG, BOX_TL3, BOX_TR3, BOX_BL3, BOX_BR3, BOX_H3, BOX_V3, BOX_BJ, BOX_TJ, ENHANCE_SEG_INNER, ENHANCE_SPIN_FRAMES, _globalFooterLock, RESET4, CURSOR_BLINK_BLOCK, HEADER_BUTTON_LEFT, HEADER_BUTTON_RIGHT, SPONSOR_HEADER_LABEL_MAX, _termTitleWriter, StatusBar;
728115
+ 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_BUTTON_GLYPH_FG, HEADER_BUTTON_BG, HEADER_BUTTON_FG, HEADER_ACCENT_BOLD_FG, HEADER_TELEGRAM_FG, BOX_TL3, BOX_TR3, BOX_BL3, BOX_BR3, BOX_H3, BOX_V3, BOX_BJ, BOX_TJ, ENHANCE_SEG_INNER, ENHANCE_SPIN_FRAMES, _globalFooterLock, RESET4, CURSOR_BLINK_BLOCK, HEADER_BUTTON_LEFT, HEADER_BUTTON_RIGHT, HEADER_BUTTON_SQUARE_PAD, SPONSOR_HEADER_LABEL_MAX, _termTitleWriter, StatusBar;
728104
728116
  var init_status_bar = __esm({
728105
728117
  "packages/cli/src/tui/status-bar.ts"() {
728106
728118
  init_render();
@@ -728115,6 +728127,7 @@ var init_status_bar = __esm({
728115
728127
  init_text_selection();
728116
728128
  init_overlay_lock();
728117
728129
  init_dist5();
728130
+ init_terminal_capabilities();
728118
728131
  init_theme();
728119
728132
  init_tool_collapse_store();
728120
728133
  init_layout2();
@@ -728285,6 +728298,7 @@ var init_status_bar = __esm({
728285
728298
  TEXT_PRIMARY = tuiTextPrimary() < 0 ? 252 : tuiTextPrimary();
728286
728299
  TEXT_DIM = tuiTextDim();
728287
728300
  NO_SUB_AGENTS_HEADER_LABEL = " no sub-agents ";
728301
+ HEADER_BUTTON_GLYPH_FG = headerButtonGlyphFg();
728288
728302
  HEADER_BUTTON_BG = headerButtonBg();
728289
728303
  HEADER_BUTTON_FG = headerButtonFg();
728290
728304
  HEADER_ACCENT_BOLD_FG = headerAccentBoldFg();
@@ -728302,8 +728316,9 @@ var init_status_bar = __esm({
728302
728316
  _globalFooterLock = false;
728303
728317
  RESET4 = "\x1B[0m";
728304
728318
  CURSOR_BLINK_BLOCK = "\x1B[1 q";
728305
- HEADER_BUTTON_LEFT = " ";
728306
- HEADER_BUTTON_RIGHT = " ";
728319
+ HEADER_BUTTON_LEFT = "🭁";
728320
+ HEADER_BUTTON_RIGHT = "🭝";
728321
+ HEADER_BUTTON_SQUARE_PAD = " ";
728307
728322
  SPONSOR_HEADER_LABEL_MAX = 48;
728308
728323
  _termTitleWriter = null;
728309
728324
  StatusBar = class _StatusBar {
@@ -729056,7 +729071,10 @@ var init_status_bar = __esm({
729056
729071
  /** Filled header button whose hue band follows the child agent's current action. */
729057
729072
  paintAgentButton(content, stage2, active) {
729058
729073
  const useTruecolor = supportsAnimatedTuiChrome();
729059
- const chars = Array.from(`${HEADER_BUTTON_LEFT}${content}${HEADER_BUTTON_RIGHT}`);
729074
+ const ornamentalEdges = supportsOrnamentalTuiButtonEdges();
729075
+ const chars = Array.from(
729076
+ ornamentalEdges ? content : `${HEADER_BUTTON_SQUARE_PAD}${content}${HEADER_BUTTON_SQUARE_PAD}`
729077
+ );
729060
729078
  let body = "";
729061
729079
  for (let i2 = 0; i2 < chars.length; i2++) {
729062
729080
  const char = chars[i2];
@@ -729070,7 +729088,16 @@ var init_status_bar = __esm({
729070
729088
  body += `${active ? "\x1B[1m" : ""}\x1B[38;5;${contrastTextColor(fallback)}m\x1B[48;5;${fallback}m${char}\x1B[0m`;
729071
729089
  }
729072
729090
  }
729073
- return `${body}${RESET4}${PANEL_BG_SEQ}`;
729091
+ if (!ornamentalEdges) return `${body}${RESET4}${PANEL_BG_SEQ}`;
729092
+ const [lr, lg, lb] = stageGradientRgb(stage2, 0, this._stagePhase);
729093
+ const leftBorder = useTruecolor ? `\x1B[38;2;${lr};${lg};${lb}m` : `\x1B[38;5;${stageFallbackColor(stage2)}m`;
729094
+ const [rr, rg, rb] = stageGradientRgb(
729095
+ stage2,
729096
+ Math.max(0, chars.length - 1),
729097
+ this._stagePhase
729098
+ );
729099
+ const rightBorder = useTruecolor ? `\x1B[38;2;${rr};${rg};${rb}m` : `\x1B[38;5;${stageFallbackColor(stage2)}m`;
729100
+ return `${leftBorder}${HEADER_BUTTON_LEFT}${RESET4}` + body + `${RESET4}${PANEL_BG_SEQ}${rightBorder}${HEADER_BUTTON_RIGHT}${RESET4}${PANEL_BG_SEQ}`;
729074
729101
  }
729075
729102
  paintAgentText(value2, stage2, offset = 0) {
729076
729103
  const chars = Array.from(value2);
@@ -729094,7 +729121,10 @@ var init_status_bar = __esm({
729094
729121
  return `\x1B]8;;${cmdPrefix}\x07${label}\x1B]8;;\x07`;
729095
729122
  };
729096
729123
  const decorateMenuButton = (cmd, label) => {
729097
- return `${HEADER_BUTTON_BG}${HEADER_BUTTON_FG}${HEADER_BUTTON_LEFT}${label}${HEADER_BUTTON_RIGHT}\x1B[0m${PANEL_BG_SEQ}`;
729124
+ if (!supportsOrnamentalTuiButtonEdges()) {
729125
+ return `${HEADER_BUTTON_BG}${HEADER_BUTTON_FG}${HEADER_BUTTON_SQUARE_PAD}${label}${HEADER_BUTTON_SQUARE_PAD}\x1B[0m${PANEL_BG_SEQ}`;
729126
+ }
729127
+ return `${HEADER_BUTTON_GLYPH_FG}${HEADER_BUTTON_LEFT}\x1B[0m${HEADER_BUTTON_BG}${HEADER_BUTTON_FG}${label}\x1B[0m${PANEL_BG_SEQ}${HEADER_BUTTON_GLYPH_FG}${HEADER_BUTTON_RIGHT}\x1B[0m${PANEL_BG_SEQ}`;
729098
729128
  };
729099
729129
  const renderBtn = (cmd, label) => {
729100
729130
  return linkify(cmd, decorateMenuButton(cmd, label));
@@ -27,9 +27,9 @@ The input box should preserve Unicode line boundaries and avoid overwriting prev
27
27
 
28
28
  ## Terminal Compatibility
29
29
 
30
- Header controls use background-filled square padding instead of rare ornamental Unicode edge glyphs. This prevents replacement-character boxes when the client font lacks Symbols for Legacy Computing coverage.
30
+ Header controls retain ornamental Unicode edges on capable Linux terminals. macOS, Windows, limited terminals, and compatible-profile sessions use background-filled square padding so missing Symbols for Legacy Computing glyphs cannot become replacement boxes.
31
31
 
32
- Animated border colors are disabled on macOS, Windows, limited terminals, and SSH sessions. An SSH host cannot reliably detect the client operating system or font. A known-good Linux or Unix SSH client can opt back in with `OMNIUS_TUI_ANIMATED_CHROME=1`. Set `OMNIUS_TUI_STATIC_CHROME=1` to force stable single-color borders on any platform.
32
+ Animated border colors are disabled on macOS, Windows, limited terminals, and explicit compatible-profile sessions. SSH alone does not disable Linux rendering because the host cannot reliably infer the client system or font. Set `OMNIUS_TUI_PROFILE=compatible` or `OMNIUS_TUI_STATIC_CHROME=1` for a limited SSH client. An SSH launcher can instead forward `OMNIUS_TUI_CLIENT_PLATFORM=macos` or `windows`.
33
33
 
34
34
  ## Shell Output
35
35
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.683",
3
+ "version": "1.0.684",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.683",
9
+ "version": "1.0.684",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
@@ -2327,9 +2327,9 @@
2327
2327
  }
2328
2328
  },
2329
2329
  "node_modules/@types/node": {
2330
- "version": "26.4.0",
2331
- "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.0.tgz",
2332
- "integrity": "sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==",
2330
+ "version": "26.4.1",
2331
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.1.tgz",
2332
+ "integrity": "sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==",
2333
2333
  "license": "MIT",
2334
2334
  "dependencies": {
2335
2335
  "undici-types": "~8.3.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.683",
3
+ "version": "1.0.684",
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/library.js",