botmux 2.99.0 → 2.100.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/opencode.d.ts.map +1 -1
- package/dist/adapters/cli/opencode.js +241 -13
- package/dist/adapters/cli/opencode.js.map +1 -1
- package/dist/adapters/cli/traex.d.ts.map +1 -1
- package/dist/adapters/cli/traex.js +8 -6
- package/dist/adapters/cli/traex.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +10 -3
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/im/lark/card-builder.d.ts +2 -2
- package/dist/im/lark/card-builder.js +2 -2
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +11 -0
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/services/opencode-paths.d.ts +7 -0
- package/dist/services/opencode-paths.d.ts.map +1 -0
- package/dist/services/opencode-paths.js +18 -0
- package/dist/services/opencode-paths.js.map +1 -0
- package/dist/worker.js +10 -2
- package/dist/worker.js.map +1 -1
- package/dist/workflows/attempt-resume.d.ts.map +1 -1
- package/dist/workflows/attempt-resume.js +4 -1
- package/dist/workflows/attempt-resume.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AA+I1E,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAsKvE;AAED,eAAO,MAAM,MAAM,8BAAwB,CAAC"}
|
|
@@ -1,6 +1,131 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
1
3
|
import { resolveCommand } from './registry.js';
|
|
2
4
|
import { BOTMUX_SHELL_HINTS } from './shared-hints.js';
|
|
5
|
+
import { opencodeDbPath } from '../../services/opencode-paths.js';
|
|
3
6
|
import { delay } from '../../utils/timing.js';
|
|
7
|
+
/**
|
|
8
|
+
* OpenCode 会话存储:1.17+ 是一个全局 SQLite 库(opencode.db),session 表一行一个
|
|
9
|
+
* 会话(id 形如 `ses_…`,带 directory/title/时间戳),message/part 表存对话内容。
|
|
10
|
+
* TUI 用 `-s/--session <id>` 精确续接既有会话(实测 1.17.11:同目录重启后历史完整
|
|
11
|
+
* 加载、新消息落在同一 session 行;不存在的 id 会立即 exit 1 "Session not found",
|
|
12
|
+
* 所以 checkResumeTargetExists 必须先探测,否则 daemon 自动重启路径会 crash-loop)。
|
|
13
|
+
*
|
|
14
|
+
* 会话 id 的发现走 traex 同款两条路:
|
|
15
|
+
* - writeInput 后到 DB 里验证 user part 是否落库(顺带拿到 session_id 持久化);
|
|
16
|
+
* - 兜底:botmux 每条 prompt 都嵌 `<session_id>` 块,直接在 part 表按文本反查。
|
|
17
|
+
*/
|
|
18
|
+
const OPENCODE_SESSION_ID_RE = /^ses_[0-9A-Za-z]+$/;
|
|
19
|
+
function isOpenCodeSessionId(value) {
|
|
20
|
+
return typeof value === 'string' && OPENCODE_SESSION_ID_RE.test(value);
|
|
21
|
+
}
|
|
22
|
+
function normaliseText(text) {
|
|
23
|
+
return text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
24
|
+
}
|
|
25
|
+
function textMatches(actual, expected) {
|
|
26
|
+
if (actual === expected)
|
|
27
|
+
return true;
|
|
28
|
+
const na = normaliseText(actual);
|
|
29
|
+
const ne = normaliseText(expected);
|
|
30
|
+
if (na === ne)
|
|
31
|
+
return true;
|
|
32
|
+
// 宽容前缀匹配:多行内容在 TUI 里可能被嵌入换行提前提交(只提交了第一段),
|
|
33
|
+
// 或 DB 侧截断。宁可认作已提交,也不误报"未确认"(与旧盲发行为对齐,不回退)。
|
|
34
|
+
if (na.length > 0 && (ne.startsWith(na) || na.startsWith(ne.slice(0, na.length))))
|
|
35
|
+
return true;
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
let sqliteModule = null;
|
|
39
|
+
let sqliteLoadAttempted = false;
|
|
40
|
+
function loadSqlite() {
|
|
41
|
+
if (sqliteLoadAttempted)
|
|
42
|
+
return sqliteModule;
|
|
43
|
+
sqliteLoadAttempted = true;
|
|
44
|
+
// ESM 下没有裸 require(ReferenceError),必须走 createRequire —— traex.ts 曾因
|
|
45
|
+
// 裸 require 被 try/catch 吞掉而在生产 dist 里整条 SQLite 链路静默失效。
|
|
46
|
+
try {
|
|
47
|
+
const req = createRequire(import.meta.url);
|
|
48
|
+
sqliteModule = req('node:sqlite');
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
sqliteModule = null;
|
|
52
|
+
}
|
|
53
|
+
return sqliteModule;
|
|
54
|
+
}
|
|
55
|
+
/** 只读打开 opencode.db 执行一次查询。DB 是 WAL 模式且被活跃 OpenCode 进程持有,
|
|
56
|
+
* read-only 连接可并发读;任何失败(模块缺失/文件不存在/短暂锁忙)都回落 null,
|
|
57
|
+
* 上层按"无法验证"降级,不影响输入投递本身。 */
|
|
58
|
+
function withDb(fn) {
|
|
59
|
+
const mod = loadSqlite();
|
|
60
|
+
if (!mod)
|
|
61
|
+
return null;
|
|
62
|
+
const dbPath = opencodeDbPath();
|
|
63
|
+
if (!existsSync(dbPath))
|
|
64
|
+
return null;
|
|
65
|
+
let db;
|
|
66
|
+
try {
|
|
67
|
+
db = new mod.DatabaseSync(dbPath, { readOnly: true });
|
|
68
|
+
return fn(db);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
try {
|
|
75
|
+
db?.close();
|
|
76
|
+
}
|
|
77
|
+
catch { /* ignore */ }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** 提交验证基线:part 表当前最大 time_created(epoch ms,与 worker 同机同钟)。
|
|
81
|
+
* 之后只认 >= 基线的新行,避免历史消息误配。 */
|
|
82
|
+
function snapPartBaseline() {
|
|
83
|
+
return withDb((db) => {
|
|
84
|
+
const row = db.prepare('SELECT COALESCE(MAX(time_created), 0) AS ts FROM part').get();
|
|
85
|
+
return row?.ts ?? 0;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** 基线之后是否出现文本匹配的 user part;命中则带回其 session_id(= OpenCode 原生
|
|
89
|
+
* 会话 id)。全局 DB 多实例并发写也安全:靠文本相等排除别的会话的行。
|
|
90
|
+
* 严格 `>` 基线:`>=` 会在"用户因疑似丢失而重发同一段文本"时误配上一条的行,
|
|
91
|
+
* 把真丢失误报为已提交;同毫秒漏检的窗口可忽略(新行时间戳必然晚于既有最大值)。 */
|
|
92
|
+
function detectNewSubmit(baseline, expectedText) {
|
|
93
|
+
return withDb((db) => {
|
|
94
|
+
const rows = db.prepare("SELECT p.session_id AS sid, json_extract(p.data, '$.text') AS text " +
|
|
95
|
+
'FROM part p JOIN message m ON m.id = p.message_id ' +
|
|
96
|
+
"WHERE json_extract(m.data, '$.role') = 'user' " +
|
|
97
|
+
" AND json_extract(p.data, '$.type') = 'text' " +
|
|
98
|
+
' AND p.time_created > ? ' +
|
|
99
|
+
'ORDER BY p.time_created DESC LIMIT 20').all(baseline);
|
|
100
|
+
for (const r of rows) {
|
|
101
|
+
if (r.text && textMatches(r.text, expectedText)) {
|
|
102
|
+
return { found: true, cliSessionId: r.sid };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return { found: false };
|
|
106
|
+
}) ?? { found: false };
|
|
107
|
+
}
|
|
108
|
+
/** 兜底反查:botmux 每条 prompt 都带 `<session_id>xxx</session_id>` 块,按该文本在
|
|
109
|
+
* user part 里找最近命中的 OpenCode 会话。用于 cliSessionId 尚未持久化时的 resume
|
|
110
|
+
* (典型:首条消息经 --prompt 注入、没走 writeInput 就被 suspend/重启)。 */
|
|
111
|
+
function latestOpenCodeSessionForBotmuxSession(botmuxSessionId) {
|
|
112
|
+
return withDb((db) => {
|
|
113
|
+
const row = db.prepare('SELECT p.session_id AS sid ' +
|
|
114
|
+
'FROM part p JOIN message m ON m.id = p.message_id ' +
|
|
115
|
+
"WHERE json_extract(m.data, '$.role') = 'user' " +
|
|
116
|
+
" AND json_extract(p.data, '$.type') = 'text' " +
|
|
117
|
+
' AND instr(p.data, ?) > 0 ' +
|
|
118
|
+
'ORDER BY p.time_created DESC LIMIT 1').get(botmuxSessionId);
|
|
119
|
+
return row?.sid;
|
|
120
|
+
}) ?? undefined;
|
|
121
|
+
}
|
|
122
|
+
function sessionRowExists(cliSessionId) {
|
|
123
|
+
return withDb((db) => {
|
|
124
|
+
const row = db.prepare('SELECT 1 AS ok FROM session WHERE id = ? LIMIT 1').get(cliSessionId);
|
|
125
|
+
return !!row?.ok;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
// -------------------------------------------------------------------------
|
|
4
129
|
export function createOpenCodeAdapter(pathOverride) {
|
|
5
130
|
// resolvedBin is lazy: setup constructs adapters only to read static
|
|
6
131
|
// modelChoices and must not shell out (see resolveCommand); the binary path
|
|
@@ -11,35 +136,138 @@ export function createOpenCodeAdapter(pathOverride) {
|
|
|
11
136
|
id: 'opencode',
|
|
12
137
|
authPaths: ['~/.local/share/opencode/auth.json'],
|
|
13
138
|
get resolvedBin() { return (cachedBin ??= resolveCommand(rawBin)); },
|
|
14
|
-
buildArgs({ initialPrompt, model }) {
|
|
15
|
-
// OpenCode manages sessions internally (SQLite store).
|
|
16
|
-
// Resume not supported — always start fresh. --continue exits
|
|
17
|
-
// immediately (code 0) when there is no prior session, causing a
|
|
18
|
-
// crash-loop in the daemon auto-restart path.
|
|
139
|
+
buildArgs({ sessionId, resume, resumeSessionId, initialPrompt, model }) {
|
|
19
140
|
const args = [];
|
|
20
141
|
if (model && model.trim()) {
|
|
21
142
|
args.push('--model', model.trim());
|
|
22
143
|
}
|
|
144
|
+
// Resume:优先用持久化的 cliSessionId,否则按 botmux session id 文本反查。
|
|
145
|
+
// 找不到就退化为全新会话(与旧行为一致)——绝不带无效 id 启动,
|
|
146
|
+
// `opencode -s <不存在的id>` 会立即 exit 1 → daemon 自动重启 crash-loop。
|
|
147
|
+
const openCodeSessionId = resume
|
|
148
|
+
? (isOpenCodeSessionId(resumeSessionId) ? resumeSessionId : latestOpenCodeSessionForBotmuxSession(sessionId))
|
|
149
|
+
: undefined;
|
|
150
|
+
if (openCodeSessionId) {
|
|
151
|
+
args.push('--session', openCodeSessionId);
|
|
152
|
+
}
|
|
23
153
|
// Use --prompt for the initial prompt. OpenCode's Bubble Tea TUI
|
|
24
154
|
// has an async startup phase; writing to stdin during this window
|
|
25
155
|
// may be lost. --prompt injects it once the TUI is ready.
|
|
156
|
+
// 注意:`-s` resume 下 --prompt 会被 OpenCode 忽略(实测 1.17.11),worker 靠
|
|
157
|
+
// initialPromptArgsIgnoredOnResume 在 resume 时把 prompt 改走输入队列,
|
|
158
|
+
// 所以这里 resume 分支收到的 initialPrompt 恒为 undefined。
|
|
26
159
|
if (initialPrompt) {
|
|
27
160
|
args.push('--prompt', initialPrompt);
|
|
28
161
|
}
|
|
29
162
|
return args;
|
|
30
163
|
},
|
|
31
164
|
passesInitialPromptViaArgs: true,
|
|
165
|
+
// OpenCode 只在"新会话"应用 --prompt,`-s` 续接时静默忽略(消息会丢)。
|
|
166
|
+
// 置位后 worker 在 resume spawn 时把初始 prompt 转入常规输入队列。
|
|
167
|
+
initialPromptArgsIgnoredOnResume: true,
|
|
168
|
+
buildResumeCommand({ sessionId, cliSessionId }) {
|
|
169
|
+
const sid = isOpenCodeSessionId(cliSessionId) ? cliSessionId : latestOpenCodeSessionForBotmuxSession(sessionId);
|
|
170
|
+
if (!sid)
|
|
171
|
+
return null;
|
|
172
|
+
return `opencode -s ${sid}`;
|
|
173
|
+
},
|
|
174
|
+
/** Resume 目标预检:id 不在 session 表 → false(worker 落回全新会话并提示),
|
|
175
|
+
* 避免 `Session not found` exit 1 被放大成自动重启 crash-loop。DB 读不了
|
|
176
|
+
* (node:sqlite 缺失 / 首次运行 / sandbox overlay 挡住)→ undefined,交给
|
|
177
|
+
* worker 的二级重启护栏。 */
|
|
178
|
+
checkResumeTargetExists({ sessionId, cliSessionId }) {
|
|
179
|
+
const sid = isOpenCodeSessionId(cliSessionId) ? cliSessionId : latestOpenCodeSessionForBotmuxSession(sessionId);
|
|
180
|
+
if (!sid) {
|
|
181
|
+
// 反查也找不到 → buildArgs 会退化为全新会话,spawn 本身不会失败。
|
|
182
|
+
// 返回 undefined 让 spawn 正常走(fresh),不触发"无法恢复"提示误报。
|
|
183
|
+
return withDb(() => true) === null ? undefined : false;
|
|
184
|
+
}
|
|
185
|
+
const exists = sessionRowExists(sid);
|
|
186
|
+
return exists === null ? undefined : exists;
|
|
187
|
+
},
|
|
188
|
+
/** Import path(/adopt 第二过滤器):从全局 session 表列出可续接的顶层会话
|
|
189
|
+
* (parent_id 非空的是子代理会话,跳过)。title 是 OpenCode 自动生成的摘要。 */
|
|
190
|
+
listResumableSessions({ limit, exclude }) {
|
|
191
|
+
const rows = withDb((db) => db.prepare('SELECT id, directory, title, time_updated AS timeUpdated FROM session ' +
|
|
192
|
+
'WHERE parent_id IS NULL AND time_archived IS NULL ' +
|
|
193
|
+
'ORDER BY time_updated DESC LIMIT ?').all(limit + (exclude?.size ?? 0))) ?? [];
|
|
194
|
+
const out = [];
|
|
195
|
+
for (const r of rows) {
|
|
196
|
+
if (out.length >= limit)
|
|
197
|
+
break;
|
|
198
|
+
if (exclude?.has(r.id))
|
|
199
|
+
continue;
|
|
200
|
+
if (!r.directory || !existsSync(r.directory))
|
|
201
|
+
continue;
|
|
202
|
+
out.push({
|
|
203
|
+
cliSessionId: r.id,
|
|
204
|
+
cwd: r.directory,
|
|
205
|
+
title: (r.title ?? '').trim() || r.id,
|
|
206
|
+
lastActivityAt: r.timeUpdated,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return Promise.resolve(out);
|
|
210
|
+
},
|
|
32
211
|
async writeInput(pty, content) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
212
|
+
// 提交验证基线先于写入采样(traex 同款)。斜杠命令是 TUI 命令面板输入,
|
|
213
|
+
// 不产生 user message 行,跳过验证(重试 Enter 还可能误触面板项)。
|
|
214
|
+
const isSlashCommand = content.startsWith('/');
|
|
215
|
+
const baseline = isSlashCommand ? null : snapPartBaseline();
|
|
216
|
+
const trySendEnter = () => {
|
|
217
|
+
try {
|
|
218
|
+
if (pty.sendSpecialKeys)
|
|
219
|
+
pty.sendSpecialKeys('Enter');
|
|
220
|
+
else
|
|
221
|
+
pty.write('\r');
|
|
222
|
+
return true;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
try {
|
|
229
|
+
if (pty.sendText && pty.sendSpecialKeys) {
|
|
230
|
+
pty.sendText(content);
|
|
231
|
+
await delay(200);
|
|
232
|
+
pty.sendSpecialKeys('Enter');
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
pty.write(content);
|
|
236
|
+
await delay(1000);
|
|
237
|
+
pty.write('\r');
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
catch {
|
|
241
|
+
return { submitted: false };
|
|
242
|
+
}
|
|
243
|
+
// DB-backed submit verification + cliSessionId 捕获。node:sqlite 不可用或
|
|
244
|
+
// DB 缺失(首次运行 / sandbox overlay)→ 维持旧行为:盲发、假定成功。
|
|
245
|
+
if (baseline === null)
|
|
246
|
+
return undefined;
|
|
247
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
248
|
+
const match = detectNewSubmit(baseline, content);
|
|
249
|
+
if (match.found) {
|
|
250
|
+
return match.cliSessionId
|
|
251
|
+
? { submitted: true, cliSessionId: match.cliSessionId }
|
|
252
|
+
: { submitted: true };
|
|
253
|
+
}
|
|
254
|
+
await delay(800);
|
|
255
|
+
if (!trySendEnter())
|
|
256
|
+
return { submitted: false };
|
|
37
257
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
258
|
+
const finalMatch = detectNewSubmit(baseline, content);
|
|
259
|
+
if (finalMatch.found) {
|
|
260
|
+
return finalMatch.cliSessionId
|
|
261
|
+
? { submitted: true, cliSessionId: finalMatch.cliSessionId }
|
|
262
|
+
: { submitted: true };
|
|
42
263
|
}
|
|
264
|
+
const recheck = () => {
|
|
265
|
+
const late = detectNewSubmit(baseline, content);
|
|
266
|
+
return late.found
|
|
267
|
+
? { submitted: true, cliSessionId: late.cliSessionId }
|
|
268
|
+
: false;
|
|
269
|
+
};
|
|
270
|
+
return { submitted: false, recheck };
|
|
43
271
|
},
|
|
44
272
|
completionPattern: undefined, // quiescence only — no explicit completion marker
|
|
45
273
|
readyPattern: undefined, // Bubble Tea TUI — no reliable prompt indicator; rely on quiescence + spinner guard
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traex.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"traex.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AA+IxD,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CA2HpE;AAED,eAAO,MAAM,MAAM,2BAAqB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
2
3
|
import { resolveCommand } from './registry.js';
|
|
3
4
|
import { BOTMUX_SHELL_HINTS } from './shared-hints.js';
|
|
4
5
|
import { traeStateDbPath, traeSessionsRoot } from '../../services/traex-paths.js';
|
|
@@ -42,13 +43,14 @@ function loadSqlite() {
|
|
|
42
43
|
return sqliteModule;
|
|
43
44
|
sqliteLoadAttempted = true;
|
|
44
45
|
// node:sqlite is the built-in experimental SQLite binding available in
|
|
45
|
-
// Node 22+.
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
46
|
+
// Node 22+. The runtime may still reject it (older Node without the
|
|
47
|
+
// feature); we swallow that and degrade gracefully.
|
|
48
|
+
// 必须走 createRequire:本包是 ESM("type":"module"),裸 require 是
|
|
49
|
+
// ReferenceError —— 之前就是被这里的 try/catch 吞掉,导致生产 dist 里
|
|
50
|
+
// SQLite 提交验证/会话反查整条链路静默失效。
|
|
49
51
|
try {
|
|
50
|
-
|
|
51
|
-
sqliteModule =
|
|
52
|
+
const req = createRequire(import.meta.url);
|
|
53
|
+
sqliteModule = req('node:sqlite');
|
|
52
54
|
}
|
|
53
55
|
catch {
|
|
54
56
|
sqliteModule = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traex.js","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AAEH,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,QAAgB;IACnD,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3B,sEAAsE;IACtE,kEAAkE;IAClE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC;AAaD,IAAI,YAAY,GAAoE,IAAI,CAAC;AACzF,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,SAAS,UAAU;IACjB,IAAI,mBAAmB;QAAE,OAAO,YAAY,CAAC;IAC7C,mBAAmB,GAAG,IAAI,CAAC;IAC3B,uEAAuE;IACvE,
|
|
1
|
+
{"version":3,"file":"traex.js","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,15 +81,22 @@ export interface CliAdapter {
|
|
|
81
81
|
/** When true, the adapter passes the initial prompt via CLI args (e.g. -i).
|
|
82
82
|
* The worker skips queuing the prompt for stdin write. */
|
|
83
83
|
readonly passesInitialPromptViaArgs?: boolean;
|
|
84
|
+
/** Only meaningful with passesInitialPromptViaArgs. When true, the CLI
|
|
85
|
+
* silently drops its initial-prompt launch flag on a RESUME spawn (e.g.
|
|
86
|
+
* OpenCode applies `--prompt` to new sessions only and ignores it with
|
|
87
|
+
* `-s <id>`), so the worker routes the initial prompt through the normal
|
|
88
|
+
* input queue instead of baking it into args — otherwise the message that
|
|
89
|
+
* triggered the resume would be lost. */
|
|
90
|
+
readonly initialPromptArgsIgnoredOnResume?: boolean;
|
|
84
91
|
/** Build a shell command string the user can paste into a terminal to
|
|
85
92
|
* resume this CLI session locally — independent of botmux. Used by the
|
|
86
93
|
* "session closed" card so users have an obvious way to keep the
|
|
87
94
|
* conversation outside the bot.
|
|
88
95
|
*
|
|
89
96
|
* Returns `null` when the CLI doesn't support precise per-session resume
|
|
90
|
-
* from CLI args (e.g.
|
|
91
|
-
*
|
|
92
|
-
*
|
|
97
|
+
* from CLI args (e.g. gemini's "latest only" mode), or when the CLI-native
|
|
98
|
+
* session id can't be resolved (e.g. codex history file is missing).
|
|
99
|
+
* The card falls back to a static note in those cases.
|
|
93
100
|
*
|
|
94
101
|
* Implementations should print the *default* binary name (`claude`,
|
|
95
102
|
* `codex`, etc.) rather than `cliPathOverride` — the override is a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,8 +41,8 @@ export declare function buildSessionCard(sessionId: string, rootId: string, term
|
|
|
41
41
|
* `claude --resume <id>`), built by the per-CLI adapter's
|
|
42
42
|
* `buildResumeCommand`. That keeps the conversation portable: users can
|
|
43
43
|
* pick it up locally without going through botmux. CLIs that can't resume
|
|
44
|
-
* a specific session from CLI args (gemini's "latest only"
|
|
45
|
-
*
|
|
44
|
+
* a specific session from CLI args (gemini's "latest only") surface a
|
|
45
|
+
* fallback note instead of a fake command.
|
|
46
46
|
*
|
|
47
47
|
* The "▶️ 恢复会话" button still goes through botmux — it re-enables the
|
|
48
48
|
* Lark bridge so future replies route back into this topic.
|
|
@@ -287,8 +287,8 @@ export function buildSessionCard(sessionId, rootId, terminalUrl, title, cliId, s
|
|
|
287
287
|
* `claude --resume <id>`), built by the per-CLI adapter's
|
|
288
288
|
* `buildResumeCommand`. That keeps the conversation portable: users can
|
|
289
289
|
* pick it up locally without going through botmux. CLIs that can't resume
|
|
290
|
-
* a specific session from CLI args (gemini's "latest only"
|
|
291
|
-
*
|
|
290
|
+
* a specific session from CLI args (gemini's "latest only") surface a
|
|
291
|
+
* fallback note instead of a fake command.
|
|
292
292
|
*
|
|
293
293
|
* The "▶️ 恢复会话" button still goes through botmux — it re-enables the
|
|
294
294
|
* Lark bridge so future replies route back into this topic.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/im/lark/event-dispatcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"event-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/im/lark/event-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1724,9 +1724,20 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
|
|
|
1724
1724
|
// permitted senders. (The shared fold-back's replyRootId is already
|
|
1725
1725
|
// handled by the first clause.)
|
|
1726
1726
|
const mentionMode = resolveGroupMentionMode(larkAppId);
|
|
1727
|
+
// 话题群 owned-topic 免@续话 — single-bot groups only. In a multi-bot
|
|
1728
|
+
// topic every co-resident bot owns a session on the same thread anchor,
|
|
1729
|
+
// so relaxing here would make ALL of them answer a message that
|
|
1730
|
+
// @mentioned only one (or none) of them; botCount > 1 keeps the
|
|
1731
|
+
// "@ required" contract. `stats` is the cached group stats (fetched
|
|
1732
|
+
// above when ownsSession; its 999/999 API-failure fallback also lands
|
|
1733
|
+
// on the safe "require @" side). A message that @mentions another
|
|
1734
|
+
// specific member is a redirect to someone else → back off, mirroring
|
|
1735
|
+
// the ambient carve-out.
|
|
1727
1736
|
const ownedTopicGroupFollowup = !explicitlyMentionedThisBot
|
|
1728
1737
|
&& isAllowed
|
|
1729
1738
|
&& ownsSession
|
|
1739
|
+
&& !!stats && stats.botCount <= 1
|
|
1740
|
+
&& !mentionsAnotherMember(larkAppId, message)
|
|
1730
1741
|
&& routing.scope === 'thread'
|
|
1731
1742
|
&& !!message.thread_id
|
|
1732
1743
|
&& await getChatMode(larkAppId, chatId) === 'topic';
|