wezard 1.2.23 → 1.2.25
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/cli/wezard.sh +49 -2
- package/dist/cli/sync.js +23 -0
- package/dist/cli/sync.js.map +1 -1
- package/dist/daemon/approval.js +6 -23
- package/dist/daemon/approval.js.map +1 -1
- package/dist/daemon/inbound.js +30 -12
- package/dist/daemon/inbound.js.map +1 -1
- package/dist/daemon/mirror-bridge.js +109 -65
- package/dist/daemon/mirror-bridge.js.map +1 -1
- package/dist/daemon/peers.js +32 -13
- package/dist/daemon/peers.js.map +1 -1
- package/dist/daemon/quota.js +26 -17
- package/dist/daemon/quota.js.map +1 -1
- package/dist/daemon/spawn-tmux.js +31 -7
- package/dist/daemon/spawn-tmux.js.map +1 -1
- package/dist/shared/modal-pane.js +5 -0
- package/dist/shared/modal-pane.js.map +1 -1
- package/hooks/pre-tool-use.sh +1 -1
- package/package.json +1 -1
- package/scripts/install.sh +29 -0
package/cli/wezard.sh
CHANGED
|
@@ -89,6 +89,31 @@ probe() { curl -sS --noproxy '*' --connect-timeout 1 --max-time 1 "$DAEMON_B
|
|
|
89
89
|
wait_up() { for _ in $(seq 1 30); do probe && return 0; sleep 0.3; done; return 1; }
|
|
90
90
|
wait_down() { for _ in $(seq 1 30); do probe || return 0; sleep 0.3; done; return 1; }
|
|
91
91
|
|
|
92
|
+
# Nohup fallback for Linux boxes with no systemd user session (containers, CI,
|
|
93
|
+
# minimal images where D-Bus is unreachable). Detached background node process,
|
|
94
|
+
# pidfile-tracked so svc_unregister can find it again. augmentedPath isn't
|
|
95
|
+
# needed here — the CLI itself already runs with the user's interactive PATH.
|
|
96
|
+
PIDFILE="$HOME_DIR/.wezard/daemon.pid"
|
|
97
|
+
DAEMON_ENTRY="$REPO_ROOT/dist/daemon/index.js"
|
|
98
|
+
nohup_start() {
|
|
99
|
+
[[ -f "$DAEMON_ENTRY" ]] || { echo "[wezard] missing $DAEMON_ENTRY — run 'npm run build'" >&2; return 1; }
|
|
100
|
+
mkdir -p "$HOME_DIR/.wezard"
|
|
101
|
+
nohup "$(command -v node)" "$DAEMON_ENTRY" \
|
|
102
|
+
>> "$HOME_DIR/.wezard/daemon.stdout.log" \
|
|
103
|
+
2>> "$HOME_DIR/.wezard/daemon.stderr.log" &
|
|
104
|
+
echo $! > "$PIDFILE"
|
|
105
|
+
}
|
|
106
|
+
nohup_stop() {
|
|
107
|
+
[[ -f "$PIDFILE" ]] || return 0
|
|
108
|
+
local pid; pid="$(cat "$PIDFILE" 2>/dev/null)"
|
|
109
|
+
[[ -n "$pid" ]] && kill "$pid" 2>/dev/null || true
|
|
110
|
+
rm -f "$PIDFILE"
|
|
111
|
+
}
|
|
112
|
+
# True when a usable systemd --user session is reachable. `systemctl --user`
|
|
113
|
+
# returns "Failed to get D-Bus connection" (exit≠0) in containers; probing it
|
|
114
|
+
# once lets every lifecycle command pick systemd-vs-nohup consistently.
|
|
115
|
+
have_systemd_user() { command -v systemctl >/dev/null 2>&1 && systemctl --user show-environment >/dev/null 2>&1; }
|
|
116
|
+
|
|
92
117
|
# idempotent converge-to-running: kick if already bootstrapped, else bootstrap,
|
|
93
118
|
# else legacy load — then assert it actually bound.
|
|
94
119
|
ensure_up() {
|
|
@@ -97,7 +122,17 @@ ensure_up() {
|
|
|
97
122
|
launchctl kickstart -k "gui/$(id -u)/${LABEL}" 2>/dev/null \
|
|
98
123
|
|| launchctl bootstrap "gui/$(id -u)" "$PLIST" 2>/dev/null \
|
|
99
124
|
|| launchctl load -w "$PLIST" 2>/dev/null || true ;;
|
|
100
|
-
Linux)
|
|
125
|
+
Linux)
|
|
126
|
+
# Prefer systemd when it's actually there; otherwise fall back to a
|
|
127
|
+
# detached node process. reload/restart already ran graceful_stop, but a
|
|
128
|
+
# stale nohup pid may still be around — clear it before relaunching.
|
|
129
|
+
if have_systemd_user; then
|
|
130
|
+
systemctl --user restart wezard.service 2>/dev/null || { echo "[wezard] systemctl --user restart failed" >&2; return 1; }
|
|
131
|
+
else
|
|
132
|
+
echo "[wezard] no systemd user session (container?) — starting daemon via nohup" >&2
|
|
133
|
+
nohup_stop
|
|
134
|
+
nohup_start || return 1
|
|
135
|
+
fi ;;
|
|
101
136
|
esac
|
|
102
137
|
wait_up
|
|
103
138
|
}
|
|
@@ -112,7 +147,9 @@ svc_unregister() {
|
|
|
112
147
|
case "$OS" in
|
|
113
148
|
Darwin) launchctl bootout "gui/$(id -u)/${LABEL}" 2>/dev/null \
|
|
114
149
|
|| launchctl unload "$PLIST" 2>/dev/null || true ;;
|
|
115
|
-
Linux)
|
|
150
|
+
Linux)
|
|
151
|
+
if have_systemd_user; then systemctl --user stop wezard.service 2>/dev/null || true
|
|
152
|
+
else nohup_stop; fi ;;
|
|
116
153
|
esac
|
|
117
154
|
}
|
|
118
155
|
|
|
@@ -163,6 +200,16 @@ case "$cmd" in
|
|
|
163
200
|
logs)
|
|
164
201
|
log_path=$(http_get /status 2>/dev/null | jq -r '.logFile // empty' 2>/dev/null || true)
|
|
165
202
|
log_path="${log_path:-$HOME_DIR/.wezard/daemon.log}"
|
|
203
|
+
# On the nohup fallback path there's no daemon.log — stdout/stderr go to
|
|
204
|
+
# separate files. Prefer whichever actually exists so `logs` isn't empty.
|
|
205
|
+
if [[ ! -f "$log_path" && -f "$HOME_DIR/.wezard/daemon.stderr.log" ]]; then
|
|
206
|
+
log_path="$HOME_DIR/.wezard/daemon.stderr.log"
|
|
207
|
+
fi
|
|
208
|
+
if [[ ! -f "$log_path" ]]; then
|
|
209
|
+
echo "[wezard] daemon has never started — no log file at $log_path" >&2
|
|
210
|
+
echo "[wezard] start it with 'wezard start' (or 'wezard reload')" >&2
|
|
211
|
+
exit 1
|
|
212
|
+
fi
|
|
166
213
|
if [[ "${1:-}" == "-f" ]]; then tail -f "$log_path"; else tail -n 100 "$log_path"; fi
|
|
167
214
|
;;
|
|
168
215
|
config-path) http_get /status | jq -r '.sourcePath // empty' ;;
|
package/dist/cli/sync.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// (e.g. ~/.claude/settings.json so claude-internal wrappers pick them up).
|
|
3
3
|
// Idempotent + reversible via per-target lock manifest in ~/.wezard/sync.lock.json.
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { spawnSync } from "node:child_process";
|
|
5
6
|
import { dirname, resolve as pathResolve } from "node:path";
|
|
6
7
|
import { fileURLToPath } from "node:url";
|
|
7
8
|
import { parse as parseJsonc } from "jsonc-parser";
|
|
@@ -122,6 +123,27 @@ const stripEnv = (settings) => {
|
|
|
122
123
|
for (const k of [...ENV_KEYS, ...LEGACY_ENV_KEYS])
|
|
123
124
|
delete env[k];
|
|
124
125
|
};
|
|
126
|
+
// ── Pre-flight: jq is required by hooks/pre-tool-use.sh ──────────────
|
|
127
|
+
// The hook hard-falls back to a local `ask` when jq is missing, which means
|
|
128
|
+
// approval cards never reach WeCom — silent, confusing failure on fresh
|
|
129
|
+
// installs. Catch it here at registration time with install instructions.
|
|
130
|
+
const requireJq = () => {
|
|
131
|
+
const r = spawnSync("jq", ["--version"], { stdio: "ignore" });
|
|
132
|
+
if (r.status === 0)
|
|
133
|
+
return;
|
|
134
|
+
const install = (() => {
|
|
135
|
+
switch (process.platform) {
|
|
136
|
+
case "darwin": return "brew install jq";
|
|
137
|
+
case "linux": return "sudo apt-get install -y jq # or: sudo yum install -y jq / sudo apk add jq";
|
|
138
|
+
default: return "install jq for your platform";
|
|
139
|
+
}
|
|
140
|
+
})();
|
|
141
|
+
// eslint-disable-next-line no-console
|
|
142
|
+
console.error(`\n[wezard-sync] ERROR: 'jq' is required by the PreToolUse hook but not found on PATH.\n` +
|
|
143
|
+
` Approval cards will NOT be delivered until it is installed.\n` +
|
|
144
|
+
` Install it, then re-run sync:\n ${install}\n`);
|
|
145
|
+
process.exit(1);
|
|
146
|
+
};
|
|
125
147
|
// ── Drivers ───────────────────────────────────────────────────────────
|
|
126
148
|
const targetKey = (path) => expandHome(path);
|
|
127
149
|
// CodeBuddy reads MCP server config from `~/.codebuddy/mcp.json`, NOT from
|
|
@@ -174,6 +196,7 @@ const main = () => {
|
|
|
174
196
|
const remove = argv.includes("--remove") || argv.includes("--uninstall");
|
|
175
197
|
const dryRun = argv.includes("--dry-run");
|
|
176
198
|
const { config: cfg } = loadConfig();
|
|
199
|
+
requireJq();
|
|
177
200
|
const targets = cfg.sync.targets;
|
|
178
201
|
if (targets.length === 0) {
|
|
179
202
|
// eslint-disable-next-line no-console
|
package/dist/cli/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../cli/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../cli/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/approval.js
CHANGED
|
@@ -852,14 +852,15 @@ export const buildAskqDriveActions = (questions, picks) => {
|
|
|
852
852
|
};
|
|
853
853
|
// 「聊聊这个」: 光标钳 0 后落到第 N 行 (自定义文本行), 贴入引导语 — 自由文本
|
|
854
854
|
// 答案本身即语义完整 (hook 若触发, deny+reason 会再覆盖成同款文案)。
|
|
855
|
-
//
|
|
856
|
-
//
|
|
857
|
-
//
|
|
855
|
+
// text 动作里 inject 负责 paste + 首个 Enter (确认自定义文本为本题答案、前进到
|
|
856
|
+
// 提交页)。收尾不再盲发第二个 Enter —— codebuddy CLI 里自定义行必须有实际输入
|
|
857
|
+
// 才能确认, 且要真正落到 "Submit answers" 页再 Enter 才结束; 盲发在光标漂移 /
|
|
858
|
+
// 文本没落下时提交不了, CLI 死等输入 (talk-about-this 卡死根因)。改由 confirm_submit
|
|
859
|
+
// 让 mirror 侧读屏确认已到提交页 → Enter → 确认面板关闭, 失败重试。
|
|
858
860
|
export const buildAskqChatDriveActions = (q) => [
|
|
859
861
|
{ kind: "keys", keys: [...Array(q.options.length + 3).fill("Up"), ...Array(q.options.length).fill("Down")] },
|
|
860
862
|
{ kind: "text", text: "先不回答,我想和你讨论一下这个问题" },
|
|
861
|
-
{ kind: "
|
|
862
|
-
{ kind: "keys", keys: ["Enter"] },
|
|
863
|
+
{ kind: "confirm_submit" },
|
|
863
864
|
];
|
|
864
865
|
export const runMirrorAskqFlow = async ({ log, client, sessionId, chatKey, toolInput, voteTimeoutMs, drive }) => {
|
|
865
866
|
const questions = parseAskqInput(toolInput);
|
|
@@ -993,8 +994,6 @@ export const runMirrorAskqFlow = async ({ log, client, sessionId, chatKey, toolI
|
|
|
993
994
|
// 驱动成功 = 面板已按 WeCom 答案提交, 结果随工具自然落地。清槽放掉后续提问;
|
|
994
995
|
// hook 若迟到, 无槽 → allow → 本地 (即我们驱动的) 答案原样生效, 语义一致。
|
|
995
996
|
mirrorAskqSlots.delete(sessionId);
|
|
996
|
-
// 回执同 hook 流: 答完后 model 进入不可见长 thinking, 先确认答案已落地。
|
|
997
|
-
await note(total === 1 ? "✅ 已回传,Claude 处理中…" : `✅ ${total} 题已回传,Claude 处理中…`);
|
|
998
997
|
};
|
|
999
998
|
const mirrorPlanSlots = new Map();
|
|
1000
999
|
const MIRROR_PLAN_SLOT_TTL_MS = 12 * 3600_000; // 与 approval.longPollSec 对齐
|
|
@@ -1226,22 +1225,6 @@ const handleAskUserQuestion = async ({ cfg, log, client, body, getMirrorTarget,
|
|
|
1226
1225
|
const reason = total === 1
|
|
1227
1226
|
? `User answered ${answers[0]} via WeCom`
|
|
1228
1227
|
: `User answered ${total} questions via WeCom — ${answers.join("; ")}`;
|
|
1229
|
-
// 答完最后一题后 model 进入不可见的长 thinking (隐藏式 thinking 不下发,
|
|
1230
|
-
// WeCom 端全静默,极易被当成"卡住")。推一条回执确认答案已落地。失败不阻断。
|
|
1231
|
-
// 客户端已断开时回执是谎言 (答案送不回去了), 跳过。
|
|
1232
|
-
if (!gone) {
|
|
1233
|
-
try {
|
|
1234
|
-
await client.sendMessage(target, {
|
|
1235
|
-
msgtype: "markdown",
|
|
1236
|
-
markdown: {
|
|
1237
|
-
content: withTagHeader(approver, total === 1 ? "✅ 已回传,Claude 处理中…" : `✅ ${total} 题已回传,Claude 处理中…`),
|
|
1238
|
-
},
|
|
1239
|
-
});
|
|
1240
|
-
}
|
|
1241
|
-
catch (e) {
|
|
1242
|
-
log.warn({ err: e.message }, "askq ack send failed");
|
|
1243
|
-
}
|
|
1244
|
-
}
|
|
1245
1228
|
return { decision: "deny", reason };
|
|
1246
1229
|
};
|
|
1247
1230
|
const decisionToHook = (d) => (d === "deny" ? "deny" : "allow");
|