devez-vibe 1.10.3 → 1.10.5
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/dvz.exe +0 -0
- package/bridge/claude-agent-sdk-bridge.mjs +38 -3
- package/package.json +50 -50
package/bin/dvz.exe
CHANGED
|
Binary file
|
|
@@ -558,6 +558,19 @@ async function applyPermissionMode(session) {
|
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
560
|
|
|
561
|
+
// Since CLI 2.1.299 a model without auto mode drops the session to default,
|
|
562
|
+
// and it stays there after switching back, so restore auto where it exists.
|
|
563
|
+
async function followModelPermissionMode(session, model) {
|
|
564
|
+
// The CLI omits supportsAutoMode on such a model rather than sending false.
|
|
565
|
+
const capabilities = modelCapabilities(session.models || [], model);
|
|
566
|
+
if (capabilities && !capabilities.supportsAutoMode) {
|
|
567
|
+
session.permissionMode = "default";
|
|
568
|
+
session.permissionModeVerified = false;
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
await applyPermissionMode(session);
|
|
572
|
+
}
|
|
573
|
+
|
|
561
574
|
async function claudePermissionStatus(params) {
|
|
562
575
|
const resolved = await resolveSettings({
|
|
563
576
|
cwd: params.cwd || process.cwd(),
|
|
@@ -3965,6 +3978,7 @@ async function runPrompt(session, params) {
|
|
|
3965
3978
|
const model = stripClaudeModel(params.model);
|
|
3966
3979
|
await session.query.setModel(model);
|
|
3967
3980
|
session.model = visibleModel(params.model);
|
|
3981
|
+
await followModelPermissionMode(session, params.model);
|
|
3968
3982
|
}
|
|
3969
3983
|
session.steerPending = 0;
|
|
3970
3984
|
// Steering carries no effort of its own, so a steer that lands here because the
|
|
@@ -4835,11 +4849,11 @@ async function dispatch(method, params = {}) {
|
|
|
4835
4849
|
if (session) closeLiveSession(session);
|
|
4836
4850
|
return { released: true, busy: false };
|
|
4837
4851
|
}
|
|
4838
|
-
// 순정 /clear처럼
|
|
4839
|
-
//
|
|
4852
|
+
// 순정 /clear처럼 살아 있는 세션은 같은 프로세스에서 새 대화로 넘겨 CLI와 MCP
|
|
4853
|
+
// 연결을 다시 쓴다. 남은 백그라운드 작업과 그 완료 통지도 새 대화가 이어받는다.
|
|
4840
4854
|
if (method === "session/clear") {
|
|
4841
4855
|
const session = lookupSession(params.sessionId);
|
|
4842
|
-
if (!session || !sessionHasLiveWork(session)) {
|
|
4856
|
+
if (!session || (!session.queue && !sessionHasLiveWork(session))) {
|
|
4843
4857
|
if (session) closeLiveSession(session);
|
|
4844
4858
|
return { released: true, busy: false };
|
|
4845
4859
|
}
|
|
@@ -4861,6 +4875,11 @@ async function dispatch(method, params = {}) {
|
|
|
4861
4875
|
clearTimeout(timer);
|
|
4862
4876
|
session.clearWaiter = null;
|
|
4863
4877
|
session.clearPending = false;
|
|
4878
|
+
// CLI가 /clear에 답하지 않아도 남은 작업이 없으면 연결을 닫고 새 대화를 연다.
|
|
4879
|
+
if (!id && !sessionHasLiveWork(session)) {
|
|
4880
|
+
closeLiveSession(session);
|
|
4881
|
+
return { released: true, busy: false };
|
|
4882
|
+
}
|
|
4864
4883
|
if (!id) return { released: false, busy: true };
|
|
4865
4884
|
emitSubagents(session);
|
|
4866
4885
|
return {
|
|
@@ -4919,6 +4938,22 @@ async function runPermissionModeSelfTest() {
|
|
|
4919
4938
|
|| rejectedCalls.join(",") !== "auto" || rejected.permissionModeVerified) {
|
|
4920
4939
|
throw new Error(`Claude permission double rejection self-test failed: ${doubleRejection}`);
|
|
4921
4940
|
}
|
|
4941
|
+
|
|
4942
|
+
const switchCalls = [];
|
|
4943
|
+
const switching = fakeSession(async (mode) => switchCalls.push(mode));
|
|
4944
|
+
switching.models = [
|
|
4945
|
+
{ value: "claude-haiku-4-5-20251001" },
|
|
4946
|
+
{ value: "sonnet", supportsAutoMode: true },
|
|
4947
|
+
];
|
|
4948
|
+
await applyPermissionMode(switching);
|
|
4949
|
+
await followModelPermissionMode(switching, "claude:claude-haiku-4-5-20251001");
|
|
4950
|
+
const dropped = switching.permissionMode;
|
|
4951
|
+
await followModelPermissionMode(switching, "claude:sonnet");
|
|
4952
|
+
await followModelPermissionMode(switching, "claude:sonnet");
|
|
4953
|
+
if (dropped !== "default" || switching.permissionMode !== PREFERRED_PERMISSION_MODE
|
|
4954
|
+
|| switchCalls.join(",") !== "auto,auto") {
|
|
4955
|
+
throw new Error(`Claude model switch permission self-test failed: ${dropped} ${JSON.stringify(switchCalls)}`);
|
|
4956
|
+
}
|
|
4922
4957
|
}
|
|
4923
4958
|
|
|
4924
4959
|
async function runGuardedPermissionSelfTest() {
|
package/package.json
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "devez-vibe",
|
|
3
|
-
"version": "1.10.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "Stable terminal UI for Codex and Claude Agent SDK",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"codex",
|
|
8
|
-
"cli",
|
|
9
|
-
"tui",
|
|
10
|
-
"terminal",
|
|
11
|
-
"app-server",
|
|
12
|
-
"claude-agent-sdk"
|
|
13
|
-
],
|
|
14
|
-
"homepage": "https://github.com/MrHoje/Devez-vibe#readme",
|
|
15
|
-
"bugs": "https://github.com/MrHoje/Devez-vibe/issues",
|
|
16
|
-
"repository": {
|
|
17
|
-
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/MrHoje/Devez-vibe.git"
|
|
19
|
-
},
|
|
20
|
-
"license": "MIT",
|
|
21
|
-
"bin": {
|
|
22
|
-
"dvz": "bin/dvz.js"
|
|
23
|
-
},
|
|
24
|
-
"files": [
|
|
25
|
-
"bin/dvz.js",
|
|
26
|
-
"bin/dvz.exe",
|
|
27
|
-
"bridge/claude-agent-sdk-bridge.mjs",
|
|
28
|
-
"install-skills.mjs",
|
|
29
|
-
"prepare-search-deps.mjs",
|
|
30
|
-
"skills/luna-loop/",
|
|
31
|
-
"skills/insane-search/",
|
|
32
|
-
"README.md",
|
|
33
|
-
"LICENSE"
|
|
34
|
-
],
|
|
35
|
-
"os": [
|
|
36
|
-
"win32"
|
|
37
|
-
],
|
|
38
|
-
"cpu": [
|
|
39
|
-
"x64"
|
|
40
|
-
],
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=18"
|
|
43
|
-
},
|
|
44
|
-
"scripts": {
|
|
45
|
-
"postinstall": "node install-skills.mjs && node prepare-search-deps.mjs"
|
|
46
|
-
},
|
|
47
|
-
"dependencies": {
|
|
48
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
49
|
-
}
|
|
50
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "devez-vibe",
|
|
3
|
+
"version": "1.10.5",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Stable terminal UI for Codex and Claude Agent SDK",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"codex",
|
|
8
|
+
"cli",
|
|
9
|
+
"tui",
|
|
10
|
+
"terminal",
|
|
11
|
+
"app-server",
|
|
12
|
+
"claude-agent-sdk"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://github.com/MrHoje/Devez-vibe#readme",
|
|
15
|
+
"bugs": "https://github.com/MrHoje/Devez-vibe/issues",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/MrHoje/Devez-vibe.git"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"bin": {
|
|
22
|
+
"dvz": "bin/dvz.js"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"bin/dvz.js",
|
|
26
|
+
"bin/dvz.exe",
|
|
27
|
+
"bridge/claude-agent-sdk-bridge.mjs",
|
|
28
|
+
"install-skills.mjs",
|
|
29
|
+
"prepare-search-deps.mjs",
|
|
30
|
+
"skills/luna-loop/",
|
|
31
|
+
"skills/insane-search/",
|
|
32
|
+
"README.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"os": [
|
|
36
|
+
"win32"
|
|
37
|
+
],
|
|
38
|
+
"cpu": [
|
|
39
|
+
"x64"
|
|
40
|
+
],
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=18"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"postinstall": "node install-skills.mjs && node prepare-search-deps.mjs"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.301"
|
|
49
|
+
}
|
|
50
|
+
}
|