devez-vibe 1.7.62 → 1.7.64
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 +21 -2
- package/package.json +1 -1
package/bin/dvz.exe
CHANGED
|
Binary file
|
|
@@ -122,6 +122,9 @@ function sanitizedEnvironment() {
|
|
|
122
122
|
delete env.ANTHROPIC_API_KEY;
|
|
123
123
|
delete env.ANTHROPIC_AUTH_TOKEN;
|
|
124
124
|
env.CLAUDE_AGENT_SDK_CLIENT_APP = `dvz/${VERSION}`;
|
|
125
|
+
// Claude Code leaves the Artifact tool off for SDK hosts unless asked; the
|
|
126
|
+
// account flag and admin policy still decide whether it actually appears.
|
|
127
|
+
env.CLAUDE_CODE_ARTIFACT ??= "1";
|
|
125
128
|
return env;
|
|
126
129
|
}
|
|
127
130
|
|
|
@@ -2486,6 +2489,14 @@ function processUser(session, message) {
|
|
|
2486
2489
|
finishSubagentTask(session, firstLine(pending.input?.task_id || "", 80));
|
|
2487
2490
|
}
|
|
2488
2491
|
if (!pending) continue;
|
|
2492
|
+
if (pending.name === "Artifact" && typeof message.tool_use_result?.url === "string") {
|
|
2493
|
+
notify("turn/artifact/published", {
|
|
2494
|
+
threadId: session.id,
|
|
2495
|
+
url: message.tool_use_result.url,
|
|
2496
|
+
title: String(message.tool_use_result.title || ""),
|
|
2497
|
+
path: String(message.tool_use_result.path || pending.input?.file_path || ""),
|
|
2498
|
+
});
|
|
2499
|
+
}
|
|
2489
2500
|
pending.toolUseId = block.tool_use_id;
|
|
2490
2501
|
if (pending.suppressed) {
|
|
2491
2502
|
updatePlanFromToolResult(session, pending, message);
|
|
@@ -2713,10 +2724,11 @@ function stripHandoff(text) {
|
|
|
2713
2724
|
async function inputContent(input, handoffContext) {
|
|
2714
2725
|
const content = [];
|
|
2715
2726
|
const explicitSkills = [];
|
|
2727
|
+
let userCommand;
|
|
2716
2728
|
for (const item of Array.isArray(input) ? input : []) {
|
|
2717
2729
|
if (item.type === "text") content.push({ type: "text", text: item.text || "" });
|
|
2718
2730
|
else if (item.type === "skill" && item.name && CLAUDE_USER_ONLY_COMMANDS.has(String(item.name))) {
|
|
2719
|
-
|
|
2731
|
+
userCommand ??= String(item.name);
|
|
2720
2732
|
}
|
|
2721
2733
|
else if (item.type === "skill" && item.name) explicitSkills.push(String(item.name));
|
|
2722
2734
|
else if (item.type === "localImage" && item.path) {
|
|
@@ -2740,7 +2752,14 @@ async function inputContent(input, handoffContext) {
|
|
|
2740
2752
|
].join("\n"),
|
|
2741
2753
|
});
|
|
2742
2754
|
}
|
|
2743
|
-
|
|
2755
|
+
const result = prependHandoff(content.length ? content : [{ type: "text", text: "" }], handoffContext);
|
|
2756
|
+
if (userCommand) {
|
|
2757
|
+
// Claude Code reads the command from the very start of the message text, so
|
|
2758
|
+
// it goes ahead of the handoff block and whatever else the user typed.
|
|
2759
|
+
const first = result.find((item) => item.type === "text");
|
|
2760
|
+
first.text = `/${userCommand}\n\n${first.text}`;
|
|
2761
|
+
}
|
|
2762
|
+
return result;
|
|
2744
2763
|
}
|
|
2745
2764
|
|
|
2746
2765
|
async function startPrompt(params) {
|