triflux 4.0.2 → 4.0.3

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.
@@ -22,7 +22,7 @@ const GIT_BASH_CANDIDATES = [
22
22
  function findGitBashExe() {
23
23
  for (const p of GIT_BASH_CANDIDATES) {
24
24
  try {
25
- execSync(`"${p}" --version`, { stdio: "ignore", timeout: 3000 });
25
+ execSync(`"${p}" --version`, { stdio: "ignore", timeout: 3000, windowsHide: true });
26
26
  return p;
27
27
  } catch {
28
28
  // 다음 후보
@@ -35,7 +35,7 @@ function findGitBashExe() {
35
35
  export function hasWindowsTerminal() {
36
36
  if (process.platform !== "win32") return false;
37
37
  try {
38
- execSync("where wt.exe", { stdio: "ignore", timeout: 3000 });
38
+ execSync("where wt.exe", { stdio: "ignore", timeout: 3000, windowsHide: true });
39
39
  return true;
40
40
  } catch {
41
41
  return false;
@@ -50,7 +50,7 @@ export function hasWindowsTerminalSession() {
50
50
  /** tmux 실행 가능 여부 확인 */
51
51
  function hasTmux() {
52
52
  try {
53
- execSync("tmux -V", { stdio: "ignore", timeout: 3000 });
53
+ execSync("tmux -V", { stdio: "ignore", timeout: 3000, windowsHide: true });
54
54
  return true;
55
55
  } catch {
56
56
  return false;
@@ -60,7 +60,7 @@ function hasTmux() {
60
60
  /** WSL2 내 tmux 사용 가능 여부 (Windows 전용) */
61
61
  function hasWslTmux() {
62
62
  try {
63
- execSync("wsl tmux -V", { stdio: "ignore", timeout: 5000 });
63
+ execSync("wsl tmux -V", { stdio: "ignore", timeout: 5000, windowsHide: true });
64
64
  return true;
65
65
  } catch {
66
66
  return false;
@@ -76,6 +76,7 @@ function hasGitBashTmux() {
76
76
  encoding: "utf8",
77
77
  timeout: 5000,
78
78
  stdio: ["ignore", "pipe", "pipe"],
79
+ windowsHide: true,
79
80
  });
80
81
  return (r.status ?? 1) === 0;
81
82
  } catch {
@@ -130,6 +131,7 @@ function tmux(args, opts = {}) {
130
131
  encoding: "utf8",
131
132
  timeout: 10000,
132
133
  stdio: ["pipe", "pipe", "pipe"],
134
+ windowsHide: true,
133
135
  ...opts,
134
136
  });
135
137
  if ((r.status ?? 1) !== 0) {
@@ -145,6 +147,7 @@ function tmux(args, opts = {}) {
145
147
  encoding: "utf8",
146
148
  timeout: 10000,
147
149
  stdio: ["pipe", "pipe", "pipe"],
150
+ windowsHide: true,
148
151
  ...opts,
149
152
  });
150
153
  return result != null ? result.trim() : "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triflux",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "CLI-first multi-model orchestrator for Claude Code — route tasks to Codex, Gemini, and Claude",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,7 +12,7 @@ const CACHE_TTL_MS = 30_000; // 30초
12
12
 
13
13
  function checkHub() {
14
14
  try {
15
- const res = execSync("curl -sf http://127.0.0.1:27888/status", { timeout: 3000, encoding: "utf8" });
15
+ const res = execSync("curl -sf http://127.0.0.1:27888/status", { timeout: 3000, encoding: "utf8", windowsHide: true });
16
16
  const data = JSON.parse(res);
17
17
  return { ok: true, state: data?.hub?.state || "unknown", pid: data?.pid };
18
18
  } catch {
@@ -27,7 +27,7 @@ function checkRoute() {
27
27
 
28
28
  function checkCli(name) {
29
29
  try {
30
- const path = execSync(`which ${name} 2>/dev/null || where ${name} 2>nul`, { encoding: "utf8", timeout: 2000 }).trim();
30
+ const path = execSync(`which ${name} 2>/dev/null || where ${name} 2>nul`, { encoding: "utf8", timeout: 2000, windowsHide: true }).trim();
31
31
  return { ok: !!path, path };
32
32
  } catch {
33
33
  return { ok: false };