triflux 6.0.15 → 6.0.17
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/bin/triflux.mjs +4 -4
- package/package.json +1 -1
- package/scripts/setup.mjs +22 -1
package/bin/triflux.mjs
CHANGED
|
@@ -1615,10 +1615,10 @@ function cmdUpdate() {
|
|
|
1615
1615
|
stdio: ["pipe", "pipe", "pipe"],
|
|
1616
1616
|
windowsHide: true,
|
|
1617
1617
|
}).trim().split(/\r?\n/)[0];
|
|
1618
|
-
} catch
|
|
1619
|
-
// Windows: 자기 자신의 파일 잠금으로 첫 시도 실패 가능 →
|
|
1620
|
-
info("첫 시도 실패, 재시도 중...");
|
|
1621
|
-
result = execSync(npmCmd
|
|
1618
|
+
} catch {
|
|
1619
|
+
// Windows: 자기 자신의 파일 잠금으로 첫 시도 실패 가능 → --force 재시도
|
|
1620
|
+
info("첫 시도 실패, --force 재시도 중...");
|
|
1621
|
+
result = execSync(`${npmCmd} --force`, {
|
|
1622
1622
|
encoding: "utf8",
|
|
1623
1623
|
timeout: 90000,
|
|
1624
1624
|
stdio: ["pipe", "pipe", "pipe"],
|
package/package.json
CHANGED
package/scripts/setup.mjs
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { copyFileSync, mkdirSync, readFileSync, writeFileSync, readdirSync, existsSync, chmodSync, unlinkSync } from "fs";
|
|
8
8
|
import { join, dirname } from "path";
|
|
9
9
|
import { homedir } from "os";
|
|
10
|
-
import { spawn } from "child_process";
|
|
10
|
+
import { spawn, execFileSync } from "child_process";
|
|
11
11
|
import { fileURLToPath } from "url";
|
|
12
12
|
|
|
13
13
|
const PLUGIN_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
@@ -404,6 +404,27 @@ if (existsSync(HUB_PID_FILE)) {
|
|
|
404
404
|
}
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
+
// ── psmux 자동 설치 (Windows, headless 모드용) ──
|
|
408
|
+
|
|
409
|
+
if (process.platform === "win32") {
|
|
410
|
+
try {
|
|
411
|
+
execFileSync("where", ["psmux"], { stdio: "ignore" });
|
|
412
|
+
} catch {
|
|
413
|
+
// psmux 미설치 — winget으로 자동 설치 시도
|
|
414
|
+
console.log(" psmux 미설치 — winget으로 설치 중...");
|
|
415
|
+
try {
|
|
416
|
+
execFileSync("winget", ["install", "--id", "marlocarlo.psmux", "--accept-package-agreements", "--accept-source-agreements"], {
|
|
417
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
418
|
+
timeout: 60000,
|
|
419
|
+
});
|
|
420
|
+
console.log(" \x1b[32m✓\x1b[0m psmux 설치 완료");
|
|
421
|
+
synced++;
|
|
422
|
+
} catch {
|
|
423
|
+
console.log(" \x1b[33m⚠\x1b[0m psmux 자동 설치 실패 — 수동 설치: winget install psmux");
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
407
428
|
// ── HUD 에러 캐시 자동 클리어 (업데이트/재설치 시) ──
|
|
408
429
|
|
|
409
430
|
const cacheDir = join(CLAUDE_DIR, "cache");
|