omnius 1.0.297 → 1.0.299

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
@@ -9724,9 +9724,9 @@ var init_vision = __esm({
9724
9724
  if (ollamaResult)
9725
9725
  return ollamaResult;
9726
9726
  try {
9727
- const { execSync: execSync63 } = await import("node:child_process");
9727
+ const { execSync: execSync64 } = await import("node:child_process");
9728
9728
  try {
9729
- execSync63("pip3 install --user moondream 2>/dev/null || pip install --user moondream 2>/dev/null", {
9729
+ execSync64("pip3 install --user moondream 2>/dev/null || pip install --user moondream 2>/dev/null", {
9730
9730
  timeout: 12e4,
9731
9731
  stdio: "pipe"
9732
9732
  });
@@ -9739,7 +9739,7 @@ var init_vision = __esm({
9739
9739
  } catch {
9740
9740
  }
9741
9741
  try {
9742
- execSync63("ollama pull moondream", { timeout: 3e5, stdio: "pipe" });
9742
+ execSync64("ollama pull moondream", { timeout: 3e5, stdio: "pipe" });
9743
9743
  const retryOllama = await this.tryOllamaVision(buffer2, filename, action, prompt, length4, start2, preferredModel);
9744
9744
  if (retryOllama)
9745
9745
  return retryOllama;
@@ -571242,8 +571242,8 @@ Respond with your assessment, then take action.`;
571242
571242
  const memMod = await Promise.resolve().then(() => (init_dist(), dist_exports));
571243
571243
  let commitSha = "no-commit";
571244
571244
  try {
571245
- const { execSync: execSync63 } = await import("node:child_process");
571246
- commitSha = execSync63("git rev-parse HEAD", {
571245
+ const { execSync: execSync64 } = await import("node:child_process");
571246
+ commitSha = execSync64("git rev-parse HEAD", {
571247
571247
  cwd: this._workingDirectory,
571248
571248
  stdio: ["ignore", "pipe", "ignore"]
571249
571249
  }).toString().trim().slice(0, 12) || "no-commit";
@@ -580516,7 +580516,7 @@ ${result}`
580516
580516
  const buffer2 = Buffer.from(rawBase64, "base64");
580517
580517
  let resizedBase64 = null;
580518
580518
  try {
580519
- const { execSync: execSync63 } = await import("node:child_process");
580519
+ const { execSync: execSync64 } = await import("node:child_process");
580520
580520
  const { writeFileSync: writeFileSync87, readFileSync: readFileSync129, unlinkSync: unlinkSync35 } = await import("node:fs");
580521
580521
  const { join: join172 } = await import("node:path");
580522
580522
  const { tmpdir: tmpdir24 } = await import("node:os");
@@ -580526,7 +580526,7 @@ ${result}`
580526
580526
  const pyBin = process.platform === "win32" ? "python" : "python3";
580527
580527
  const escapedIn = tmpIn.replace(/\\/g, "\\\\");
580528
580528
  const escapedOut = tmpOut.replace(/\\/g, "\\\\");
580529
- execSync63(`${pyBin} -c "from PIL import Image; img = Image.open('${escapedIn}'); img.thumbnail((512, 512), Image.LANCZOS); img = img.convert('RGB'); img.save('${escapedOut}', 'JPEG', quality=75)"`, { timeout: 1e4, stdio: "pipe" });
580529
+ execSync64(`${pyBin} -c "from PIL import Image; img = Image.open('${escapedIn}'); img.thumbnail((512, 512), Image.LANCZOS); img = img.convert('RGB'); img.save('${escapedOut}', 'JPEG', quality=75)"`, { timeout: 1e4, stdio: "pipe" });
580530
580530
  const resizedBuf = readFileSync129(tmpOut);
580531
580531
  resizedBase64 = `data:image/jpeg;base64,${resizedBuf.toString("base64")}`;
580532
580532
  try {
@@ -580595,8 +580595,8 @@ ${result}`
580595
580595
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
580596
580596
  });
580597
580597
  try {
580598
- const { execSync: execSync63 } = await import("node:child_process");
580599
- execSync63("ollama pull moondream", {
580598
+ const { execSync: execSync64 } = await import("node:child_process");
580599
+ execSync64("ollama pull moondream", {
580600
580600
  timeout: 3e5,
580601
580601
  stdio: "pipe"
580602
580602
  });
@@ -606740,6 +606740,7 @@ __export(status_bar_exports, {
606740
606740
  setTerminalTitle: () => setTerminalTitle,
606741
606741
  unlockFooterRedraws: () => unlockFooterRedraws
606742
606742
  });
606743
+ import { execSync as execSync52 } from "child_process";
606743
606744
  import { readFileSync as readFileSync91 } from "node:fs";
606744
606745
  function formatPoolAge(ms) {
606745
606746
  if (ms < 6e4) return `${Math.max(0, Math.floor(ms / 1e3))}s`;
@@ -606760,6 +606761,30 @@ function refreshThemeVars() {
606760
606761
  TEXT_PRIMARY = tuiTextPrimary() < 0 ? 252 : tuiTextPrimary();
606761
606762
  TEXT_DIM = tuiTextDim();
606762
606763
  }
606764
+ function digitBarSupported() {
606765
+ if (_digitBarSupported !== null) return _digitBarSupported;
606766
+ if (_isWindows) {
606767
+ _digitBarSupported = false;
606768
+ return false;
606769
+ }
606770
+ const termProgram = process.env.TERM_PROGRAM || "";
606771
+ if (/^(iTerm2|WezTerm|Kitty|Alacritty|Ghostty|Warp|Hyper|Tabby)$/i.test(
606772
+ termProgram
606773
+ )) {
606774
+ _digitBarSupported = true;
606775
+ return true;
606776
+ }
606777
+ try {
606778
+ const result = execSync52(
606779
+ 'fc-list ":charset=1fbf0-1fbf9" 2>/dev/null || true',
606780
+ { encoding: "utf8", timeout: 3e3 }
606781
+ );
606782
+ _digitBarSupported = result.trim().length > 0;
606783
+ } catch {
606784
+ _digitBarSupported = true;
606785
+ }
606786
+ return _digitBarSupported;
606787
+ }
606763
606788
  function sanitizeSponsorHeaderText(value2, max = SPONSOR_HEADER_LABEL_MAX) {
606764
606789
  const cleaned = stripAnsi(String(value2 ?? "")).replace(/[\x00-\x1F\x7F]/g, " ").replace(/\s+/g, " ").trim();
606765
606790
  if (cleaned.length <= max) return cleaned;
@@ -606793,7 +606818,7 @@ function setTerminalTitle(task, version4) {
606793
606818
  process.stdout.write(data);
606794
606819
  }
606795
606820
  }
606796
- 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_GREEN, 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, SPONSOR_HEADER_LABEL_MAX, _termTitleWriter, StatusBar;
606821
+ 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_GREEN, 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, _digitBarSupported, SPONSOR_HEADER_LABEL_MAX, _termTitleWriter, StatusBar;
606797
606822
  var init_status_bar = __esm({
606798
606823
  "packages/cli/src/tui/status-bar.ts"() {
606799
606824
  "use strict";
@@ -606987,6 +607012,7 @@ var init_status_bar = __esm({
606987
607012
  RESET4 = "\x1B[0m";
606988
607013
  CURSOR_BLINK_BLOCK = "\x1B[1 q";
606989
607014
  _isWindows = process.platform === "win32";
607015
+ _digitBarSupported = null;
606990
607016
  SPONSOR_HEADER_LABEL_MAX = 48;
606991
607017
  _termTitleWriter = null;
606992
607018
  StatusBar = class _StatusBar {
@@ -607449,7 +607475,7 @@ var init_status_bar = __esm({
607449
607475
  const decorateMenuButton = (cmd, label) => {
607450
607476
  return linkify(
607451
607477
  cmd,
607452
- `${HEADER_BUTTON_FG}${HEADER_BUTTON_BG} ${label} \x1B[0m${PANEL_BG_SEQ}`
607478
+ `\x1B[38;5;${HEADER_ACCENT_GREEN}m🭁\x1B[0m${HEADER_BUTTON_FG}${HEADER_BUTTON_BG}${label}\x1B[0m${PANEL_BG_SEQ}\x1B[38;5;${HEADER_ACCENT_GREEN}m🭝\x1B[0m${PANEL_BG_SEQ}`
607453
607479
  );
607454
607480
  };
607455
607481
  const renderBtn = (cmd, label) => {
@@ -607472,7 +607498,11 @@ var init_status_bar = __esm({
607472
607498
  const menuBtns = [
607473
607499
  { cmd: "help", label: "help", w: "help".length + 2 },
607474
607500
  // +2 for spaces
607475
- { cmd: "voice", label: this._voiceActive ? this._voiceModelId || "voice" : "voice", w: (this._voiceActive ? this._voiceModelId || "voice" : "voice").length + 2 },
607501
+ {
607502
+ cmd: "voice",
607503
+ label: this._voiceActive ? this._voiceModelId || "voice" : "voice",
607504
+ w: (this._voiceActive ? this._voiceModelId || "voice" : "voice").length + 2
607505
+ },
607476
607506
  // +2 for spaces
607477
607507
  { cmd: "model", label: modelLabel, w: modelLabel.length + 2 },
607478
607508
  // +2 for spaces
@@ -607763,7 +607793,9 @@ var init_status_bar = __esm({
607763
607793
  buf += `\x1B[${subRow};1H${PANEL_BG_SEQ}\x1B[2K`;
607764
607794
  buf += `${BOX_FG}│${RESET4}${PANEL_BG_SEQ}`;
607765
607795
  buf += `\x1B[38;5;${TEXT_DIM}m${PANEL_BG_SEQ}`;
607766
- const subAgents = this._agentViews.size > 1 ? Array.from(this._agentViews.values()).filter((v) => v.id !== "main").map((v) => `${v.status === "running" ? "●" : v.status === "completed" ? "✓" : "○"} ${v.label}`).join(" ") : "no sub-agents";
607796
+ const subAgents = this._agentViews.size > 1 ? Array.from(this._agentViews.values()).filter((v) => v.id !== "main").map(
607797
+ (v) => `${v.status === "running" ? "●" : v.status === "completed" ? "✓" : "○"} ${v.label}`
607798
+ ).join(" ") : "no sub-agents";
607767
607799
  buf += subAgents.substring(0, w - 4);
607768
607800
  buf += `\x1B[${subRow};${w}H${BOX_FG}│${RESET4}${PANEL_BG_SEQ}`;
607769
607801
  const sepRow = subRow + 1;
@@ -607776,7 +607808,7 @@ var init_status_bar = __esm({
607776
607808
  buf += `\x1B[38;5;${TEXT_DIM}m${PANEL_BG_SEQ}`;
607777
607809
  buf += `scroll: ${scrollPct}`.substring(0, w - 4);
607778
607810
  buf += `\x1B[${scrollRow};${w}H${BOX_FG}│${RESET4}${PANEL_BG_SEQ}`;
607779
- buf += `\x1B[${scrollRow};1H${BOX_FG}└${"─".repeat(w - 2)}${BOX_FG}┘${RESET4}${PANEL_BG_SEQ}`;
607811
+ buf += `\x1B[${scrollRow};1H${BOX_FG}╰${"─".repeat(w - 2)}${BOX_FG}╯${RESET4}${PANEL_BG_SEQ}`;
607780
607812
  } else {
607781
607813
  const scrollRow = hdrRow + 1;
607782
607814
  buf += `\x1B[${scrollRow};1H${PANEL_BG_SEQ}\x1B[2K`;
@@ -607784,7 +607816,7 @@ var init_status_bar = __esm({
607784
607816
  buf += `\x1B[38;5;${TEXT_DIM}m${PANEL_BG_SEQ}`;
607785
607817
  buf += `scroll: ${scrollPct}`.substring(0, w - 4);
607786
607818
  buf += `\x1B[${scrollRow};${w}H${BOX_FG}│${RESET4}${PANEL_BG_SEQ}`;
607787
- buf += `\x1B[${scrollRow};1H${BOX_FG}└${"─".repeat(w - 2)}${BOX_FG}┘${RESET4}${PANEL_BG_SEQ}`;
607819
+ buf += `\x1B[${scrollRow};1H${BOX_FG}╰${"─".repeat(w - 2)}${BOX_FG}╯${RESET4}${PANEL_BG_SEQ}`;
607788
607820
  }
607789
607821
  buf += "\x1B8";
607790
607822
  this.termWrite(buf);
@@ -609857,8 +609889,8 @@ ${CONTENT_BG_SEQ}`);
609857
609889
  if (n2 < 1e6) return `${Math.round(n2 / 1e3)}K`;
609858
609890
  return `${(n2 / 1e6).toFixed(1)}M`;
609859
609891
  }
609860
- /** Map digit 0-9 to ornamental digits 0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣ (Windows: plain ASCII) */
609861
- static DIGIT_EMOJI = _isWindows ? ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] : [
609892
+ /** Map digit 0-9 to ornamental digits 🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹 (or plain ASCII when font lacks them) */
609893
+ static DIGIT_EMOJI = digitBarSupported() ? [
609862
609894
  "🯰",
609863
609895
  // 0
609864
609896
  "🯱",
@@ -609879,7 +609911,7 @@ ${CONTENT_BG_SEQ}`);
609879
609911
  // 8
609880
609912
  "🯹"
609881
609913
  // 9
609882
- ];
609914
+ ] : ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
609883
609915
  /** Convert a number to a digit-bar string: 1234 → "🯱🯲🯳🯴" */
609884
609916
  static digitBar(n2) {
609885
609917
  if (n2 < 0) return this.DIGIT_EMOJI[0].repeat(4);
@@ -609959,9 +609991,9 @@ ${CONTENT_BG_SEQ}`);
609959
609991
  );
609960
609992
  const ctxColor = ctxPct > 50 ? c3.green : ctxPct > 20 ? c3.yellow : c3.red;
609961
609993
  const ctxSizeStr = _StatusBar.digitBar(ctxTotal);
609962
- ctxSuffix = " " + ctxColor(`${ctxPct}%`) + c3.dim(` ${ctxSizeStr}`);
609994
+ ctxSuffix = " " + ctxColor(`${_StatusBar.digitBar(ctxPct)}%`) + c3.dim(` ${ctxSizeStr}`);
609963
609995
  ctxSuffixW = 1 + `${ctxPct}%`.length + 1 + ctxSizeStr.length;
609964
- ctxCompSuffix = " " + ctxColor(`${ctxPct}%`);
609996
+ ctxCompSuffix = " " + ctxColor(`${_StatusBar.digitBar(ctxPct)}%`);
609965
609997
  ctxCompSuffixW = 1 + `${ctxPct}%`.length;
609966
609998
  }
609967
609999
  const promptSizeStr = m2.lastPromptTokens > 0 ? _StatusBar.digitBar(m2.lastPromptTokens) : "";
@@ -610021,7 +610053,7 @@ ${CONTENT_BG_SEQ}`);
610021
610053
  }
610022
610054
  }
610023
610055
  if (this._telegramStatus.active) {
610024
- const suffix = this._telegramStatus.activeSubAgents > 0 ? ` ${this._telegramStatus.activeSubAgents}` : "";
610056
+ const suffix = this._telegramStatus.activeSubAgents > 0 ? ` ${_StatusBar.digitBar(this._telegramStatus.activeSubAgents)}` : "";
610025
610057
  const label = `✈ tg${suffix}`;
610026
610058
  const compact3 = `✈${suffix}`;
610027
610059
  sections.push({
@@ -610069,7 +610101,10 @@ ${CONTENT_BG_SEQ}`);
610069
610101
  if (m2.hasPricing && m2.estimatedCost !== void 0) {
610070
610102
  const costStr = m2.estimatedCost < 0.01 ? `$${m2.estimatedCost.toFixed(4)}` : m2.estimatedCost < 1 ? `$${m2.estimatedCost.toFixed(3)}` : `$${m2.estimatedCost.toFixed(2)}`;
610071
610103
  const costExpanded = pastel2(222, "Cost ") + _StatusBar.digitBarAnsi(Math.round(m2.estimatedCost * 1e4), 222);
610072
- const costCompact = _StatusBar.digitBarAnsi(Math.round(m2.estimatedCost * 1e4), 222);
610104
+ const costCompact = _StatusBar.digitBarAnsi(
610105
+ Math.round(m2.estimatedCost * 1e4),
610106
+ 222
610107
+ );
610073
610108
  sections.push({
610074
610109
  expanded: costExpanded,
610075
610110
  compact: costCompact,
@@ -610092,8 +610127,8 @@ ${CONTENT_BG_SEQ}`);
610092
610127
  });
610093
610128
  const modelStr = modelParams.join(",");
610094
610129
  const visibleReqs = Array.from(this._expose.modelUsage.entries()).filter(([m3]) => !INTERNAL_CAPS.has(m3)).reduce((sum, [, n2]) => sum + n2, 0);
610095
- const reqStr = visibleReqs > 0 ? ` ${visibleReqs}req` : "";
610096
- const connStr = this._expose.activeConnections > 0 ? ` ${this._expose.activeConnections}conn` : "";
610130
+ const reqStr = visibleReqs > 0 ? ` ${_StatusBar.digitBar(visibleReqs)}req` : "";
610131
+ const connStr = this._expose.activeConnections > 0 ? ` ${_StatusBar.digitBar(this._expose.activeConnections)}conn` : "";
610097
610132
  const exposeExpanded = statusEmoji + pastel2(183, (modelStr ? " " + modelStr : "") + reqStr + connStr);
610098
610133
  const exposeCompact = statusEmoji + (modelStr ? pastel2(183, " " + modelStr) : "");
610099
610134
  const expFullStr = (modelStr ? " " + modelStr : "") + reqStr + connStr;
@@ -610119,41 +610154,41 @@ ${CONTENT_BG_SEQ}`);
610119
610154
  let hwCompW = 0;
610120
610155
  if (rm4.cpuUtil >= 0) {
610121
610156
  const cpuColor = rm4.cpuUtil > 80 ? c3.red : rm4.cpuUtil > 50 ? c3.yellow : c3.green;
610122
- const cpuCoresInfo = rm4.cpuCores > 0 ? ` (${rm4.cpuCores}c` + (rm4.cpuModel ? " " + rm4.cpuModel.replace(/\s+/g, " ").slice(0, 30) : "") + ")" : "";
610123
- hwExpStr += `CPU ${cpuColor(rm4.cpuUtil + "%")}${c3.dim(cpuCoresInfo)}`;
610124
- hwCompStr += `CPU ${cpuColor(rm4.cpuUtil + "%")}`;
610157
+ const cpuCoresInfo = rm4.cpuCores > 0 ? ` (${_StatusBar.digitBar(rm4.cpuCores)}c` + (rm4.cpuModel ? " " + rm4.cpuModel.replace(/\s+/g, " ").slice(0, 30) : "") + ")" : "";
610158
+ hwExpStr += `CPU ${cpuColor(_StatusBar.digitBar(rm4.cpuUtil) + "%")}${c3.dim(cpuCoresInfo)}`;
610159
+ hwCompStr += `CPU ${cpuColor(_StatusBar.digitBar(rm4.cpuUtil) + "%")}`;
610125
610160
  hwExpW += 4 + `${rm4.cpuUtil}%`.length + cpuCoresInfo.length;
610126
610161
  hwCompW += 4 + `${rm4.cpuUtil}%`.length;
610127
610162
  }
610128
610163
  if (rm4.memUtil >= 0) {
610129
610164
  const memColor = rm4.memUtil > 80 ? c3.red : rm4.memUtil > 50 ? c3.yellow : c3.green;
610130
610165
  const memDetail = rm4.memTotalGB > 0 ? ` (${rm4.memUsedGB}/${rm4.memTotalGB}GB)` : "";
610131
- hwExpStr += ` RAM ${memColor(rm4.memUtil + "%")}${c3.dim(memDetail)}`;
610132
- hwCompStr += ` RAM ${memColor(rm4.memUtil + "%")}`;
610166
+ hwExpStr += ` RAM ${memColor(_StatusBar.digitBar(rm4.memUtil) + "%")}${c3.dim(memDetail)}`;
610167
+ hwCompStr += ` RAM ${memColor(_StatusBar.digitBar(rm4.memUtil) + "%")}`;
610133
610168
  hwExpW += 5 + `${rm4.memUtil}%`.length + memDetail.length;
610134
610169
  hwCompW += 5 + `${rm4.memUtil}%`.length;
610135
610170
  }
610136
610171
  if (rm4.diskUtil >= 0) {
610137
610172
  const diskColor = rm4.diskUtil > 90 ? c3.red : rm4.diskUtil > 75 ? c3.yellow : c3.green;
610138
610173
  const diskDetail = rm4.diskTotalGB > 0 ? ` (${rm4.diskFreeGB.toFixed(rm4.diskFreeGB < 10 ? 1 : 0)}GB free)` : "";
610139
- hwExpStr += ` DISK ${diskColor(rm4.diskUtil + "%")}${c3.dim(diskDetail)}`;
610140
- hwCompStr += ` DISK ${diskColor(rm4.diskUtil + "%")}`;
610174
+ hwExpStr += ` DISK ${diskColor(_StatusBar.digitBar(rm4.diskUtil) + "%")}${c3.dim(diskDetail)}`;
610175
+ hwCompStr += ` DISK ${diskColor(_StatusBar.digitBar(rm4.diskUtil) + "%")}`;
610141
610176
  hwExpW += 6 + `${rm4.diskUtil}%`.length + diskDetail.length;
610142
610177
  hwCompW += 6 + `${rm4.diskUtil}%`.length;
610143
610178
  }
610144
610179
  if (rm4.gpuUtil >= 0) {
610145
610180
  const gpuColor = rm4.gpuUtil > 80 ? c3.red : rm4.gpuUtil > 50 ? c3.yellow : c3.green;
610146
610181
  const gpuNameShort = rm4.gpuName ? ` (${rm4.gpuName.slice(0, 20)})` : "";
610147
- hwExpStr += ` GPU ${gpuColor(rm4.gpuUtil + "%")}${c3.dim(gpuNameShort)}`;
610148
- hwCompStr += ` GPU ${gpuColor(rm4.gpuUtil + "%")}`;
610182
+ hwExpStr += ` GPU ${gpuColor(_StatusBar.digitBar(rm4.gpuUtil) + "%")}${c3.dim(gpuNameShort)}`;
610183
+ hwCompStr += ` GPU ${gpuColor(_StatusBar.digitBar(rm4.gpuUtil) + "%")}`;
610149
610184
  hwExpW += 5 + `${rm4.gpuUtil}%`.length + gpuNameShort.length;
610150
610185
  hwCompW += 5 + `${rm4.gpuUtil}%`.length;
610151
610186
  }
610152
610187
  if (rm4.vramUtil >= 0) {
610153
610188
  const vramColor = rm4.vramUtil > 80 ? c3.red : rm4.vramUtil > 50 ? c3.yellow : c3.green;
610154
610189
  const vramDetail = rm4.vramTotalMB > 0 ? ` (${rm4.vramUsedMB}/${rm4.vramTotalMB}MB)` : "";
610155
- hwExpStr += ` VRAM ${vramColor(rm4.vramUtil + "%")}${c3.dim(vramDetail)}`;
610156
- hwCompStr += ` VRAM ${vramColor(rm4.vramUtil + "%")}`;
610190
+ hwExpStr += ` VRAM ${vramColor(_StatusBar.digitBar(rm4.vramUtil) + "%")}${c3.dim(vramDetail)}`;
610191
+ hwCompStr += ` VRAM ${vramColor(_StatusBar.digitBar(rm4.vramUtil) + "%")}`;
610157
610192
  hwExpW += 6 + `${rm4.vramUtil}%`.length + vramDetail.length;
610158
610193
  hwCompW += 6 + `${rm4.vramUtil}%`.length;
610159
610194
  }
@@ -610162,7 +610197,7 @@ ${CONTENT_BG_SEQ}`);
610162
610197
  const ready = pool3.readyGpuInstances;
610163
610198
  const target = pool3.targetGpuInstances;
610164
610199
  const poolColor = pool3.mode === "constrained" ? c3.yellow : target > 0 && ready < target ? c3.yellow : c3.green;
610165
- const poolDetail = pool3.mode === "constrained" ? "queue" : `${ready}/${target}`;
610200
+ const poolDetail = pool3.mode === "constrained" ? "queue" : `${_StatusBar.digitBar(ready)}/${_StatusBar.digitBar(target)}`;
610166
610201
  const poolOwned = pool3.instances.filter((i2) => i2.poolOwned);
610167
610202
  const pidSummary = poolOwned.length === 0 ? "" : ` PID[${poolOwned.map((i2) => `${i2.pid}@${i2.gpuIndex ?? "?"}`).slice(0, 3).join(",")}]`;
610168
610203
  const oldestAgeMs = poolOwned.reduce(
@@ -610171,7 +610206,7 @@ ${CONTENT_BG_SEQ}`);
610171
610206
  );
610172
610207
  const ageSummary = oldestAgeMs > 0 ? ` age=${formatPoolAge(oldestAgeMs)}` : "";
610173
610208
  const poolText = ` OLLAMA ${poolColor(`${pool3.mode}:${poolDetail}`)}${c3.dim(pidSummary)}${c3.dim(ageSummary)}`;
610174
- const compactText3 = ` OLLAMA ${poolColor(pool3.mode === "constrained" ? "queue" : `${ready}/${target}`)}`;
610209
+ const compactText3 = ` OLLAMA ${poolColor(pool3.mode === "constrained" ? "queue" : `${_StatusBar.digitBar(ready)}/${_StatusBar.digitBar(target)}`)}`;
610175
610210
  hwExpStr += poolText;
610176
610211
  hwCompStr += compactText3;
610177
610212
  hwExpW += 8 + `${pool3.mode}:${poolDetail}`.length + pidSummary.length + ageSummary.length;
@@ -610204,7 +610239,7 @@ ${CONTENT_BG_SEQ}`);
610204
610239
  }
610205
610240
  if (this._recording) {
610206
610241
  const dot = this._recBlink ? pastel2(210, "●") : " ";
610207
- const countdown = this._countdown > 0 ? c3.dim(` ${this._countdown}s`) : "";
610242
+ const countdown = this._countdown > 0 ? c3.dim(` ${_StatusBar.digitBar(this._countdown)}s`) : "";
610208
610243
  const recStr = dot + pastel2(210, " REC") + countdown;
610209
610244
  const recW = 1 + 4 + (this._countdown > 0 ? 1 + `${this._countdown}s`.length : 0);
610210
610245
  sections.push({
@@ -610273,7 +610308,7 @@ ${CONTENT_BG_SEQ}`);
610273
610308
  const sec = sections[idx];
610274
610309
  const content = isCompact[idx] ? sec.compact : sec.expanded;
610275
610310
  const color = sec.btnColor ?? 183;
610276
- result += ` ${PANEL_BG_SEQ}\x1B[38;5;${tuiBg()}m${BTN_L}\x1B[0m ${PANEL_BG_SEQ}\x1B[38;5;${color}m${content}\x1B[0m ${PANEL_BG_SEQ}\x1B[38;5;${tuiBg()}m${BTN_R}\x1B[0m `;
610311
+ result += ` ${PANEL_BG_SEQ}\x1B[38;5;${color}m${content}\x1B[0m `;
610277
610312
  }
610278
610313
  return result.replace(/\x1B\[0m/g, `\x1B[0m${PANEL_BG_SEQ}`);
610279
610314
  }
@@ -611821,7 +611856,7 @@ __export(personaplex_exports, {
611821
611856
  import { existsSync as existsSync111, writeFileSync as writeFileSync57, readFileSync as readFileSync92, mkdirSync as mkdirSync66, copyFileSync as copyFileSync4, readdirSync as readdirSync37, statSync as statSync42 } from "node:fs";
611822
611857
  import { join as join126, dirname as dirname40 } from "node:path";
611823
611858
  import { homedir as homedir40 } from "node:os";
611824
- import { execSync as execSync52, spawn as spawn28 } from "node:child_process";
611859
+ import { execSync as execSync53, spawn as spawn28 } from "node:child_process";
611825
611860
  import { fileURLToPath as fileURLToPath15 } from "node:url";
611826
611861
  function personaplexPythonEnv(extra = {}) {
611827
611862
  const env2 = { ...process.env, ...extra };
@@ -611859,7 +611894,7 @@ function detectJetson() {
611859
611894
  try {
611860
611895
  const model = readFileSync92("/proc/device-tree/model", "utf8").replace(/\0/g, "").trim();
611861
611896
  if (/jetson|orin|tegra/i.test(model)) {
611862
- const memInfo = execSync52("grep MemTotal /proc/meminfo", { encoding: "utf8", timeout: 3e3, stdio: "pipe" });
611897
+ const memInfo = execSync53("grep MemTotal /proc/meminfo", { encoding: "utf8", timeout: 3e3, stdio: "pipe" });
611863
611898
  const memKB = parseInt(memInfo.match(/(\d+)/)?.[1] ?? "0", 10);
611864
611899
  return { isJetson: true, model, totalMemGB: memKB / 1024 / 1024 };
611865
611900
  }
@@ -611893,7 +611928,7 @@ function detectPersonaPlexCapability() {
611893
611928
  };
611894
611929
  }
611895
611930
  try {
611896
- const nvsmi = execSync52("nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits", {
611931
+ const nvsmi = execSync53("nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits", {
611897
611932
  encoding: "utf8",
611898
611933
  timeout: 5e3,
611899
611934
  stdio: "pipe"
@@ -611905,7 +611940,7 @@ function detectPersonaPlexCapability() {
611905
611940
  return { ...fail3(`GPU has ${vramGB.toFixed(1)}GB VRAM (need ≥8GB)`), gpuName: gpuName ?? "", vramGB };
611906
611941
  }
611907
611942
  try {
611908
- execSync52('python3 -c "import torch; assert torch.cuda.is_available()"', {
611943
+ execSync53('python3 -c "import torch; assert torch.cuda.is_available()"', {
611909
611944
  timeout: 1e4,
611910
611945
  stdio: "pipe",
611911
611946
  env: personaplexPythonEnv()
@@ -611979,7 +612014,7 @@ async function installPersonaPlex(onInfo, weightTier) {
611979
612014
  mkdirSync66(PERSONAPLEX_DIR, { recursive: true });
611980
612015
  let arch3 = "";
611981
612016
  try {
611982
- arch3 = execSync52("uname -m", { encoding: "utf8", timeout: 3e3, stdio: "pipe" }).trim();
612017
+ arch3 = execSync53("uname -m", { encoding: "utf8", timeout: 3e3, stdio: "pipe" }).trim();
611983
612018
  } catch {
611984
612019
  }
611985
612020
  const isAarch64 = arch3 === "aarch64" || arch3 === "arm64";
@@ -612000,16 +612035,16 @@ async function installPersonaPlex(onInfo, weightTier) {
612000
612035
  log22("Checking system dependencies (libopus)...");
612001
612036
  try {
612002
612037
  if (process.platform === "linux") {
612003
- execSync52("dpkg -l libopus-dev 2>/dev/null || sudo apt-get install -y libopus-dev", { timeout: 3e4, stdio: "pipe" });
612038
+ execSync53("dpkg -l libopus-dev 2>/dev/null || sudo apt-get install -y libopus-dev", { timeout: 3e4, stdio: "pipe" });
612004
612039
  } else if (process.platform === "darwin") {
612005
- execSync52("brew list opus 2>/dev/null || brew install opus", { timeout: 6e4, stdio: "pipe" });
612040
+ execSync53("brew list opus 2>/dev/null || brew install opus", { timeout: 6e4, stdio: "pipe" });
612006
612041
  }
612007
612042
  } catch {
612008
612043
  }
612009
612044
  if (isAarch64) {
612010
612045
  log22("ARM64: Checking Rust toolchain for sphn build...");
612011
612046
  try {
612012
- execSync52("rustc --version", { timeout: 5e3, stdio: "pipe" });
612047
+ execSync53("rustc --version", { timeout: 5e3, stdio: "pipe" });
612013
612048
  } catch {
612014
612049
  log22("ARM64: Installing Rust toolchain (needed for sphn audio codec)...");
612015
612050
  try {
@@ -612082,7 +612117,7 @@ async function installPersonaPlex(onInfo, weightTier) {
612082
612117
  }
612083
612118
  const serverPy = join126(venvDir, "lib", `python3.${process.versions.node ? "12" : "10"}`, "site-packages", "moshi", "server.py");
612084
612119
  try {
612085
- const sitePackages = execSync52(`"${python}" -c "import moshi, os; print(os.path.dirname(moshi.__file__))"`, {
612120
+ const sitePackages = execSync53(`"${python}" -c "import moshi, os; print(os.path.dirname(moshi.__file__))"`, {
612086
612121
  encoding: "utf8",
612087
612122
  timeout: 5e3,
612088
612123
  stdio: "pipe",
@@ -612100,7 +612135,7 @@ async function installPersonaPlex(onInfo, weightTier) {
612100
612135
  } catch {
612101
612136
  }
612102
612137
  try {
612103
- const sitePackages = execSync52(`"${python}" -c "import moshi, os; print(os.path.dirname(moshi.__file__))"`, {
612138
+ const sitePackages = execSync53(`"${python}" -c "import moshi, os; print(os.path.dirname(moshi.__file__))"`, {
612104
612139
  encoding: "utf8",
612105
612140
  timeout: 5e3,
612106
612141
  stdio: "pipe",
@@ -612205,7 +612240,7 @@ $2if filename.endswith(".safetensors"):`
612205
612240
  } catch {
612206
612241
  }
612207
612242
  try {
612208
- const sitePackages2 = execSync52(`"${python}" -c "import moshi, os; print(os.path.dirname(moshi.__file__))"`, {
612243
+ const sitePackages2 = execSync53(`"${python}" -c "import moshi, os; print(os.path.dirname(moshi.__file__))"`, {
612209
612244
  encoding: "utf8",
612210
612245
  timeout: 5e3,
612211
612246
  stdio: "pipe",
@@ -612341,14 +612376,14 @@ async function startPersonaPlexDaemon(onInfo) {
612341
612376
  if (tier === "nf4-distilled") {
612342
612377
  log22(`Weight tier: ${tier} — distilled NF4 (90% token match, ${repoInfo.sizeGB}GB)...`);
612343
612378
  try {
612344
- const weightPath = execSync52(
612379
+ const weightPath = execSync53(
612345
612380
  `"${venvPython2}" -c "from huggingface_hub import hf_hub_download; print(hf_hub_download('${repoInfo.repo}', '${repoInfo.file}', token=False))"`,
612346
612381
  { encoding: "utf8", timeout: 6e4, stdio: "pipe", env: personaplexPythonEnv() }
612347
612382
  ).trim();
612348
612383
  if (existsSync111(weightPath)) {
612349
612384
  if (!existsSync111(cachedBf16)) {
612350
612385
  log22("Converting .pt checkpoint to safetensors (one-time)...");
612351
- execSync52(
612386
+ execSync53(
612352
612387
  `"${venvPython2}" -c "
612353
612388
  import torch; from safetensors.torch import save_file
612354
612389
  state = torch.load('${weightPath}', map_location='cpu', weights_only=True)
@@ -612380,13 +612415,13 @@ print('Converted')
612380
612415
  }
612381
612416
  }
612382
612417
  try {
612383
- const weightPath = execSync52(
612418
+ const weightPath = execSync53(
612384
612419
  `"${venvPython2}" -c "from huggingface_hub import hf_hub_download; print(hf_hub_download('${repoInfo.repo}', '${repoInfo.file}'${repoInfo.needsToken ? "" : ", token=False"}))"`,
612385
612420
  { encoding: "utf8", timeout: 3e4, stdio: "pipe", env: personaplexPythonEnv() }
612386
612421
  ).trim();
612387
612422
  if (existsSync111(dequantScript) && existsSync111(weightPath)) {
612388
612423
  try {
612389
- execSync52(
612424
+ execSync53(
612390
612425
  `"${venvPython2}" "${dequantScript}" --input "${weightPath}" --output "${cachedBf16}"`,
612391
612426
  { timeout: 3e5, stdio: "pipe", env: personaplexPythonEnv() }
612392
612427
  );
@@ -612399,7 +612434,7 @@ print('Converted')
612399
612434
  }
612400
612435
  }
612401
612436
  try {
612402
- const mimiPath = execSync52(
612437
+ const mimiPath = execSync53(
612403
612438
  `"${venvPython2}" -c "from huggingface_hub import hf_hub_download; print(hf_hub_download('${repoInfo.repo}', 'tokenizer-e351c8d8-checkpoint125.safetensors', token=False))"`,
612404
612439
  { encoding: "utf8", timeout: 3e4, stdio: "pipe", env: personaplexPythonEnv() }
612405
612440
  ).trim();
@@ -612407,7 +612442,7 @@ print('Converted')
612407
612442
  } catch {
612408
612443
  }
612409
612444
  try {
612410
- const tokPath = execSync52(
612445
+ const tokPath = execSync53(
612411
612446
  `"${venvPython2}" -c "from huggingface_hub import hf_hub_download; print(hf_hub_download('${repoInfo.repo}', 'tokenizer_spm_32k_3.model', token=False))"`,
612412
612447
  { encoding: "utf8", timeout: 3e4, stdio: "pipe", env: personaplexPythonEnv() }
612413
612448
  ).trim();
@@ -612431,7 +612466,7 @@ print('Converted')
612431
612466
  }
612432
612467
  if (!ollamaModel) ollamaModel = "qwen3.5:4b";
612433
612468
  try {
612434
- const ollamaCheck = execSync52("curl -s http://localhost:11434/api/tags", {
612469
+ const ollamaCheck = execSync53("curl -s http://localhost:11434/api/tags", {
612435
612470
  timeout: 3e3,
612436
612471
  stdio: "pipe",
612437
612472
  encoding: "utf8"
@@ -612505,7 +612540,7 @@ print('Converted')
612505
612540
  return null;
612506
612541
  }
612507
612542
  try {
612508
- execSync52(`curl -sk -o /dev/null -w "%{http_code}" https://127.0.0.1:${PORT}/`, {
612543
+ execSync53(`curl -sk -o /dev/null -w "%{http_code}" https://127.0.0.1:${PORT}/`, {
612509
612544
  timeout: 3e3,
612510
612545
  stdio: "pipe",
612511
612546
  encoding: "utf8"
@@ -612528,7 +612563,7 @@ function stopPersonaPlex() {
612528
612563
  if (isNaN(pid) || pid <= 0) return;
612529
612564
  try {
612530
612565
  if (process.platform === "win32") {
612531
- execSync52(`taskkill /F /PID ${pid}`, { timeout: 5e3, stdio: "ignore" });
612566
+ execSync53(`taskkill /F /PID ${pid}`, { timeout: 5e3, stdio: "ignore" });
612532
612567
  } else {
612533
612568
  process.kill(pid, "SIGTERM");
612534
612569
  }
@@ -612839,7 +612874,7 @@ __export(setup_exports, {
612839
612874
  updateOllama: () => updateOllama
612840
612875
  });
612841
612876
  import * as readline from "node:readline";
612842
- import { execSync as execSync53, spawn as spawn29, exec as exec5 } from "node:child_process";
612877
+ import { execSync as execSync54, spawn as spawn29, exec as exec5 } from "node:child_process";
612843
612878
  import { promisify as promisify6 } from "node:util";
612844
612879
  import { existsSync as existsSync112, writeFileSync as writeFileSync58, readFileSync as readFileSync93, appendFileSync as appendFileSync10, mkdirSync as mkdirSync67 } from "node:fs";
612845
612880
  import { join as join127 } from "node:path";
@@ -612962,7 +612997,7 @@ function detectSystemSpecs() {
612962
612997
  let availableVramGB = 0;
612963
612998
  let gpuName = "";
612964
612999
  try {
612965
- const memInfo = execSync53("free -b 2>/dev/null || sysctl -n hw.memsize 2>/dev/null", {
613000
+ const memInfo = execSync54("free -b 2>/dev/null || sysctl -n hw.memsize 2>/dev/null", {
612966
613001
  encoding: "utf8",
612967
613002
  timeout: 5e3
612968
613003
  });
@@ -612982,7 +613017,7 @@ function detectSystemSpecs() {
612982
613017
  } catch {
612983
613018
  }
612984
613019
  try {
612985
- const nvidiaSmi = execSync53(
613020
+ const nvidiaSmi = execSync54(
612986
613021
  "nvidia-smi --query-gpu=memory.total,memory.free,name --format=csv,noheader,nounits 2>/dev/null",
612987
613022
  { encoding: "utf8", timeout: 5e3 }
612988
613023
  );
@@ -612994,7 +613029,7 @@ function detectSystemSpecs() {
612994
613029
  }
612995
613030
  if (gpuVramGB === 0) {
612996
613031
  try {
612997
- const rocmSmi = execSync53(
613032
+ const rocmSmi = execSync54(
612998
613033
  "rocm-smi --showmeminfo vram --csv 2>/dev/null",
612999
613034
  { encoding: "utf8", timeout: 5e3 }
613000
613035
  );
@@ -613250,7 +613285,7 @@ function ensureCurl() {
613250
613285
  for (const s2 of strategies) {
613251
613286
  if (hasCmd(s2.check)) {
613252
613287
  try {
613253
- execSync53(s2.install, { stdio: "inherit", timeout: 12e4 });
613288
+ execSync54(s2.install, { stdio: "inherit", timeout: 12e4 });
613254
613289
  if (hasCmd("curl")) {
613255
613290
  process.stdout.write(` ${c3.green("✔")} curl installed via ${s2.label}.
613256
613291
  `);
@@ -613264,7 +613299,7 @@ function ensureCurl() {
613264
613299
  }
613265
613300
  if (plat === "darwin") {
613266
613301
  try {
613267
- execSync53("xcode-select --install", { stdio: "inherit", timeout: 3e5 });
613302
+ execSync54("xcode-select --install", { stdio: "inherit", timeout: 3e5 });
613268
613303
  if (hasCmd("curl")) return true;
613269
613304
  } catch {
613270
613305
  }
@@ -613278,7 +613313,7 @@ function ensureZstd() {
613278
613313
  if (process.platform === "darwin") {
613279
613314
  if (!hasCmd("brew")) return false;
613280
613315
  try {
613281
- execSync53("brew install zstd", { stdio: "inherit", timeout: 12e4 });
613316
+ execSync54("brew install zstd", { stdio: "inherit", timeout: 12e4 });
613282
613317
  return hasCmd("zstd");
613283
613318
  } catch {
613284
613319
  return false;
@@ -613320,7 +613355,7 @@ function ensureZstd() {
613320
613355
  candidates.push({ cmd: installCmd, env: process.env });
613321
613356
  for (const cand of candidates) {
613322
613357
  try {
613323
- execSync53(cand.cmd, {
613358
+ execSync54(cand.cmd, {
613324
613359
  stdio: cand.stdio ?? ["ignore", "inherit", "pipe"],
613325
613360
  env: cand.env,
613326
613361
  timeout: 18e4
@@ -613357,7 +613392,7 @@ function detectAskpassHelper() {
613357
613392
  for (const name10 of ["ssh-askpass", "ksshaskpass", "x11-ssh-askpass"]) {
613358
613393
  if (hasCmd(name10)) {
613359
613394
  try {
613360
- const p2 = execSync53(`command -v ${name10}`, { encoding: "utf8" }).trim();
613395
+ const p2 = execSync54(`command -v ${name10}`, { encoding: "utf8" }).trim();
613361
613396
  if (p2) return p2;
613362
613397
  } catch {
613363
613398
  }
@@ -613400,7 +613435,7 @@ osascript -e 'Tell application "System Events" to display dialog "Omnius needs a
613400
613435
  }
613401
613436
  try {
613402
613437
  writeFileSync58(helperPath, body, { mode: 448 });
613403
- execSync53(`chmod 700 "${helperPath}"`, { stdio: "ignore" });
613438
+ execSync54(`chmod 700 "${helperPath}"`, { stdio: "ignore" });
613404
613439
  return helperPath;
613405
613440
  } catch {
613406
613441
  return null;
@@ -613469,7 +613504,7 @@ function runElevatedCommand(command, opts = {}) {
613469
613504
  let lastErr = null;
613470
613505
  for (const cand of candidates) {
613471
613506
  try {
613472
- execSync53(cand.cmd, {
613507
+ execSync54(cand.cmd, {
613473
613508
  stdio: cand.stdio ?? ["ignore", "pipe", "pipe"],
613474
613509
  env: cand.env,
613475
613510
  timeout: timeout2
@@ -613506,7 +613541,7 @@ function runOllamaInstallScript() {
613506
613541
  `);
613507
613542
  }
613508
613543
  const runOnce = () => {
613509
- execSync53(elevated.cmd, {
613544
+ execSync54(elevated.cmd, {
613510
613545
  stdio: elevated.mode === "terminal" ? "inherit" : ["ignore", "inherit", "pipe"],
613511
613546
  env: elevated.env,
613512
613547
  timeout: 6e5
@@ -613585,7 +613620,7 @@ async function installOllamaMac(_rl) {
613585
613620
 
613586
613621
  `);
613587
613622
  try {
613588
- execSync53(
613623
+ execSync54(
613589
613624
  '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"',
613590
613625
  { stdio: "inherit", timeout: 6e5 }
613591
613626
  );
@@ -613621,7 +613656,7 @@ async function installOllamaMac(_rl) {
613621
613656
 
613622
613657
  `);
613623
613658
  try {
613624
- execSync53("brew install ollama", {
613659
+ execSync54("brew install ollama", {
613625
613660
  stdio: "inherit",
613626
613661
  timeout: 3e5
613627
613662
  });
@@ -613648,7 +613683,7 @@ function installOllamaWindows() {
613648
613683
 
613649
613684
  `);
613650
613685
  try {
613651
- execSync53('powershell -Command "irm https://ollama.com/install.ps1 | iex"', {
613686
+ execSync54('powershell -Command "irm https://ollama.com/install.ps1 | iex"', {
613652
613687
  stdio: "inherit",
613653
613688
  timeout: 3e5
613654
613689
  });
@@ -613728,7 +613763,7 @@ async function ensureOllamaRunning(backendUrl2, rl) {
613728
613763
  }
613729
613764
  function getOllamaVersion() {
613730
613765
  try {
613731
- const out = execSync53("ollama --version", { encoding: "utf8", timeout: 5e3 });
613766
+ const out = execSync54("ollama --version", { encoding: "utf8", timeout: 5e3 });
613732
613767
  const match = out.match(/(\d+\.\d+\.\d+)/);
613733
613768
  return match ? match[1] : null;
613734
613769
  } catch {
@@ -613785,7 +613820,7 @@ function updateOllama() {
613785
613820
  }
613786
613821
  function pullModelWithAutoUpdate(tag) {
613787
613822
  try {
613788
- execSync53(`ollama pull ${tag}`, {
613823
+ execSync54(`ollama pull ${tag}`, {
613789
613824
  stdio: "inherit",
613790
613825
  timeout: 36e5
613791
613826
  // 1 hour max
@@ -613812,7 +613847,7 @@ function pullModelWithAutoUpdate(tag) {
613812
613847
  process.stdout.write(` ${c3.cyan("●")} Retrying pull of ${c3.bold(tag)}...
613813
613848
 
613814
613849
  `);
613815
- execSync53(`ollama pull ${tag}`, {
613850
+ execSync54(`ollama pull ${tag}`, {
613816
613851
  stdio: "inherit",
613817
613852
  timeout: 36e5
613818
613853
  });
@@ -613901,7 +613936,7 @@ function ensurePython3() {
613901
613936
  if (plat === "darwin") {
613902
613937
  if (hasCmd("brew")) {
613903
613938
  try {
613904
- execSync53("brew install python3", { stdio: "inherit", timeout: 3e5 });
613939
+ execSync54("brew install python3", { stdio: "inherit", timeout: 3e5 });
613905
613940
  if (hasCmd("python3")) {
613906
613941
  process.stdout.write(` ${c3.green("✔")} Python3 installed via Homebrew.
613907
613942
  `);
@@ -613914,7 +613949,7 @@ function ensurePython3() {
613914
613949
  for (const s2 of strategies) {
613915
613950
  if (hasCmd(s2.check)) {
613916
613951
  try {
613917
- execSync53(s2.install, { stdio: "inherit", timeout: 12e4 });
613952
+ execSync54(s2.install, { stdio: "inherit", timeout: 12e4 });
613918
613953
  if (hasCmd("python3") || hasCmd("python")) {
613919
613954
  process.stdout.write(` ${c3.green("✔")} Python3 installed via ${s2.label}.
613920
613955
  `);
@@ -613930,11 +613965,11 @@ function ensurePython3() {
613930
613965
  }
613931
613966
  function checkPythonVenv() {
613932
613967
  try {
613933
- execSync53("python3 -m venv --help", { stdio: "pipe", timeout: 5e3 });
613968
+ execSync54("python3 -m venv --help", { stdio: "pipe", timeout: 5e3 });
613934
613969
  return true;
613935
613970
  } catch {
613936
613971
  try {
613937
- execSync53("python -m venv --help", { stdio: "pipe", timeout: 5e3 });
613972
+ execSync54("python -m venv --help", { stdio: "pipe", timeout: 5e3 });
613938
613973
  return true;
613939
613974
  } catch {
613940
613975
  return false;
@@ -613953,7 +613988,7 @@ function ensurePythonVenv() {
613953
613988
  for (const s2 of strategies) {
613954
613989
  if (hasCmd(s2.check)) {
613955
613990
  try {
613956
- execSync53(s2.install, { stdio: "inherit", timeout: 12e4 });
613991
+ execSync54(s2.install, { stdio: "inherit", timeout: 12e4 });
613957
613992
  if (checkPythonVenv()) {
613958
613993
  process.stdout.write(` ${c3.green("✔")} python3-venv installed via ${s2.label}.
613959
613994
  `);
@@ -614560,7 +614595,7 @@ ${c3.cyan(OMNIUS_FIRST_RUN_BANNER)}
614560
614595
  for (let i2 = 0; i2 < modelfileCandidates.length; i2++) {
614561
614596
  writeFileSync58(modelfilePath, modelfileCandidates[i2] + "\n", "utf8");
614562
614597
  try {
614563
- execSync53(`ollama create ${customName} -f ${modelfilePath}`, {
614598
+ execSync54(`ollama create ${customName} -f ${modelfilePath}`, {
614564
614599
  stdio: "pipe",
614565
614600
  timeout: 12e4
614566
614601
  });
@@ -614622,7 +614657,7 @@ function isFirstRun() {
614622
614657
  function hasCmd(cmd) {
614623
614658
  try {
614624
614659
  const whichCmd = process.platform === "win32" ? `where ${cmd}` : `which ${cmd}`;
614625
- execSync53(whichCmd, { stdio: "pipe", timeout: 3e3 });
614660
+ execSync54(whichCmd, { stdio: "pipe", timeout: 3e3 });
614626
614661
  return true;
614627
614662
  } catch {
614628
614663
  return false;
@@ -614634,7 +614669,7 @@ function detectPkgManager() {
614634
614669
  if (hasCmd("choco")) return "choco";
614635
614670
  if (hasCmd("winget")) return "winget";
614636
614671
  try {
614637
- execSync53(
614672
+ execSync54(
614638
614673
  `powershell -NoProfile -Command "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"`,
614639
614674
  { stdio: "pipe", timeout: 12e4 }
614640
614675
  );
@@ -614646,7 +614681,7 @@ function detectPkgManager() {
614646
614681
  if (plat === "darwin") {
614647
614682
  if (hasCmd("brew")) return "brew";
614648
614683
  try {
614649
- execSync53(
614684
+ execSync54(
614650
614685
  '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"',
614651
614686
  { stdio: "pipe", timeout: 3e5, env: { ...process.env, NONINTERACTIVE: "1" } }
614652
614687
  );
@@ -614666,7 +614701,7 @@ function getVenvDir2() {
614666
614701
  }
614667
614702
  function hasVenvModule() {
614668
614703
  try {
614669
- execSync53('python3 -c "import ensurepip, venv"', {
614704
+ execSync54('python3 -c "import ensurepip, venv"', {
614670
614705
  stdio: "pipe",
614671
614706
  timeout: 5e3
614672
614707
  });
@@ -614683,17 +614718,17 @@ function ensureVenv2(log22) {
614683
614718
  const pythonCmd = isWin2 ? "python" : "python3";
614684
614719
  if (existsSync112(pipPath)) {
614685
614720
  try {
614686
- execSync53(`"${venvPyPath}" -m pip --version`, { stdio: "pipe", timeout: 1e4 });
614721
+ execSync54(`"${venvPyPath}" -m pip --version`, { stdio: "pipe", timeout: 1e4 });
614687
614722
  return venvDir;
614688
614723
  } catch {
614689
614724
  log22("Python venv pip is broken — repairing...");
614690
614725
  try {
614691
- execSync53(`"${venvPyPath}" -m ensurepip --upgrade`, { stdio: "pipe", timeout: 3e4 });
614726
+ execSync54(`"${venvPyPath}" -m ensurepip --upgrade`, { stdio: "pipe", timeout: 3e4 });
614692
614727
  log22("pip repaired via ensurepip.");
614693
614728
  return venvDir;
614694
614729
  } catch {
614695
614730
  try {
614696
- execSync53(`curl -sS https://bootstrap.pypa.io/get-pip.py | "${venvPyPath}"`, { stdio: "pipe", timeout: 6e4 });
614731
+ execSync54(`curl -sS https://bootstrap.pypa.io/get-pip.py | "${venvPyPath}"`, { stdio: "pipe", timeout: 6e4 });
614697
614732
  log22("pip repaired via get-pip.py.");
614698
614733
  return venvDir;
614699
614734
  } catch {
@@ -614714,17 +614749,17 @@ function ensureVenv2(log22) {
614714
614749
  try {
614715
614750
  mkdirSync67(join127(homedir41(), ".omnius"), { recursive: true });
614716
614751
  const pyCmd = hasCmd(pythonCmd) ? pythonCmd : "python3";
614717
- execSync53(`${pyCmd} -m venv --clear "${venvDir}"`, { stdio: "pipe", timeout: 3e4 });
614752
+ execSync54(`${pyCmd} -m venv --clear "${venvDir}"`, { stdio: "pipe", timeout: 3e4 });
614718
614753
  try {
614719
- execSync53(`"${venvPyPath}" -m pip --version`, { stdio: "pipe", timeout: 1e4 });
614754
+ execSync54(`"${venvPyPath}" -m pip --version`, { stdio: "pipe", timeout: 1e4 });
614720
614755
  } catch {
614721
614756
  try {
614722
- execSync53(`"${venvPyPath}" -m ensurepip --upgrade`, { stdio: "pipe", timeout: 3e4 });
614757
+ execSync54(`"${venvPyPath}" -m ensurepip --upgrade`, { stdio: "pipe", timeout: 3e4 });
614723
614758
  } catch {
614724
- execSync53(`curl -sS https://bootstrap.pypa.io/get-pip.py | "${venvPyPath}"`, { stdio: "pipe", timeout: 6e4 });
614759
+ execSync54(`curl -sS https://bootstrap.pypa.io/get-pip.py | "${venvPyPath}"`, { stdio: "pipe", timeout: 6e4 });
614725
614760
  }
614726
614761
  }
614727
- execSync53(`"${venvPyPath}" -m pip install --upgrade pip`, {
614762
+ execSync54(`"${venvPyPath}" -m pip install --upgrade pip`, {
614728
614763
  stdio: "pipe",
614729
614764
  timeout: 6e4
614730
614765
  });
@@ -614737,7 +614772,7 @@ function ensureVenv2(log22) {
614737
614772
  }
614738
614773
  function trySudoPasswordless(cmd, timeoutMs = 12e4) {
614739
614774
  try {
614740
- execSync53(`sudo -n ${cmd}`, {
614775
+ execSync54(`sudo -n ${cmd}`, {
614741
614776
  stdio: "pipe",
614742
614777
  timeout: timeoutMs,
614743
614778
  env: { ...process.env, DEBIAN_FRONTEND: "noninteractive" }
@@ -614750,7 +614785,7 @@ function trySudoPasswordless(cmd, timeoutMs = 12e4) {
614750
614785
  function runWithSudo(cmd, password, timeoutMs = 12e4) {
614751
614786
  try {
614752
614787
  const escaped = cmd.replace(/'/g, "'\\''");
614753
- execSync53(`sudo -S bash -c '${escaped}'`, {
614788
+ execSync54(`sudo -S bash -c '${escaped}'`, {
614754
614789
  input: password + "\n",
614755
614790
  stdio: ["pipe", "pipe", "pipe"],
614756
614791
  timeout: timeoutMs,
@@ -614792,7 +614827,7 @@ async function sudoInstall(cmd, getSudoPassword, log22, cachedPasswordRef, timeo
614792
614827
  try {
614793
614828
  const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
614794
614829
  const escaped = cmd.replace(/'/g, "'\\''");
614795
- execSync53(isRoot ? `bash -c '${escaped}'` : `sudo bash -c '${escaped}'`, {
614830
+ execSync54(isRoot ? `bash -c '${escaped}'` : `sudo bash -c '${escaped}'`, {
614796
614831
  stdio: "inherit",
614797
614832
  timeout: timeoutMs,
614798
614833
  env: { ...process.env, DEBIAN_FRONTEND: "noninteractive" }
@@ -614858,7 +614893,7 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
614858
614893
  let winNeedsElevation = false;
614859
614894
  if (process.platform === "win32") {
614860
614895
  try {
614861
- execSync53("net session", { stdio: "pipe", timeout: 3e3 });
614896
+ execSync54("net session", { stdio: "pipe", timeout: 3e3 });
614862
614897
  } catch {
614863
614898
  winNeedsElevation = true;
614864
614899
  log22(`Installing ${labels} via ${pm2} (requires admin — UAC prompt will appear)...`);
@@ -614905,12 +614940,12 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
614905
614940
  if (needsSudo) {
614906
614941
  await sudoInstall(installCmd, getPassword, log22, cachedPasswordRef, 18e4);
614907
614942
  } else if (winNeedsElevation) {
614908
- execSync53(
614943
+ execSync54(
614909
614944
  `powershell -NoProfile -Command "Start-Process -FilePath 'cmd.exe' -ArgumentList '/c ${installCmd.replace(/'/g, "''")}' -Verb RunAs -Wait"`,
614910
614945
  { stdio: "pipe", timeout: 18e4 }
614911
614946
  );
614912
614947
  } else {
614913
- execSync53(installCmd, { stdio: "pipe", timeout: 18e4 });
614948
+ execSync54(installCmd, { stdio: "pipe", timeout: 18e4 });
614914
614949
  }
614915
614950
  } catch (e2) {
614916
614951
  const stderr = e2.stderr?.toString?.()?.trim?.() ?? "";
@@ -614923,7 +614958,7 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
614923
614958
  if (!hasCmd(d2.binary) && pipPkg) {
614924
614959
  try {
614925
614960
  const pipCmd = process.platform === "win32" ? `pip install ${pipPkg}` : `pip3 install ${pipPkg}`;
614926
- execSync53(pipCmd, { stdio: "pipe", timeout: 12e4 });
614961
+ execSync54(pipCmd, { stdio: "pipe", timeout: 12e4 });
614927
614962
  lastError = "";
614928
614963
  } catch (e2) {
614929
614964
  const stderr = e2.stderr?.toString?.()?.trim?.() ?? "";
@@ -614935,7 +614970,7 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
614935
614970
  }
614936
614971
  if (process.platform === "win32" && !hasCmd(d2.binary)) {
614937
614972
  try {
614938
- const freshPath = execSync53(
614973
+ const freshPath = execSync54(
614939
614974
  `powershell -NoProfile -Command "[System.Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [System.Environment]::GetEnvironmentVariable('Path','User')"`,
614940
614975
  { encoding: "utf8", timeout: 5e3, stdio: "pipe" }
614941
614976
  ).trim();
@@ -614981,7 +615016,7 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
614981
615016
  const venvCmds = {
614982
615017
  apt: () => {
614983
615018
  try {
614984
- const pyVer = execSync53(
615019
+ const pyVer = execSync54(
614985
615020
  `python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')"`,
614986
615021
  { encoding: "utf8", stdio: "pipe", timeout: 5e3 }
614987
615022
  ).trim();
@@ -615013,12 +615048,12 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
615013
615048
  const venvPip2 = join127(venvBin, "pip");
615014
615049
  log22("Installing moondream-station in ~/.omnius/venv...");
615015
615050
  try {
615016
- execSync53(`"${venvPip2}" install moondream-station`, { stdio: "pipe", timeout: 3e5 });
615051
+ execSync54(`"${venvPip2}" install moondream-station`, { stdio: "pipe", timeout: 3e5 });
615017
615052
  if (existsSync112(venvMoondream)) {
615018
615053
  log22("moondream-station installed successfully.");
615019
615054
  } else {
615020
615055
  try {
615021
- const check = execSync53(`"${venvPip2}" show moondream-station`, { encoding: "utf8", stdio: "pipe", timeout: 5e3 });
615056
+ const check = execSync54(`"${venvPip2}" show moondream-station`, { encoding: "utf8", stdio: "pipe", timeout: 5e3 });
615022
615057
  if (check.includes("moondream")) {
615023
615058
  log22("moondream-station package installed.");
615024
615059
  }
@@ -615035,7 +615070,7 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
615035
615070
  const venvPip2 = join127(venvBin, isWin2 ? "pip.exe" : "pip");
615036
615071
  let ocrStackInstalled = false;
615037
615072
  try {
615038
- execSync53(
615073
+ execSync54(
615039
615074
  `"${venvPython2}" -c "import cv2, pytesseract, numpy, PIL"`,
615040
615075
  { stdio: "pipe", timeout: 1e4 }
615041
615076
  );
@@ -615046,12 +615081,12 @@ async function ensureVisionDeps(onInfo, getSudoPassword) {
615046
615081
  const ocrPackages = "pytesseract Pillow opencv-python-headless numpy";
615047
615082
  log22("Installing OCR Python stack (pytesseract, OpenCV, Pillow, numpy)...");
615048
615083
  try {
615049
- execSync53(
615084
+ execSync54(
615050
615085
  `"${venvPip2}" install ${ocrPackages}`,
615051
615086
  { stdio: "pipe", timeout: 3e5 }
615052
615087
  );
615053
615088
  try {
615054
- execSync53(
615089
+ execSync54(
615055
615090
  `"${venvPython2}" -c "import cv2, pytesseract, numpy, PIL"`,
615056
615091
  { stdio: "pipe", timeout: 1e4 }
615057
615092
  );
@@ -615087,7 +615122,7 @@ function ensureCloudflaredBackground(onInfo) {
615087
615122
  const archMap = { x64: "amd64", arm64: "arm64", arm: "arm" };
615088
615123
  const cfArch = archMap[arch3] ?? "amd64";
615089
615124
  try {
615090
- execSync53(
615125
+ execSync54(
615091
615126
  `curl -fsSL "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${cfArch}" -o /tmp/cloudflared && chmod +x /tmp/cloudflared && mkdir -p "${homedir41()}/.local/bin" && mv /tmp/cloudflared "${homedir41()}/.local/bin/cloudflared"`,
615092
615127
  { stdio: "pipe", timeout: 6e4 }
615093
615128
  );
@@ -615103,7 +615138,7 @@ function ensureCloudflaredBackground(onInfo) {
615103
615138
  try {
615104
615139
  const terminalElevation = process.env["OMNIUS_ELEVATION_MODE"] === "terminal" && process.stdin.isTTY && process.stdout.isTTY;
615105
615140
  const sudoMove = terminalElevation ? `sudo mv /tmp/cloudflared /usr/local/bin/cloudflared` : `sudo mv /tmp/cloudflared /usr/local/bin/cloudflared 2>/dev/null`;
615106
- execSync53(
615141
+ execSync54(
615107
615142
  `curl -fsSL "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${cfArch}" -o /tmp/cloudflared && chmod +x /tmp/cloudflared && ` + sudoMove,
615108
615143
  { stdio: terminalElevation ? "inherit" : "pipe", timeout: 6e4 }
615109
615144
  );
@@ -615115,7 +615150,7 @@ function ensureCloudflaredBackground(onInfo) {
615115
615150
  }
615116
615151
  } else if (os9 === "darwin") {
615117
615152
  try {
615118
- execSync53("brew install cloudflared", { stdio: "pipe", timeout: 12e4 });
615153
+ execSync54("brew install cloudflared", { stdio: "pipe", timeout: 12e4 });
615119
615154
  if (hasCmd("cloudflared")) {
615120
615155
  log22("cloudflared installed via Homebrew.");
615121
615156
  return true;
@@ -615312,7 +615347,7 @@ function createExpandedVariantNamed(targetModel, baseModel, specs, sizeGB, kvByt
615312
615347
  for (let i2 = 0; i2 < modelfileCandidates.length; i2++) {
615313
615348
  writeFileSync58(modelfilePath, modelfileCandidates[i2] + "\n", "utf8");
615314
615349
  try {
615315
- execSync53(`ollama create ${targetModel} -f ${modelfilePath}`, {
615350
+ execSync54(`ollama create ${targetModel} -f ${modelfilePath}`, {
615316
615351
  stdio: "pipe",
615317
615352
  timeout: 12e4
615318
615353
  });
@@ -615598,7 +615633,7 @@ async function repairAllExpandedVariants(backendUrl2) {
615598
615633
  }
615599
615634
  async function ensureNeovim() {
615600
615635
  try {
615601
- const nvimPath = execSync53("which nvim 2>/dev/null || where nvim 2>nul", {
615636
+ const nvimPath = execSync54("which nvim 2>/dev/null || where nvim 2>nul", {
615602
615637
  encoding: "utf8",
615603
615638
  stdio: "pipe",
615604
615639
  timeout: 5e3
@@ -615619,14 +615654,14 @@ async function ensureNeovim() {
615619
615654
  const url = `https://github.com/neovim/neovim/releases/latest/download/${appImageName}`;
615620
615655
  console.log(` Downloading Neovim (${appImageName})...`);
615621
615656
  try {
615622
- execSync53(`curl -fsSL "${url}" -o "${nvimDest}"`, { stdio: "pipe", timeout: 6e4 });
615623
- execSync53(`chmod +x "${nvimDest}"`, { stdio: "pipe", timeout: 3e3 });
615657
+ execSync54(`curl -fsSL "${url}" -o "${nvimDest}"`, { stdio: "pipe", timeout: 6e4 });
615658
+ execSync54(`chmod +x "${nvimDest}"`, { stdio: "pipe", timeout: 3e3 });
615624
615659
  } catch (err) {
615625
615660
  console.log(` Failed to download Neovim: ${err instanceof Error ? err.message : String(err)}`);
615626
615661
  return null;
615627
615662
  }
615628
615663
  try {
615629
- const ver = execSync53(`"${nvimDest}" --version`, { encoding: "utf8", stdio: "pipe", timeout: 5e3 }).split("\n")[0];
615664
+ const ver = execSync54(`"${nvimDest}" --version`, { encoding: "utf8", stdio: "pipe", timeout: 5e3 }).split("\n")[0];
615630
615665
  console.log(` Installed: ${ver}`);
615631
615666
  } catch {
615632
615667
  console.log(" Warning: nvim binary downloaded but may not work (missing FUSE? Try: nvim --appimage-extract)");
@@ -615641,8 +615676,8 @@ async function ensureNeovim() {
615641
615676
  if (hasCmd("brew")) {
615642
615677
  console.log(" Installing Neovim via Homebrew...");
615643
615678
  try {
615644
- execSync53("brew install neovim", { stdio: "inherit", timeout: 12e4 });
615645
- const nvimPath = execSync53("which nvim", { encoding: "utf8", stdio: "pipe", timeout: 3e3 }).trim();
615679
+ execSync54("brew install neovim", { stdio: "inherit", timeout: 12e4 });
615680
+ const nvimPath = execSync54("which nvim", { encoding: "utf8", stdio: "pipe", timeout: 3e3 }).trim();
615646
615681
  return nvimPath || null;
615647
615682
  } catch {
615648
615683
  console.log(" brew install neovim failed.");
@@ -615656,7 +615691,7 @@ async function ensureNeovim() {
615656
615691
  if (hasCmd("choco")) {
615657
615692
  console.log(" Installing Neovim via Chocolatey...");
615658
615693
  try {
615659
- execSync53("choco install neovim -y", { stdio: "inherit", timeout: 12e4 });
615694
+ execSync54("choco install neovim -y", { stdio: "inherit", timeout: 12e4 });
615660
615695
  return "nvim";
615661
615696
  } catch {
615662
615697
  console.log(" choco install neovim failed.");
@@ -615665,7 +615700,7 @@ async function ensureNeovim() {
615665
615700
  if (hasCmd("winget")) {
615666
615701
  console.log(" Installing Neovim via winget...");
615667
615702
  try {
615668
- execSync53("winget install Neovim.Neovim --accept-source-agreements --accept-package-agreements", {
615703
+ execSync54("winget install Neovim.Neovim --accept-source-agreements --accept-package-agreements", {
615669
615704
  stdio: "inherit",
615670
615705
  timeout: 12e4
615671
615706
  });
@@ -619734,7 +619769,7 @@ var init_audio_waveform = __esm({
619734
619769
  import { existsSync as existsSync118, unlinkSync as unlinkSync23 } from "node:fs";
619735
619770
  import { tmpdir as tmpdir20 } from "node:os";
619736
619771
  import { join as join131 } from "node:path";
619737
- import { execSync as execSync54 } from "node:child_process";
619772
+ import { execSync as execSync55 } from "node:child_process";
619738
619773
  function isNeovimActive() {
619739
619774
  return _state2 !== null && !_state2.cleanedUp;
619740
619775
  }
@@ -619751,7 +619786,7 @@ async function startNeovimMode(opts) {
619751
619786
  }
619752
619787
  let nvimPath;
619753
619788
  try {
619754
- nvimPath = execSync54("which nvim 2>/dev/null", { encoding: "utf8" }).trim();
619789
+ nvimPath = execSync55("which nvim 2>/dev/null", { encoding: "utf8" }).trim();
619755
619790
  if (!nvimPath) throw new Error();
619756
619791
  } catch {
619757
619792
  const installed = await ensureNeovim();
@@ -620433,8 +620468,8 @@ async function forceKillDaemon(port) {
620433
620468
  }
620434
620469
  }
620435
620470
  try {
620436
- const { execSync: execSync63 } = await import("node:child_process");
620437
- const out = execSync63(
620471
+ const { execSync: execSync64 } = await import("node:child_process");
620472
+ const out = execSync64(
620438
620473
  `lsof -ti :${p2} 2>/dev/null || fuser ${p2}/tcp 2>/dev/null || true`,
620439
620474
  { encoding: "utf8", timeout: 3e3 }
620440
620475
  ).trim();
@@ -623311,7 +623346,7 @@ import {
623311
623346
  import { join as join137, dirname as dirname42, resolve as resolve57 } from "node:path";
623312
623347
  import { homedir as homedir46, tmpdir as tmpdir21, platform as platform6 } from "node:os";
623313
623348
  import {
623314
- execSync as execSync55,
623349
+ execSync as execSync56,
623315
623350
  spawn as nodeSpawn
623316
623351
  } from "node:child_process";
623317
623352
  import { createRequire as createRequire6 } from "node:module";
@@ -625658,7 +625693,7 @@ except Exception as exc:
625658
625693
  }
625659
625694
  for (const player of ["paplay", "pw-play", "aplay"]) {
625660
625695
  try {
625661
- execSync55(`which ${player}`, { stdio: "pipe" });
625696
+ execSync56(`which ${player}`, { stdio: "pipe" });
625662
625697
  return [player, path12];
625663
625698
  } catch {
625664
625699
  }
@@ -625836,7 +625871,7 @@ except Exception as exc:
625836
625871
  return false;
625837
625872
  }
625838
625873
  try {
625839
- execSync55(`${JSON.stringify(venvPy)} -c "import supertonic"`, {
625874
+ execSync56(`${JSON.stringify(venvPy)} -c "import supertonic"`, {
625840
625875
  stdio: "pipe",
625841
625876
  timeout: 1e4
625842
625877
  });
@@ -625968,7 +626003,7 @@ except Exception as exc:
625968
626003
  if (this.python3Path) return this.python3Path;
625969
626004
  for (const bin of ["python3", "python"]) {
625970
626005
  try {
625971
- const path12 = execSync55(`which ${bin}`, { stdio: "pipe", timeout: 5e3 }).toString().trim();
626006
+ const path12 = execSync56(`which ${bin}`, { stdio: "pipe", timeout: 5e3 }).toString().trim();
625972
626007
  if (path12) {
625973
626008
  this.python3Path = path12;
625974
626009
  return path12;
@@ -626032,7 +626067,7 @@ except Exception as exc:
626032
626067
  return false;
626033
626068
  }
626034
626069
  try {
626035
- execSync55(`${py} -c "import mlx_audio"`, {
626070
+ execSync56(`${py} -c "import mlx_audio"`, {
626036
626071
  stdio: "pipe",
626037
626072
  timeout: 1e4
626038
626073
  });
@@ -626101,14 +626136,14 @@ Error: ${err2 instanceof Error ? err2.message : String(err2)}`
626101
626136
  `tts_gen.main(["--model", ${JSON.stringify(mlxModelId)}, "--text", text, "--voice", ${JSON.stringify(mlxVoice)}, "--lang_code", ${JSON.stringify(mlxLangCode)}, "--audio_path", ${JSON.stringify(wavPath)}])`
626102
626137
  ].join("; ");
626103
626138
  try {
626104
- execSync55(
626139
+ execSync56(
626105
626140
  `${py} -c ${JSON.stringify(pyScript)} ${JSON.stringify(JSON.stringify(cleaned))}`,
626106
626141
  { stdio: "pipe", timeout: 6e4, cwd: tmpdir21() }
626107
626142
  );
626108
626143
  } catch (err) {
626109
626144
  try {
626110
626145
  const safeText = cleaned.replace(/'/g, "'\\''");
626111
- execSync55(
626146
+ execSync56(
626112
626147
  `${py} -m mlx_audio.tts.generate --model ${mlxModelId} --text '${safeText}' --voice ${mlxVoice} --lang_code ${mlxLangCode} --audio_path ${JSON.stringify(wavPath)}`,
626113
626148
  { stdio: "pipe", timeout: 6e4, cwd: tmpdir21() }
626114
626149
  );
@@ -626182,14 +626217,14 @@ Error: ${err2 instanceof Error ? err2.message : String(err2)}`
626182
626217
  `tts_gen.main(["--model", ${JSON.stringify(mlxModelId)}, "--text", text, "--voice", ${JSON.stringify(mlxVoice)}, "--lang_code", ${JSON.stringify(mlxLangCode)}, "--audio_path", ${JSON.stringify(wavPath)}])`
626183
626218
  ].join("; ");
626184
626219
  try {
626185
- execSync55(
626220
+ execSync56(
626186
626221
  `${py} -c ${JSON.stringify(pyScript)} ${JSON.stringify(JSON.stringify(cleaned))}`,
626187
626222
  { stdio: "pipe", timeout: 6e4, cwd: tmpdir21() }
626188
626223
  );
626189
626224
  } catch {
626190
626225
  try {
626191
626226
  const safeText = cleaned.replace(/'/g, "'\\''");
626192
- execSync55(
626227
+ execSync56(
626193
626228
  `${py} -m mlx_audio.tts.generate --model ${mlxModelId} --text '${safeText}' --voice ${mlxVoice} --lang_code ${mlxLangCode} --audio_path ${JSON.stringify(wavPath)}`,
626194
626229
  { stdio: "pipe", timeout: 6e4, cwd: tmpdir21() }
626195
626230
  );
@@ -626485,11 +626520,11 @@ Error: ${err2 instanceof Error ? err2.message : String(err2)}`
626485
626520
  ...isJetson ? (() => {
626486
626521
  let jpVer = "v60";
626487
626522
  try {
626488
- const tegra = existsSync125("/etc/nv_tegra_release") ? execSync55("cat /etc/nv_tegra_release 2>/dev/null", {
626523
+ const tegra = existsSync125("/etc/nv_tegra_release") ? execSync56("cat /etc/nv_tegra_release 2>/dev/null", {
626489
626524
  encoding: "utf8",
626490
626525
  timeout: 3e3
626491
626526
  }).trim() : "";
626492
- const dpkg = execSync55(
626527
+ const dpkg = execSync56(
626493
626528
  "dpkg -l nvidia-jetpack 2>/dev/null | grep nvidia-jetpack | awk '{print $3}'",
626494
626529
  { encoding: "utf8", timeout: 5e3 }
626495
626530
  ).trim();
@@ -632025,10 +632060,10 @@ The session corrections MUST become hard rules in the SKILL.md Rules section.`;
632025
632060
  "Requesting sudo to migrate daemon to current user and restart..."
632026
632061
  );
632027
632062
  const nodeBin = process.execPath;
632028
- const { execSync: execSync63 } = await import("node:child_process");
632063
+ const { execSync: execSync64 } = await import("node:child_process");
632029
632064
  let npmRoot = "";
632030
632065
  try {
632031
- npmRoot = execSync63("npm root -g", { encoding: "utf8" }).trim();
632066
+ npmRoot = execSync64("npm root -g", { encoding: "utf8" }).trim();
632032
632067
  } catch {
632033
632068
  }
632034
632069
  const launcher = npmRoot ? `${npmRoot}/omnius/dist/launcher.cjs` : "";
@@ -640611,7 +640646,7 @@ async function handleBroker(arg, _ctx) {
640611
640646
  );
640612
640647
  }
640613
640648
  async function handleParallel(arg, ctx3) {
640614
- const { execSync: execSync63 } = await import("node:child_process");
640649
+ const { execSync: execSync64 } = await import("node:child_process");
640615
640650
  const baseUrl = ctx3.config.backendUrl || "http://localhost:11434";
640616
640651
  const isRemote = ctx3.config.backendType === "nexus";
640617
640652
  if (isRemote) {
@@ -640643,7 +640678,7 @@ async function handleParallel(arg, ctx3) {
640643
640678
  }
640644
640679
  let systemdVal = "";
640645
640680
  try {
640646
- const out = execSync63(
640681
+ const out = execSync64(
640647
640682
  "systemctl show ollama.service -p Environment 2>/dev/null || true",
640648
640683
  { encoding: "utf8" }
640649
640684
  );
@@ -640678,7 +640713,7 @@ async function handleParallel(arg, ctx3) {
640678
640713
  }
640679
640714
  const isSystemd = (() => {
640680
640715
  try {
640681
- const out = execSync63("systemctl is-active ollama.service 2>/dev/null", {
640716
+ const out = execSync64("systemctl is-active ollama.service 2>/dev/null", {
640682
640717
  encoding: "utf8"
640683
640718
  }).trim();
640684
640719
  return out === "active" || out === "inactive";
@@ -642979,13 +643014,13 @@ async function showExposeDashboard(gateway, rl, ctx3) {
642979
643014
  const cmd = `/endpoint ${id} --auth ${gateway.authKey ?? ""}`;
642980
643015
  let copied = false;
642981
643016
  try {
642982
- const { execSync: execSync63 } = __require("node:child_process");
643017
+ const { execSync: execSync64 } = __require("node:child_process");
642983
643018
  const platform7 = process.platform;
642984
643019
  if (platform7 === "darwin") {
642985
- execSync63("pbcopy", { input: cmd, timeout: 3e3 });
643020
+ execSync64("pbcopy", { input: cmd, timeout: 3e3 });
642986
643021
  copied = true;
642987
643022
  } else if (platform7 === "win32") {
642988
- execSync63("clip", { input: cmd, timeout: 3e3 });
643023
+ execSync64("clip", { input: cmd, timeout: 3e3 });
642989
643024
  copied = true;
642990
643025
  } else {
642991
643026
  for (const tool of [
@@ -642994,7 +643029,7 @@ async function showExposeDashboard(gateway, rl, ctx3) {
642994
643029
  "wl-copy"
642995
643030
  ]) {
642996
643031
  try {
642997
- execSync63(tool, {
643032
+ execSync64(tool, {
642998
643033
  input: cmd,
642999
643034
  timeout: 3e3,
643000
643035
  stdio: ["pipe", "pipe", "pipe"]
@@ -643384,7 +643419,7 @@ var init_commands = __esm({
643384
643419
  // packages/cli/src/tui/project-context.ts
643385
643420
  import { existsSync as existsSync127, readFileSync as readFileSync104, readdirSync as readdirSync43, mkdirSync as mkdirSync74, writeFileSync as writeFileSync65 } from "node:fs";
643386
643421
  import { join as join139, basename as basename26 } from "node:path";
643387
- import { execSync as execSync56 } from "node:child_process";
643422
+ import { execSync as execSync57 } from "node:child_process";
643388
643423
  import { homedir as homedir48 } from "node:os";
643389
643424
  function projectContextUrlSpanAt(text2, index) {
643390
643425
  PROJECT_CONTEXT_URL_RE.lastIndex = 0;
@@ -643443,18 +643478,18 @@ function loadProjectMap(repoRoot) {
643443
643478
  }
643444
643479
  function getGitInfo(repoRoot) {
643445
643480
  try {
643446
- execSync56("git rev-parse --is-inside-work-tree", { cwd: repoRoot, stdio: "pipe" });
643481
+ execSync57("git rev-parse --is-inside-work-tree", { cwd: repoRoot, stdio: "pipe" });
643447
643482
  } catch {
643448
643483
  return "";
643449
643484
  }
643450
643485
  const lines = [];
643451
643486
  try {
643452
- const branch = execSync56("git branch --show-current", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
643487
+ const branch = execSync57("git branch --show-current", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
643453
643488
  if (branch) lines.push(`Branch: ${branch}`);
643454
643489
  } catch {
643455
643490
  }
643456
643491
  try {
643457
- const status = execSync56("git status --porcelain", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
643492
+ const status = execSync57("git status --porcelain", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
643458
643493
  if (status) {
643459
643494
  const changed = status.split("\n").length;
643460
643495
  lines.push(`Working tree: ${changed} changed file(s)`);
@@ -643464,7 +643499,7 @@ function getGitInfo(repoRoot) {
643464
643499
  } catch {
643465
643500
  }
643466
643501
  try {
643467
- const log22 = execSync56("git log --oneline -5 --no-decorate", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
643502
+ const log22 = execSync57("git log --oneline -5 --no-decorate", { cwd: repoRoot, encoding: "utf-8", stdio: "pipe" }).trim();
643468
643503
  if (log22) lines.push(`Recent commits:
643469
643504
  ${log22}`);
643470
643505
  } catch {
@@ -647784,7 +647819,7 @@ var init_promptLoader3 = __esm({
647784
647819
  // packages/cli/src/tui/dream-engine.ts
647785
647820
  import { mkdirSync as mkdirSync80, writeFileSync as writeFileSync69, readFileSync as readFileSync110, existsSync as existsSync134, readdirSync as readdirSync47 } from "node:fs";
647786
647821
  import { join as join147, basename as basename32 } from "node:path";
647787
- import { execSync as execSync57 } from "node:child_process";
647822
+ import { execSync as execSync58 } from "node:child_process";
647788
647823
  function setDreamWriteContent(fn) {
647789
647824
  _dreamWriteContent = fn;
647790
647825
  }
@@ -648157,7 +648192,7 @@ var init_dream_engine = __esm({
648157
648192
  }
648158
648193
  }
648159
648194
  try {
648160
- const output = execSync57(cmd, {
648195
+ const output = execSync58(cmd, {
648161
648196
  cwd: this.repoRoot,
648162
648197
  timeout: 3e4,
648163
648198
  encoding: "utf-8",
@@ -649134,17 +649169,17 @@ ${summary}` };
649134
649169
  try {
649135
649170
  mkdirSync80(checkpointDir3, { recursive: true });
649136
649171
  try {
649137
- const gitStatus = execSync57("git status --porcelain", {
649172
+ const gitStatus = execSync58("git status --porcelain", {
649138
649173
  cwd: this.repoRoot,
649139
649174
  encoding: "utf-8",
649140
649175
  timeout: 1e4
649141
649176
  });
649142
- const gitDiff = execSync57("git diff", {
649177
+ const gitDiff = execSync58("git diff", {
649143
649178
  cwd: this.repoRoot,
649144
649179
  encoding: "utf-8",
649145
649180
  timeout: 1e4
649146
649181
  });
649147
- const gitHash = execSync57("git rev-parse HEAD 2>/dev/null || echo 'no-git'", {
649182
+ const gitHash = execSync58("git rev-parse HEAD 2>/dev/null || echo 'no-git'", {
649148
649183
  cwd: this.repoRoot,
649149
649184
  encoding: "utf-8",
649150
649185
  timeout: 5e3
@@ -677517,7 +677552,7 @@ __export(aiwg_exports, {
677517
677552
  import { existsSync as existsSync145, readFileSync as readFileSync120, readdirSync as readdirSync52, statSync as statSync52 } from "node:fs";
677518
677553
  import { join as join157 } from "node:path";
677519
677554
  import { homedir as homedir53 } from "node:os";
677520
- import { execSync as execSync58 } from "node:child_process";
677555
+ import { execSync as execSync59 } from "node:child_process";
677521
677556
  function resolveAiwgRoot() {
677522
677557
  if (_cachedAiwgRoot !== void 0) return _cachedAiwgRoot;
677523
677558
  const envRoot = process.env["OMNIUS_AIWG_ROOT"];
@@ -677531,7 +677566,7 @@ function resolveAiwgRoot() {
677531
677566
  return shareDir;
677532
677567
  }
677533
677568
  try {
677534
- const globalRoot = execSync58("npm root -g", {
677569
+ const globalRoot = execSync59("npm root -g", {
677535
677570
  encoding: "utf-8",
677536
677571
  timeout: 5e3,
677537
677572
  stdio: ["pipe", "pipe", "pipe"]
@@ -677573,7 +677608,7 @@ function resolveAiwgRoot() {
677573
677608
  }
677574
677609
  }
677575
677610
  try {
677576
- const whichAiwg = execSync58("which aiwg 2>/dev/null || where aiwg 2>nul", {
677611
+ const whichAiwg = execSync59("which aiwg 2>/dev/null || where aiwg 2>nul", {
677577
677612
  encoding: "utf-8",
677578
677613
  timeout: 3e3,
677579
677614
  stdio: ["pipe", "pipe", "pipe"]
@@ -680461,9 +680496,9 @@ function resolveLocalPeerId() {
680461
680496
  }
680462
680497
  let scanResult = null;
680463
680498
  try {
680464
- const { execSync: execSync63 } = __require("node:child_process");
680499
+ const { execSync: execSync64 } = __require("node:child_process");
680465
680500
  const cmd = `find "${homedir56()}" -maxdepth 4 -path '*/.omnius/nexus/status.json' -type f 2>/dev/null | head -50`;
680466
- const out = execSync63(cmd, { encoding: "utf-8", timeout: 2e3 }).trim();
680501
+ const out = execSync64(cmd, { encoding: "utf-8", timeout: 2e3 }).trim();
680467
680502
  for (const line of out.split("\n")) {
680468
680503
  const f2 = line.trim();
680469
680504
  if (!f2) continue;
@@ -680493,8 +680528,8 @@ function locateTorScript(filename) {
680493
680528
  if (existsSync149(p2)) return p2;
680494
680529
  }
680495
680530
  try {
680496
- const { execSync: execSync63 } = __require("node:child_process");
680497
- const root = execSync63("npm root -g", { encoding: "utf-8", timeout: 5e3 }).trim();
680531
+ const { execSync: execSync64 } = __require("node:child_process");
680532
+ const root = execSync64("npm root -g", { encoding: "utf-8", timeout: 5e3 }).trim();
680498
680533
  const p2 = join161(root, "omnius", "dist", "scripts", "tor", filename);
680499
680534
  if (existsSync149(p2)) return p2;
680500
680535
  } catch {
@@ -691716,7 +691751,7 @@ var init_usage_tracker = __esm({
691716
691751
  });
691717
691752
 
691718
691753
  // packages/cli/src/docker.ts
691719
- import { execSync as execSync59, spawn as spawn32 } from "node:child_process";
691754
+ import { execSync as execSync60, spawn as spawn32 } from "node:child_process";
691720
691755
  import { existsSync as existsSync151, mkdirSync as mkdirSync94, writeFileSync as writeFileSync81 } from "node:fs";
691721
691756
  import { join as join163, resolve as resolve64, dirname as dirname48 } from "node:path";
691722
691757
  import { homedir as homedir57 } from "node:os";
@@ -691737,7 +691772,7 @@ function getDockerDir() {
691737
691772
  }
691738
691773
  function isDockerAvailable() {
691739
691774
  try {
691740
- execSync59("docker info", { stdio: "pipe", timeout: 1e4 });
691775
+ execSync60("docker info", { stdio: "pipe", timeout: 1e4 });
691741
691776
  return true;
691742
691777
  } catch {
691743
691778
  return false;
@@ -691745,7 +691780,7 @@ function isDockerAvailable() {
691745
691780
  }
691746
691781
  function isDockerInstalled() {
691747
691782
  try {
691748
- execSync59("docker --version", { stdio: "pipe", timeout: 5e3 });
691783
+ execSync60("docker --version", { stdio: "pipe", timeout: 5e3 });
691749
691784
  return true;
691750
691785
  } catch {
691751
691786
  return false;
@@ -691770,31 +691805,31 @@ async function ensureDocker() {
691770
691805
  }
691771
691806
  try {
691772
691807
  console.log("[omnius-docker] Docker not found. Installing via get.docker.com...");
691773
- execSync59("curl -fsSL https://get.docker.com | sh", {
691808
+ execSync60("curl -fsSL https://get.docker.com | sh", {
691774
691809
  stdio: "inherit",
691775
691810
  timeout: 3e5
691776
691811
  });
691777
691812
  const user = process.env["USER"] || process.env["LOGNAME"];
691778
691813
  if (user) {
691779
691814
  try {
691780
- execSync59(`sudo usermod -aG docker ${user}`, { stdio: "pipe" });
691815
+ execSync60(`sudo usermod -aG docker ${user}`, { stdio: "pipe" });
691781
691816
  } catch {
691782
691817
  }
691783
691818
  }
691784
691819
  try {
691785
- execSync59("sudo systemctl start docker", { stdio: "pipe", timeout: 15e3 });
691820
+ execSync60("sudo systemctl start docker", { stdio: "pipe", timeout: 15e3 });
691786
691821
  } catch {
691787
691822
  }
691788
691823
  try {
691789
- execSync59("nvidia-smi", { stdio: "pipe", timeout: 5e3 });
691790
- const runtimes = execSync59("docker info --format '{{json .Runtimes}}'", {
691824
+ execSync60("nvidia-smi", { stdio: "pipe", timeout: 5e3 });
691825
+ const runtimes = execSync60("docker info --format '{{json .Runtimes}}'", {
691791
691826
  stdio: "pipe",
691792
691827
  timeout: 5e3
691793
691828
  }).toString();
691794
691829
  if (!runtimes.includes("nvidia")) {
691795
691830
  console.log("[omnius-docker] NVIDIA GPU detected. Installing nvidia-container-toolkit...");
691796
691831
  try {
691797
- execSync59(`
691832
+ execSync60(`
691798
691833
  curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg 2>/dev/null
691799
691834
  curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null 2>&1
691800
691835
  sudo apt-get update -qq 2>/dev/null && sudo apt-get install -y -qq nvidia-container-toolkit 2>/dev/null || ( sudo dnf install -y nvidia-container-toolkit 2>/dev/null || sudo yum install -y nvidia-container-toolkit 2>/dev/null || true )
@@ -691824,7 +691859,7 @@ async function ensureDocker() {
691824
691859
  }
691825
691860
  async function ensureNvidiaToolkit() {
691826
691861
  try {
691827
- execSync59("nvidia-smi --query-gpu=name --format=csv,noheader", { stdio: "pipe", timeout: 5e3 });
691862
+ execSync60("nvidia-smi --query-gpu=name --format=csv,noheader", { stdio: "pipe", timeout: 5e3 });
691828
691863
  } catch {
691829
691864
  return { ok: false, message: "No NVIDIA GPU detected (nvidia-smi not found)" };
691830
691865
  }
@@ -691835,7 +691870,7 @@ async function ensureNvidiaToolkit() {
691835
691870
  return { ok: false, message: "Auto-install only supported on Linux. Install manually: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html" };
691836
691871
  }
691837
691872
  try {
691838
- execSync59(`
691873
+ execSync60(`
691839
691874
  curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg 2>/dev/null
691840
691875
  curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null 2>&1
691841
691876
  sudo apt-get update -qq 2>/dev/null && sudo apt-get install -y -qq nvidia-container-toolkit 2>/dev/null || ( sudo dnf install -y nvidia-container-toolkit 2>/dev/null || sudo yum install -y nvidia-container-toolkit 2>/dev/null || true )
@@ -691849,7 +691884,7 @@ async function ensureNvidiaToolkit() {
691849
691884
  }
691850
691885
  function isOmniusImageBuilt() {
691851
691886
  try {
691852
- const out = execSync59(`docker images -q ${OMNIUS_IMAGE}:${OMNIUS_IMAGE_TAG}`, {
691887
+ const out = execSync60(`docker images -q ${OMNIUS_IMAGE}:${OMNIUS_IMAGE_TAG}`, {
691853
691888
  stdio: "pipe",
691854
691889
  timeout: 5e3
691855
691890
  }).toString().trim();
@@ -691873,7 +691908,7 @@ async function ensureOmniusImage(force = false) {
691873
691908
  }
691874
691909
  try {
691875
691910
  console.log(`[omnius-docker] Building image ${OMNIUS_IMAGE}:${OMNIUS_IMAGE_TAG}...`);
691876
- execSync59(`docker build -t ${OMNIUS_IMAGE}:${OMNIUS_IMAGE_TAG} ${buildContext}`, {
691911
+ execSync60(`docker build -t ${OMNIUS_IMAGE}:${OMNIUS_IMAGE_TAG} ${buildContext}`, {
691877
691912
  stdio: "inherit",
691878
691913
  timeout: 6e5
691879
691914
  // 10 min
@@ -691947,11 +691982,11 @@ exec "$@"
691947
691982
  }
691948
691983
  function hasNvidiaGpu() {
691949
691984
  try {
691950
- execSync59("nvidia-smi --query-gpu=name --format=csv,noheader", {
691985
+ execSync60("nvidia-smi --query-gpu=name --format=csv,noheader", {
691951
691986
  stdio: "pipe",
691952
691987
  timeout: 5e3
691953
691988
  });
691954
- const runtimes = execSync59("docker info --format '{{json .Runtimes}}'", {
691989
+ const runtimes = execSync60("docker info --format '{{json .Runtimes}}'", {
691955
691990
  stdio: "pipe",
691956
691991
  timeout: 5e3
691957
691992
  }).toString();
@@ -692200,7 +692235,7 @@ import { createRequire as createRequire7 } from "node:module";
692200
692235
  import { fileURLToPath as fileURLToPath19 } from "node:url";
692201
692236
  import { dirname as dirname49, join as join165, resolve as resolve65 } from "node:path";
692202
692237
  import { homedir as homedir58 } from "node:os";
692203
- import { spawn as spawn33, execSync as execSync60 } from "node:child_process";
692238
+ import { spawn as spawn33, execSync as execSync61 } from "node:child_process";
692204
692239
  import {
692205
692240
  mkdirSync as mkdirSync95,
692206
692241
  writeFileSync as writeFileSync82,
@@ -696521,7 +696556,7 @@ function handleV1RunsDelete(res, id) {
696521
696556
  const containerName = `omnius-${id}`;
696522
696557
  if (job.sandbox === "container") {
696523
696558
  try {
696524
- execSync60(`docker stop ${containerName}`, {
696559
+ execSync61(`docker stop ${containerName}`, {
696525
696560
  timeout: 5e3,
696526
696561
  stdio: "ignore"
696527
696562
  });
@@ -698850,8 +698885,8 @@ data: ${JSON.stringify(data)}
698850
698885
  }
698851
698886
  setImmediate(() => {
698852
698887
  try {
698853
- const { execSync: execSync63 } = require4("node:child_process");
698854
- execSync63("npm update -g omnius 2>/dev/null || true", {
698888
+ const { execSync: execSync64 } = require4("node:child_process");
698889
+ execSync64("npm update -g omnius 2>/dev/null || true", {
698855
698890
  stdio: "pipe"
698856
698891
  });
698857
698892
  } catch {
@@ -698894,7 +698929,7 @@ data: ${JSON.stringify(data)}
698894
698929
  return;
698895
698930
  }
698896
698931
  try {
698897
- const { execSync: execSync63 } = require4("node:child_process");
698932
+ const { execSync: execSync64 } = require4("node:child_process");
698898
698933
  let audioPath = null;
698899
698934
  const ttsCmds = [
698900
698935
  `espeak "${text2}" -w /tmp/tts_${Date.now()}.wav 2>/dev/null`,
@@ -698903,7 +698938,7 @@ data: ${JSON.stringify(data)}
698903
698938
  ];
698904
698939
  for (const cmd of ttsCmds) {
698905
698940
  try {
698906
- execSync63(cmd, { stdio: "pipe" });
698941
+ execSync64(cmd, { stdio: "pipe" });
698907
698942
  audioPath = "/tmp/tts_" + Date.now() + ".wav";
698908
698943
  break;
698909
698944
  } catch {
@@ -702327,7 +702362,7 @@ var clipboard_media_exports = {};
702327
702362
  __export(clipboard_media_exports, {
702328
702363
  pasteClipboardImageToFile: () => pasteClipboardImageToFile
702329
702364
  });
702330
- import { execFileSync as execFileSync10, execSync as execSync61 } from "node:child_process";
702365
+ import { execFileSync as execFileSync10, execSync as execSync62 } from "node:child_process";
702331
702366
  import { mkdirSync as mkdirSync96, readFileSync as readFileSync126, rmSync as rmSync12, writeFileSync as writeFileSync83 } from "node:fs";
702332
702367
  import { join as join166 } from "node:path";
702333
702368
  function pasteClipboardImageToFile(repoRoot) {
@@ -702342,7 +702377,7 @@ function pasteClipboardImageToFile(repoRoot) {
702342
702377
  function readClipboardImage() {
702343
702378
  if (process.platform === "darwin") {
702344
702379
  try {
702345
- execSync61("command -v pngpaste", { stdio: "ignore", timeout: 1e3 });
702380
+ execSync62("command -v pngpaste", { stdio: "ignore", timeout: 1e3 });
702346
702381
  const tmp = `/tmp/omnius-clipboard-${Date.now()}.png`;
702347
702382
  execFileSync10("pngpaste", [tmp], { timeout: 3e3 });
702348
702383
  const buffer2 = readFileSync126(tmp);
@@ -702413,7 +702448,7 @@ import {
702413
702448
  mkdirSync as mkdirSync97
702414
702449
  } from "node:fs";
702415
702450
  import { existsSync as existsSync153 } from "node:fs";
702416
- import { execSync as execSync62 } from "node:child_process";
702451
+ import { execSync as execSync63 } from "node:child_process";
702417
702452
  import { homedir as homedir59 } from "node:os";
702418
702453
  function formatTimeAgo2(date) {
702419
702454
  const seconds = Math.floor((Date.now() - date.getTime()) / 1e3);
@@ -702580,9 +702615,9 @@ ${incompleteList}${more}
702580
702615
  const scripts = pkg.scripts || {};
702581
702616
  const checkScript = scripts["typecheck"] ? "typecheck" : scripts["build"] ? "build" : null;
702582
702617
  if (checkScript) {
702583
- const { execSync: execSync63 } = await import("node:child_process");
702618
+ const { execSync: execSync64 } = await import("node:child_process");
702584
702619
  try {
702585
- execSync63(`npm run ${checkScript} --silent 2>&1`, {
702620
+ execSync64(`npm run ${checkScript} --silent 2>&1`, {
702586
702621
  cwd: cwd4,
702587
702622
  stdio: "pipe",
702588
702623
  timeout: 12e4,
@@ -710344,7 +710379,7 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
710344
710379
  try {
710345
710380
  if (process.platform === "win32") {
710346
710381
  try {
710347
- execSync62(`taskkill /F /PID ${pid}`, {
710382
+ execSync63(`taskkill /F /PID ${pid}`, {
710348
710383
  timeout: 5e3,
710349
710384
  stdio: "ignore"
710350
710385
  });
@@ -710376,7 +710411,7 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
710376
710411
  if (pid > 0) {
710377
710412
  if (process.platform === "win32") {
710378
710413
  try {
710379
- execSync62(`taskkill /F /PID ${pid}`, {
710414
+ execSync63(`taskkill /F /PID ${pid}`, {
710380
710415
  timeout: 5e3,
710381
710416
  stdio: "ignore"
710382
710417
  });
@@ -710396,7 +710431,7 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
710396
710431
  } catch {
710397
710432
  }
710398
710433
  try {
710399
- execSync62(
710434
+ execSync63(
710400
710435
  process.platform === "win32" ? "timeout /t 1 /nobreak >nul" : "sleep 0.5",
710401
710436
  { timeout: 3e3, stdio: "ignore" }
710402
710437
  );
@@ -710413,7 +710448,7 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
710413
710448
  } catch (err) {
710414
710449
  if (attempt < 2) {
710415
710450
  try {
710416
- execSync62(
710451
+ execSync63(
710417
710452
  process.platform === "win32" ? "timeout /t 1 /nobreak >nul" : "sleep 0.3",
710418
710453
  { timeout: 3e3, stdio: "ignore" }
710419
710454
  );
@@ -710427,7 +710462,7 @@ Respond concisely and safely. Remember: you are talking to the general public.`;
710427
710462
  );
710428
710463
  if (process.platform === "win32") {
710429
710464
  try {
710430
- execSync62(`rd /s /q "${omniusPath}"`, {
710465
+ execSync63(`rd /s /q "${omniusPath}"`, {
710431
710466
  timeout: 1e4,
710432
710467
  stdio: "ignore"
710433
710468
  });