botmux 2.66.1 → 2.66.2-canary.0
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/dist/adapters/cli/traex.js +3 -3
- package/dist/adapters/cli/traex.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +121 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts +10 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +50 -2
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +2 -0
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +91 -1
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/idle-worker-sweeper.d.ts.map +1 -1
- package/dist/core/idle-worker-sweeper.js +2 -1
- package/dist/core/idle-worker-sweeper.js.map +1 -1
- package/dist/core/inherit-peer.d.ts.map +1 -1
- package/dist/core/inherit-peer.js +23 -3
- package/dist/core/inherit-peer.js.map +1 -1
- package/dist/core/persistent-backend.d.ts +18 -0
- package/dist/core/persistent-backend.d.ts.map +1 -0
- package/dist/core/persistent-backend.js +64 -0
- package/dist/core/persistent-backend.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +1 -33
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/worker-pool.d.ts +27 -2
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +97 -3
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +24 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +28 -26
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/web/app.js +3 -0
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +6 -0
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +80 -7
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +1 -0
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +6 -0
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard-web/app.js +299 -299
- package/dist/dashboard-web/style.css +82 -0
- package/dist/dashboard.js +25 -1
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +6 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +6 -0
- package/dist/i18n/zh.js.map +1 -1
- package/package.json +1 -1
|
@@ -208,9 +208,9 @@ export function createTraexAdapter(pathOverride) {
|
|
|
208
208
|
return { submitted: false, recheck };
|
|
209
209
|
},
|
|
210
210
|
completionPattern: undefined,
|
|
211
|
-
// TRAE
|
|
212
|
-
//
|
|
213
|
-
readyPattern:
|
|
211
|
+
// TRAE has shipped both the Codex-style `›` prompt and the Claude-style
|
|
212
|
+
// `❯` prompt; v0.200.7 also renders a "Context 100% left" status bar.
|
|
213
|
+
readyPattern: /[›❯]|\d+% left/,
|
|
214
214
|
systemHints: BOTMUX_SHELL_HINTS,
|
|
215
215
|
// TRAE 0.200+ shares Codex's type-ahead behaviour: input submitted while
|
|
216
216
|
// a turn is running is parked and merged into the active turn.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traex.js","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"traex.js","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAkyIA;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,qBAAqB,EAAE,SAAS,CAAC,EAC9F,KAAK,EAAE,MAAM,EACb,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,2BAA2B,EAAE,UAAU,GAAG,IAAI,CAAC,GACzF,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA+F7B"}
|
package/dist/cli.js
CHANGED
|
@@ -2173,6 +2173,121 @@ async function cmdResume() {
|
|
|
2173
2173
|
}
|
|
2174
2174
|
process.exit(1);
|
|
2175
2175
|
}
|
|
2176
|
+
/**
|
|
2177
|
+
* `botmux term-link [session-id|prefix]` — get the writable ("可操作") terminal
|
|
2178
|
+
* for an active session. The link carries a write token, so rather than print it
|
|
2179
|
+
* (where it could land in logs / shell history), the daemon delivers it as a
|
|
2180
|
+
* private card to the bot owner(s): an in-chat visible-to-you ephemeral card,
|
|
2181
|
+
* auto-falling back to a DM in topic / p2p chats. The CLI only ever sees delivery
|
|
2182
|
+
* counts — never the token. The daemon route is loopback-HMAC gated, signed here
|
|
2183
|
+
* with .dashboard-secret (same scheme as `botmux dashboard`).
|
|
2184
|
+
*/
|
|
2185
|
+
async function cmdTermLink(rest) {
|
|
2186
|
+
const target = rest[0];
|
|
2187
|
+
const active = [...loadSessions().values()].filter(s => s.status === 'active');
|
|
2188
|
+
if (active.length === 0) {
|
|
2189
|
+
console.error('没有活跃会话。可操作终端只能对 status=active 的会话获取(botmux list 查看)。');
|
|
2190
|
+
process.exit(1);
|
|
2191
|
+
}
|
|
2192
|
+
let session;
|
|
2193
|
+
if (!target) {
|
|
2194
|
+
if (active.length === 1) {
|
|
2195
|
+
session = active[0];
|
|
2196
|
+
}
|
|
2197
|
+
else {
|
|
2198
|
+
console.error('用法: botmux term-link <session-id|prefix>');
|
|
2199
|
+
console.error(` 当前有 ${active.length} 个活跃会话,请指定其一:`);
|
|
2200
|
+
for (const s of active)
|
|
2201
|
+
console.error(` ${s.sessionId.substring(0, 12)} ${s.title}`);
|
|
2202
|
+
process.exit(1);
|
|
2203
|
+
}
|
|
2204
|
+
}
|
|
2205
|
+
else {
|
|
2206
|
+
const matches = active.filter(s => s.sessionId.startsWith(target));
|
|
2207
|
+
if (matches.length === 0) {
|
|
2208
|
+
console.error(`❌ 未找到匹配 "${target}" 的活跃会话(resume 已关闭的会话后再试)`);
|
|
2209
|
+
process.exit(1);
|
|
2210
|
+
}
|
|
2211
|
+
if (matches.length > 1) {
|
|
2212
|
+
console.error(`❌ "${target}" 匹配了 ${matches.length} 个活跃会话,请提供更长的 ID 前缀:`);
|
|
2213
|
+
for (const s of matches)
|
|
2214
|
+
console.error(` ${s.sessionId.substring(0, 12)} ${s.title}`);
|
|
2215
|
+
process.exit(1);
|
|
2216
|
+
}
|
|
2217
|
+
session = matches[0];
|
|
2218
|
+
}
|
|
2219
|
+
// Multi-bot larkAppId guard (mirror of cmdResume): a legacy session without
|
|
2220
|
+
// larkAppId can't be routed deterministically when >1 daemon is online.
|
|
2221
|
+
if (!session.larkAppId) {
|
|
2222
|
+
const online = listOnlineDaemons();
|
|
2223
|
+
if (online.length > 1) {
|
|
2224
|
+
console.error(`❌ 会话 ${session.sessionId.substring(0, 12)} 缺少 larkAppId,多 bot 部署下无法判定归属。`);
|
|
2225
|
+
console.error(` 在线 daemon (${online.length}): ${online.map(d => d.larkAppId).join(', ')}`);
|
|
2226
|
+
process.exit(1);
|
|
2227
|
+
}
|
|
2228
|
+
if (online.length === 0) {
|
|
2229
|
+
console.error('❌ 没有在线 daemon。请先:botmux start');
|
|
2230
|
+
process.exit(1);
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2233
|
+
const daemon = findDaemon(session.larkAppId);
|
|
2234
|
+
if (!daemon) {
|
|
2235
|
+
console.error('❌ 未找到在线 daemon。请确认 daemon 正在运行:botmux status');
|
|
2236
|
+
process.exit(1);
|
|
2237
|
+
}
|
|
2238
|
+
const SECRET_PATH = join(CONFIG_DIR, '.dashboard-secret');
|
|
2239
|
+
if (!existsSync(SECRET_PATH)) {
|
|
2240
|
+
console.error('❌ 缺少 .dashboard-secret(daemon 未初始化)。先 `botmux restart`。');
|
|
2241
|
+
process.exit(1);
|
|
2242
|
+
}
|
|
2243
|
+
const secret = readFileSync(SECRET_PATH, 'utf8').trim();
|
|
2244
|
+
const ts = Math.floor(Date.now() / 1000).toString();
|
|
2245
|
+
const nonce = randomBytes(8).toString('hex');
|
|
2246
|
+
const sig = createHmac('sha256', secret).update(`${ts}:${nonce}`).digest('base64url');
|
|
2247
|
+
let res;
|
|
2248
|
+
try {
|
|
2249
|
+
res = await fetch(`http://127.0.0.1:${daemon.ipcPort}/api/sessions/${encodeURIComponent(session.sessionId)}/write-link-card`, { method: 'POST', headers: { 'X-Botmux-Cli-Ts': ts, 'X-Botmux-Cli-Nonce': nonce, 'X-Botmux-Cli-Auth': sig } });
|
|
2250
|
+
}
|
|
2251
|
+
catch (err) {
|
|
2252
|
+
console.error(`❌ 无法连接到 daemon (port=${daemon.ipcPort}): ${err?.message ?? err}`);
|
|
2253
|
+
process.exit(1);
|
|
2254
|
+
}
|
|
2255
|
+
let body = {};
|
|
2256
|
+
try {
|
|
2257
|
+
body = await res.json();
|
|
2258
|
+
}
|
|
2259
|
+
catch { /* */ }
|
|
2260
|
+
if (res.ok && body?.ok) {
|
|
2261
|
+
const chans = body.channels ?? [];
|
|
2262
|
+
const eph = chans.filter(c => c === 'ephemeral').length;
|
|
2263
|
+
const dm = chans.filter(c => c === 'dm').length;
|
|
2264
|
+
const via = [eph ? `${eph} 条群内私密卡` : '', dm ? `${dm} 条私聊 DM` : ''].filter(Boolean).join(' + ');
|
|
2265
|
+
console.log(`✅ 可操作终端卡片已私密发给 owner(${body.delivered}/${body.total}${via ? ':' + via : ''})`);
|
|
2266
|
+
console.log(` 会话: ${session.sessionId.substring(0, 12)} ${session.title}`);
|
|
2267
|
+
console.log(' 卡片里「打开终端」即带写 token 进入;链接只走私密通道,不进群、不回显到这里。');
|
|
2268
|
+
return;
|
|
2269
|
+
}
|
|
2270
|
+
const errCode = body?.error ?? `HTTP ${res.status}`;
|
|
2271
|
+
if (errCode === 'unauthorized') {
|
|
2272
|
+
console.error('❌ 鉴权失败(loopback HMAC)。确认 .dashboard-secret 未变、daemon 已用同一份重启。');
|
|
2273
|
+
}
|
|
2274
|
+
else if (errCode === 'session_not_active') {
|
|
2275
|
+
console.error('❌ daemon 中该会话非活跃,无法获取可操作终端。');
|
|
2276
|
+
}
|
|
2277
|
+
else if (errCode === 'terminal_unavailable') {
|
|
2278
|
+
console.error('❌ 该会话终端尚未就绪(worker 未起或缺 token)。等会话起来再试。');
|
|
2279
|
+
}
|
|
2280
|
+
else if (errCode === 'no_owner') {
|
|
2281
|
+
console.error('❌ 该 bot 未配置 owner(allowedUsers 为空 / 全开放模式),没有可私密投递的对象。');
|
|
2282
|
+
}
|
|
2283
|
+
else if (errCode === 'delivery_failed') {
|
|
2284
|
+
console.error('❌ 卡片投递失败(ephemeral 与 DM 均失败)。查看 daemon 日志:botmux logs。');
|
|
2285
|
+
}
|
|
2286
|
+
else {
|
|
2287
|
+
console.error(`❌ 获取失败: ${errCode}`);
|
|
2288
|
+
}
|
|
2289
|
+
process.exit(1);
|
|
2290
|
+
}
|
|
2176
2291
|
function showHelp() {
|
|
2177
2292
|
console.log(`
|
|
2178
2293
|
botmux v${getVersion()} — IM ↔ AI 编程 CLI 桥接
|
|
@@ -2194,6 +2309,9 @@ botmux v${getVersion()} — IM ↔ AI 编程 CLI 桥接
|
|
|
2194
2309
|
delete stopped 清理所有进程已退出的僵尸会话
|
|
2195
2310
|
resume <id> 恢复一个已关闭的会话(支持 ID 前缀匹配)— 会话标记回 active,
|
|
2196
2311
|
下条消息会以 --resume 重新拉起 CLI 进程
|
|
2312
|
+
term-link [id] 获取活跃会话的「可操作终端」(带写 token)。不回显链接,改由
|
|
2313
|
+
daemon 把可操作卡片私密发给 owner(群内仅你可见,话题/单聊回退 DM)。
|
|
2314
|
+
单个活跃会话可省略 id
|
|
2197
2315
|
autostart enable 注册开机自启(macOS launchd / Linux user systemd,无需 sudo)
|
|
2198
2316
|
autostart disable 注销开机自启
|
|
2199
2317
|
autostart status 查看自启状态
|
|
@@ -4904,6 +5022,9 @@ switch (command) {
|
|
|
4904
5022
|
case 'resume':
|
|
4905
5023
|
await cmdResume();
|
|
4906
5024
|
break;
|
|
5025
|
+
case 'term-link':
|
|
5026
|
+
await cmdTermLink(process.argv.slice(3));
|
|
5027
|
+
break;
|
|
4907
5028
|
case 'schedule':
|
|
4908
5029
|
await cmdSchedule(process.argv[3] ?? '', process.argv.slice(4));
|
|
4909
5030
|
break;
|