devez-vibe 1.7.73 → 1.7.75

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/README.md CHANGED
@@ -61,8 +61,8 @@ dvz [--resume [SESSION] | --continue] [--model MODEL] [--effort EFFORT]
61
61
  dvz update
62
62
  ```
63
63
 
64
- 새 버전을 임시 위치에 내려받아 실행 파일을 검증한 뒤 같은 터미널에서 전역 설치합니다.
65
- 설치가 실패하면 현재 버전 복구를 시도하며, 다른 `dvz` 세션은 종료하지 않아도 됩니다.
64
+ 새 버전을 별도 경로에 내려받아 실행 파일을 검증한 뒤 다음 실행 버전으로 전환합니다.
65
+ 실행 중인 `dvz` 세션은 이전 버전을 유지하고, 새로 시작하는 세션부터 새 버전을 사용합니다.
66
66
 
67
67
  업데이트 확인을 끄려면 `DEVEZ_VIBE_NO_UPDATE_CHECK` 환경변수를 설정합니다.
68
68
 
package/bin/dvz.exe CHANGED
Binary file
package/bin/dvz.js ADDED
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { existsSync, readFileSync } from "node:fs";
4
+ import { spawn } from "node:child_process";
5
+ import { dirname, isAbsolute, join } from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+
8
+ const packageExecutable = join(dirname(fileURLToPath(import.meta.url)), "dvz.exe");
9
+ const pointer = process.env.LOCALAPPDATA
10
+ ? join(process.env.LOCALAPPDATA, "DevezVibe", "current-executable.txt")
11
+ : "";
12
+
13
+ let executable = packageExecutable;
14
+ try {
15
+ const candidate = pointer ? readFileSync(pointer, "utf8").trim() : "";
16
+ if (isAbsolute(candidate) && existsSync(candidate)) executable = candidate;
17
+ } catch {
18
+ // A missing or incomplete pointer falls back to the npm-packaged executable.
19
+ }
20
+
21
+ const child = spawn(executable, process.argv.slice(2), { stdio: "inherit" });
22
+ child.on("error", (error) => {
23
+ console.error(`Devez Vibe 실행 실패: ${error.message}`);
24
+ process.exit(1);
25
+ });
26
+ child.on("exit", (code, signal) => {
27
+ if (signal) process.kill(process.pid, signal);
28
+ else process.exit(code ?? 1);
29
+ });
30
+
31
+ for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"]) {
32
+ process.on(signal, () => {
33
+ if (!child.killed) child.kill(signal);
34
+ });
35
+ }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "devez-vibe",
3
- "version": "1.7.73",
3
+ "version": "1.7.75",
4
+ "type": "module",
4
5
  "description": "Stable terminal UI for Codex and Claude Agent SDK",
5
6
  "keywords": [
6
7
  "codex",
@@ -18,9 +19,10 @@
18
19
  },
19
20
  "license": "MIT",
20
21
  "bin": {
21
- "dvz": "bin/dvz.exe"
22
+ "dvz": "bin/dvz.js"
22
23
  },
23
24
  "files": [
25
+ "bin/dvz.js",
24
26
  "bin/dvz.exe",
25
27
  "bridge/claude-agent-sdk-bridge.mjs",
26
28
  "install-skills.mjs",