botmux 2.99.0 → 2.101.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.
Files changed (147) hide show
  1. package/README.en.md +33 -7
  2. package/README.md +33 -7
  3. package/dist/adapters/backend/sandbox.d.ts +33 -4
  4. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  5. package/dist/adapters/backend/sandbox.js +90 -29
  6. package/dist/adapters/backend/sandbox.js.map +1 -1
  7. package/dist/adapters/cli/hermes.d.ts.map +1 -1
  8. package/dist/adapters/cli/hermes.js +6 -0
  9. package/dist/adapters/cli/hermes.js.map +1 -1
  10. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  11. package/dist/adapters/cli/opencode.js +241 -13
  12. package/dist/adapters/cli/opencode.js.map +1 -1
  13. package/dist/adapters/cli/traex.d.ts.map +1 -1
  14. package/dist/adapters/cli/traex.js +8 -6
  15. package/dist/adapters/cli/traex.js.map +1 -1
  16. package/dist/adapters/cli/types.d.ts +10 -3
  17. package/dist/adapters/cli/types.d.ts.map +1 -1
  18. package/dist/bot-registry.d.ts +12 -0
  19. package/dist/bot-registry.d.ts.map +1 -1
  20. package/dist/bot-registry.js +10 -3
  21. package/dist/bot-registry.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +659 -154
  24. package/dist/cli.js.map +1 -1
  25. package/dist/core/cost-calculator.d.ts.map +1 -1
  26. package/dist/core/cost-calculator.js +26 -36
  27. package/dist/core/cost-calculator.js.map +1 -1
  28. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  29. package/dist/core/dashboard-ipc-server.js +37 -2
  30. package/dist/core/dashboard-ipc-server.js.map +1 -1
  31. package/dist/core/session-manager.d.ts +11 -0
  32. package/dist/core/session-manager.d.ts.map +1 -1
  33. package/dist/core/session-manager.js +87 -17
  34. package/dist/core/session-manager.js.map +1 -1
  35. package/dist/core/worker-pool.d.ts.map +1 -1
  36. package/dist/core/worker-pool.js +6 -0
  37. package/dist/core/worker-pool.js.map +1 -1
  38. package/dist/daemon.d.ts +1 -1
  39. package/dist/daemon.d.ts.map +1 -1
  40. package/dist/daemon.js +24 -8
  41. package/dist/daemon.js.map +1 -1
  42. package/dist/dashboard/bot-onboarding.d.ts +6 -0
  43. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  44. package/dist/dashboard/bot-onboarding.js +3 -1
  45. package/dist/dashboard/bot-onboarding.js.map +1 -1
  46. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  47. package/dist/dashboard/web/bot-onboarding.js +24 -3
  48. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  49. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  50. package/dist/dashboard/web/i18n.js +14 -4
  51. package/dist/dashboard/web/i18n.js.map +1 -1
  52. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  53. package/dist/dashboard/web/sessions.js +5 -19
  54. package/dist/dashboard/web/sessions.js.map +1 -1
  55. package/dist/dashboard-web/app.js +40 -33
  56. package/dist/dashboard-web/chunks/{bot-defaults-page-3EV7K6LJ.js → bot-defaults-page-HOGLABBC.js} +1 -1
  57. package/dist/dashboard-web/chunks/{chunk-NASYW5FD.js → chunk-ECXPBQ3J.js} +1 -1
  58. package/dist/dashboard-web/chunks/chunk-MR57RUVP.js +31 -0
  59. package/dist/dashboard-web/chunks/{connectors-XPZKEHF6.js → connectors-UGTF4Q4I.js} +1 -1
  60. package/dist/dashboard-web/chunks/{groups-page-C54PVKYP.js → groups-page-IKTCMQ4A.js} +1 -1
  61. package/dist/dashboard-web/chunks/{insights-page-BBQYR7WY.js → insights-page-7CCSHEKM.js} +1 -1
  62. package/dist/dashboard-web/chunks/{overview-page-5PJCAMID.js → overview-page-JOJW65P5.js} +1 -1
  63. package/dist/dashboard-web/chunks/{roles-page-APUDLPVM.js → roles-page-E2VN2DLV.js} +1 -1
  64. package/dist/dashboard-web/chunks/{schedules-WG2UKHSO.js → schedules-6QIHJIHX.js} +1 -1
  65. package/dist/dashboard-web/chunks/sessions-page-QN2TARF2.js +238 -0
  66. package/dist/dashboard-web/chunks/{settings-page-OSBZNCXL.js → settings-page-WWTXB577.js} +1 -1
  67. package/dist/dashboard-web/chunks/{skills-page-Y3VUAOYG.js → skills-page-2FAUPQ6H.js} +1 -1
  68. package/dist/dashboard-web/chunks/{team-federation-page-CRH3WZPH.js → team-federation-page-PTBQQSFS.js} +1 -1
  69. package/dist/dashboard-web/chunks/{workflows-UB7OPYGI.js → workflows-ZNBB5KFV.js} +1 -1
  70. package/dist/dashboard.js +86 -1
  71. package/dist/dashboard.js.map +1 -1
  72. package/dist/i18n/en.d.ts.map +1 -1
  73. package/dist/i18n/en.js +2 -0
  74. package/dist/i18n/en.js.map +1 -1
  75. package/dist/i18n/zh.d.ts.map +1 -1
  76. package/dist/i18n/zh.js +2 -0
  77. package/dist/i18n/zh.js.map +1 -1
  78. package/dist/im/lark/card-builder.d.ts +2 -2
  79. package/dist/im/lark/card-builder.js +2 -2
  80. package/dist/im/lark/event-dispatcher.d.ts +8 -3
  81. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  82. package/dist/im/lark/event-dispatcher.js +45 -9
  83. package/dist/im/lark/event-dispatcher.js.map +1 -1
  84. package/dist/platform/bind.d.ts.map +1 -1
  85. package/dist/platform/bind.js +36 -15
  86. package/dist/platform/bind.js.map +1 -1
  87. package/dist/platform/binding.d.ts +5 -0
  88. package/dist/platform/binding.d.ts.map +1 -1
  89. package/dist/platform/binding.js +11 -0
  90. package/dist/platform/binding.js.map +1 -1
  91. package/dist/platform/platform-http.d.ts +11 -0
  92. package/dist/platform/platform-http.d.ts.map +1 -0
  93. package/dist/platform/platform-http.js +41 -0
  94. package/dist/platform/platform-http.js.map +1 -0
  95. package/dist/platform/tunnel-client.d.ts +14 -0
  96. package/dist/platform/tunnel-client.d.ts.map +1 -1
  97. package/dist/platform/tunnel-client.js +40 -3
  98. package/dist/platform/tunnel-client.js.map +1 -1
  99. package/dist/services/bot-union-ids-store.d.ts +9 -0
  100. package/dist/services/bot-union-ids-store.d.ts.map +1 -0
  101. package/dist/services/bot-union-ids-store.js +59 -0
  102. package/dist/services/bot-union-ids-store.js.map +1 -0
  103. package/dist/services/coco-transcript.d.ts.map +1 -1
  104. package/dist/services/coco-transcript.js +59 -64
  105. package/dist/services/coco-transcript.js.map +1 -1
  106. package/dist/services/jsonl-cursor.d.ts +12 -0
  107. package/dist/services/jsonl-cursor.d.ts.map +1 -1
  108. package/dist/services/jsonl-cursor.js +63 -4
  109. package/dist/services/jsonl-cursor.js.map +1 -1
  110. package/dist/services/opencode-paths.d.ts +7 -0
  111. package/dist/services/opencode-paths.d.ts.map +1 -0
  112. package/dist/services/opencode-paths.js +18 -0
  113. package/dist/services/opencode-paths.js.map +1 -0
  114. package/dist/services/platform-team-store.d.ts +37 -0
  115. package/dist/services/platform-team-store.d.ts.map +1 -0
  116. package/dist/services/platform-team-store.js +120 -0
  117. package/dist/services/platform-team-store.js.map +1 -0
  118. package/dist/services/team-groups-store.d.ts +14 -1
  119. package/dist/services/team-groups-store.d.ts.map +1 -1
  120. package/dist/services/team-groups-store.js +28 -1
  121. package/dist/services/team-groups-store.js.map +1 -1
  122. package/dist/setup/bot-config-editor.d.ts +6 -0
  123. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  124. package/dist/setup/bot-config-editor.js +18 -15
  125. package/dist/setup/bot-config-editor.js.map +1 -1
  126. package/dist/setup/interactive-select.d.ts +22 -0
  127. package/dist/setup/interactive-select.d.ts.map +1 -1
  128. package/dist/setup/interactive-select.js +101 -7
  129. package/dist/setup/interactive-select.js.map +1 -1
  130. package/dist/setup/open-platform-automation.d.ts +42 -0
  131. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  132. package/dist/setup/open-platform-automation.js +107 -0
  133. package/dist/setup/open-platform-automation.js.map +1 -1
  134. package/dist/setup/setup-args.d.ts +77 -0
  135. package/dist/setup/setup-args.d.ts.map +1 -0
  136. package/dist/setup/setup-args.js +272 -0
  137. package/dist/setup/setup-args.js.map +1 -0
  138. package/dist/types.d.ts +6 -0
  139. package/dist/types.d.ts.map +1 -1
  140. package/dist/worker.js +12 -2
  141. package/dist/worker.js.map +1 -1
  142. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  143. package/dist/workflows/attempt-resume.js +4 -1
  144. package/dist/workflows/attempt-resume.js.map +1 -1
  145. package/package.json +1 -1
  146. package/dist/dashboard-web/chunks/chunk-JXLHRRJD.js +0 -31
  147. package/dist/dashboard-web/chunks/sessions-page-F3U5NFPD.js +0 -238
@@ -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
- if (pty.sendText && pty.sendSpecialKeys) {
34
- pty.sendText(content);
35
- await delay(200);
36
- pty.sendSpecialKeys('Enter');
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
- else {
39
- pty.write(content);
40
- await delay(1000);
41
- pty.write('\r');
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;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,MAAM,UAAU,qBAAqB,CAAC,YAAqB;IACzD,qEAAqE;IACrE,4EAA4E;IAC5E,2BAA2B;IAC3B,MAAM,MAAM,GAAG,YAAY,IAAI,UAAU,CAAC;IAC1C,IAAI,SAA6B,CAAC;IAClC,OAAO;QACL,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,CAAC,mCAAmC,CAAC;QAChD,IAAI,WAAW,KAAa,OAAO,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,SAAS,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;YAChC,uDAAuD;YACvD,+DAA+D;YAC/D,iEAAiE;YACjE,8CAA8C;YAC9C,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,kEAAkE;YAClE,kEAAkE;YAClE,2DAA2D;YAC3D,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0BAA0B,EAAE,IAAI;QAEhC,KAAK,CAAC,UAAU,CAAC,GAAc,EAAE,OAAe;YAC9C,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;gBACxC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjB,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,iBAAiB,EAAE,SAAS,EAAI,kDAAkD;QAClF,YAAY,EAAE,SAAS,EAAS,oFAAoF;QACpH,WAAW,EAAE,kBAAkB;QAC/B,SAAS,EAAE,IAAI,EAAiB,gDAAgD;QAChF,SAAS,EAAE,2BAA2B;QACtC,0CAA0C;QAC1C,mDAAmD;QACnD,WAAW,EAAE;YACX,UAAU,EAAE,yCAAyC;YACrD,MAAM,EAAE,iBAAiB;SAC1B;QACD,WAAW,EAAE,IAAI;QACjB,8EAA8E;QAC9E,qCAAqC;QACrC,YAAY,EAAE;YACZ,2BAA2B;YAC3B,yBAAyB;YACzB,cAAc;YACd,uBAAuB;SACxB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/adapters/cli/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;;;;GAUG;AAEH,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAEpD,SAAS,mBAAmB,CAAC,KAAyB;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,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,aAAa,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3B,0CAA0C;IAC1C,4CAA4C;IAC5C,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,GAAmG,IAAI,CAAC;AACxH,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,SAAS,UAAU;IACjB,IAAI,mBAAmB;QAAE,OAAO,YAAY,CAAC;IAC7C,mBAAmB,GAAG,IAAI,CAAC;IAC3B,oEAAoE;IACpE,uDAAuD;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,YAAY,GAAG,GAAG,CAAC,aAAa,CAAwB,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;6BAE6B;AAC7B,SAAS,MAAM,CAAI,EAA+B;IAChD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,EAAgC,CAAC;IACrC,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;8BAC8B;AAC9B,SAAS,gBAAgB;IACvB,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,EAAgC,CAAC;QACpH,OAAO,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;8CAG8C;AAC9C,SAAS,eAAe,CAAC,QAAgB,EAAE,YAAoB;IAC7D,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,qEAAqE;YACrE,oDAAoD;YACpD,gDAAgD;YAChD,gDAAgD;YAChD,2BAA2B;YAC3B,uCAAuC,CACxC,CAAC,GAAG,CAAC,QAAQ,CAAqC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED;;0DAE0D;AAC1D,SAAS,qCAAqC,CAAC,eAAuB;IACpE,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,6BAA6B;YAC7B,oDAAoD;YACpD,gDAAgD;YAChD,gDAAgD;YAChD,6BAA6B;YAC7B,sCAAsC,CACvC,CAAC,GAAG,CAAC,eAAe,CAAiC,CAAC;QACvD,OAAO,GAAG,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,IAAI,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,OAAO,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,YAAY,CAAgC,CAAC;QAC5H,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAE5E,MAAM,UAAU,qBAAqB,CAAC,YAAqB;IACzD,qEAAqE;IACrE,4EAA4E;IAC5E,2BAA2B;IAC3B,MAAM,MAAM,GAAG,YAAY,IAAI,UAAU,CAAC;IAC1C,IAAI,SAA6B,CAAC;IAClC,OAAO;QACL,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,CAAC,mCAAmC,CAAC;QAChD,IAAI,WAAW,KAAa,OAAO,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5E,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE;YACpE,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,0DAA0D;YAC1D,oCAAoC;YACpC,8DAA8D;YAC9D,MAAM,iBAAiB,GAAG,MAAM;gBAC9B,CAAC,CAAC,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;gBAC7G,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAC5C,CAAC;YACD,kEAAkE;YAClE,kEAAkE;YAClE,2DAA2D;YAC3D,gEAAgE;YAChE,8DAA8D;YAC9D,gDAAgD;YAChD,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0BAA0B,EAAE,IAAI;QAChC,kDAAkD;QAClD,kDAAkD;QAClD,gCAAgC,EAAE,IAAI;QAEtC,kBAAkB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE;YAC5C,MAAM,GAAG,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;YAChH,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,eAAe,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED;;;8BAGsB;QACtB,uBAAuB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE;YACjD,MAAM,GAAG,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;YAChH,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,4CAA4C;gBAC5C,iDAAiD;gBACjD,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,CAAC;YACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;QAED;iEACyD;QACzD,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACpC,wEAAwE;gBACxE,oDAAoD;gBACpD,oCAAoC,CACrC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAA6E,CAAC,IAAI,EAAE,CAAC;YACvH,MAAM,GAAG,GAAuB,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;oBAAE,MAAM;gBAC/B,IAAI,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACjC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACvD,GAAG,CAAC,IAAI,CAAC;oBACP,YAAY,EAAE,CAAC,CAAC,EAAE;oBAClB,GAAG,EAAE,CAAC,CAAC,SAAS;oBAChB,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;oBACrC,cAAc,EAAE,CAAC,CAAC,WAAW;iBAC9B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,GAAc,EAAE,OAAe;YAC9C,2CAA2C;YAC3C,8CAA8C;YAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAE5D,MAAM,YAAY,GAAG,GAAY,EAAE;gBACjC,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,eAAe;wBAAE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;;wBACjD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;oBACxC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACtB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjB,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;YAED,mEAAmE;YACnE,gDAAgD;YAChD,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YAExC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACjD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC,YAAY;wBACvB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;wBACvD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,YAAY,EAAE;oBAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACnD,CAAC;YACD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,UAAU,CAAC,YAAY;oBAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE;oBAC5D,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC,KAAK;oBACf,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;oBACtD,CAAC,CAAC,KAAK,CAAC;YACZ,CAAC,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;QAED,iBAAiB,EAAE,SAAS,EAAI,kDAAkD;QAClF,YAAY,EAAE,SAAS,EAAS,oFAAoF;QACpH,WAAW,EAAE,kBAAkB;QAC/B,SAAS,EAAE,IAAI,EAAiB,gDAAgD;QAChF,SAAS,EAAE,2BAA2B;QACtC,0CAA0C;QAC1C,mDAAmD;QACnD,WAAW,EAAE;YACX,UAAU,EAAE,yCAAyC;YACrD,MAAM,EAAE,iBAAiB;SAC1B;QACD,WAAW,EAAE,IAAI;QACjB,8EAA8E;QAC9E,qCAAqC;QACrC,YAAY,EAAE;YACZ,2BAA2B;YAC3B,yBAAyB;YACzB,cAAc;YACd,uBAAuB;SACxB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"traex.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/traex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AA8IxD,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CA2HpE;AAED,eAAO,MAAM,MAAM,2BAAqB,CAAC"}
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+. It requires --experimental-sqlite at the time of writing
46
- // (2026-06), but the import succeeds even without the flag; the first
47
- // `new DatabaseSync(...)` throws if the runtime didn't opt in. We swallow
48
- // that at query time and degrade gracefully.
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
- // eslint-disable-next-line @typescript-eslint/no-require-imports
51
- sqliteModule = require('node:sqlite');
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":"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"}
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. opencode, gemini's "latest only" mode), or when
91
- * the CLI-native session id can't be resolved (e.g. codex history file
92
- * is missing). The card falls back to a static note in those cases.
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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"}
@@ -137,6 +137,18 @@ export interface BotConfig {
137
137
  * listed here. Only meaningful when `sandbox` is true. Linux-only.
138
138
  */
139
139
  sandboxHidePaths?: string[];
140
+ /**
141
+ * Extra paths to expose read-only inside the sandbox. Useful when a bot should
142
+ * inspect sibling/source repos without being able to write to them. Only
143
+ * meaningful when `sandbox` is true. Linux-only.
144
+ */
145
+ sandboxReadonlyPaths?: string[];
146
+ /**
147
+ * Whether the sandbox keeps network access. Missing/true preserves the existing
148
+ * behavior; false adds bwrap --unshare-net for sessions that can run offline or
149
+ * rely only on already-mounted local inputs.
150
+ */
151
+ sandboxNetwork?: boolean;
140
152
  backendType?: BackendType;
141
153
  /**
142
154
  * Max simultaneously-LIVE sessions for this bot. When the bot's live session
@@ -1 +1 @@
1
- {"version":3,"file":"bot-registry.d.ts","sourceRoot":"","sources":["../src/bot-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-registry.d.ts","sourceRoot":"","sources":["../src/bot-registry.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,13 @@ function normalizeNonNegativeInt(raw) {
40
40
  return undefined;
41
41
  return raw;
42
42
  }
43
+ function normalizeStringList(raw) {
44
+ if (!Array.isArray(raw))
45
+ return [];
46
+ return raw
47
+ .filter((p) => typeof p === 'string' && !!p.trim())
48
+ .map((p) => p.trim());
49
+ }
43
50
  function normalizeSummaryRange(raw) {
44
51
  if (!raw || typeof raw !== 'object' || Array.isArray(raw))
45
52
  return undefined;
@@ -681,9 +688,9 @@ export function parseBotConfigsFromText(jsonText) {
681
688
  : undefined,
682
689
  disableCliBypass: entry.disableCliBypass === true,
683
690
  sandbox: entry.sandbox === true,
684
- sandboxHidePaths: Array.isArray(entry.sandboxHidePaths)
685
- ? entry.sandboxHidePaths.filter((p) => typeof p === 'string' && !!p.trim())
686
- : [],
691
+ sandboxHidePaths: normalizeStringList(entry.sandboxHidePaths),
692
+ sandboxReadonlyPaths: normalizeStringList(entry.sandboxReadonlyPaths),
693
+ sandboxNetwork: typeof entry.sandboxNetwork === 'boolean' ? entry.sandboxNetwork : undefined,
687
694
  backendType: entry.backendType,
688
695
  // Positive integer only; ≤0 / non-int / absent → undefined (= no cap).
689
696
  maxLiveWorkers: typeof entry.maxLiveWorkers === 'number'