botmux 2.21.2 → 2.21.3
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/README.en.md +17 -34
- package/README.md +17 -34
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +14 -0
- package/dist/core/command-handler.js.map +1 -1
- package/dist/services/bridge-turn-queue.d.ts +18 -0
- package/dist/services/bridge-turn-queue.d.ts.map +1 -1
- package/dist/services/bridge-turn-queue.js +96 -69
- package/dist/services/bridge-turn-queue.js.map +1 -1
- package/dist/services/claude-transcript.d.ts +27 -0
- package/dist/services/claude-transcript.d.ts.map +1 -1
- package/dist/services/claude-transcript.js +40 -0
- package/dist/services/claude-transcript.js.map +1 -1
- package/dist/worker.js +32 -27
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -166,14 +166,7 @@ Once the bot is sending and receiving messages cleanly, run:
|
|
|
166
166
|
botmux autostart enable
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
-
This registers the daemon with your user's init system (launchd on macOS, user systemd on Linux). **No sudo required.** After a reboot — or after logging back in — the daemon comes up on its own
|
|
170
|
-
|
|
171
|
-
- The command only manages the "starts at boot" hook — it does **not** touch a running daemon.
|
|
172
|
-
- On a headless Linux box where you log out between sessions, also run `sudo loginctl enable-linger <your-user>` so user systemd survives logout. The command warns you if linger is off.
|
|
173
|
-
- To disable autostart: `botmux autostart disable` (also leaves the daemon alone). Check state: `botmux autostart status`.
|
|
174
|
-
- After switching nvm/fnm Node versions, re-run `botmux autostart enable` to refresh the embedded paths — `botmux start`/`restart` also detect path drift and refresh in place.
|
|
175
|
-
|
|
176
|
-
See [CLI Commands § Boot-time Autostart](#boot-time-autostart) below for the full reference.
|
|
169
|
+
This registers the daemon with your user's init system (launchd on macOS, user systemd on Linux). **No sudo required.** After a reboot — or after logging back in — the daemon comes up on its own. See [CLI Commands § Boot-time Autostart](#boot-time-autostart) below for the full reference.
|
|
177
170
|
|
|
178
171
|
---
|
|
179
172
|
|
|
@@ -199,7 +192,7 @@ On mobile/tablet, a floating shortcut toolbar provides Esc, Ctrl+C, Tab, arrow k
|
|
|
199
192
|
|
|
200
193
|
### Multi-Bot Collaboration
|
|
201
194
|
|
|
202
|
-
Run multiple Lark bots on a single machine, each mapped to a different CLI. In the same group chat, messages are routed via @mention — each bot gets its own isolated CLI process. With a single bot in the group, it responds automatically without @.
|
|
195
|
+
Run multiple Lark bots on a single machine, each mapped to a different CLI. In the same group chat, messages are routed via @mention — each bot gets its own isolated CLI process. With a single bot in the group, it responds automatically without @. In a regular (non-topic) group, `@<bot1> @<bot2> /t xxx` spawns one independent thread per mentioned bot anchored at the same message.
|
|
203
196
|
|
|
204
197
|
### Tmux Persistence
|
|
205
198
|
|
|
@@ -208,8 +201,8 @@ When tmux is installed, botmux automatically uses it. CLI processes persist insi
|
|
|
208
201
|
**Key benefit: daemon restarts don't interrupt the CLI.** During `botmux restart`, the worker process exits but the tmux session (and the CLI inside it) keeps running. The next incoming message triggers a re-attach — no `--resume` context reload needed.
|
|
209
202
|
|
|
210
203
|
```bash
|
|
211
|
-
#
|
|
212
|
-
|
|
204
|
+
# Interactive session picker — select and attach to tmux (see § CLI Commands)
|
|
205
|
+
botmux list
|
|
213
206
|
|
|
214
207
|
# Or manually attach (session name = bmx-<first 8 chars of session ID>)
|
|
215
208
|
tmux attach -t bmx-<first-8-chars-of-session-id>
|
|
@@ -219,10 +212,6 @@ tmux attach -t bmx-<first-8-chars-of-session-id>
|
|
|
219
212
|
BACKEND_TYPE=pty botmux start
|
|
220
213
|
```
|
|
221
214
|
|
|
222
|
-
`botmux list` provides an interactive TUI showing all active sessions with ID, title, working directory, PID, uptime, and status. Use arrow keys to select and Enter to attach. Use `botmux list --plain` for plain-text table output suitable for scripting.
|
|
223
|
-
|
|
224
|
-
**Session naming:** `bmx-<first 8 chars of session UUID>`
|
|
225
|
-
|
|
226
215
|
**Lifecycle:**
|
|
227
216
|
|
|
228
217
|
| Event | tmux session | CLI process |
|
|
@@ -291,8 +280,8 @@ OpenCode), with no MCP protocol support required.
|
|
|
291
280
|
|
|
292
281
|
### Workflow
|
|
293
282
|
|
|
294
|
-
1. Send a message in
|
|
295
|
-
2. The bot shows a repo selection card — pick a project or click "Start directly"
|
|
283
|
+
1. Send a message in a Lark topic group to create a new thread; or in a regular group send `/t <prompt>` to force-open a new topic
|
|
284
|
+
2. The bot shows a repo selection card — pick a project or click "Start directly" (chats bound via `/oncall bind` skip this step)
|
|
296
285
|
3. The CLI spawns in the selected directory
|
|
297
286
|
4. A live streaming card appears in the thread, showing real-time terminal output with markdown rendering
|
|
298
287
|
5. Each reply creates a new streaming card for that turn; previous cards freeze at their last state
|
|
@@ -309,20 +298,21 @@ OpenCode), with no MCP protocol support required.
|
|
|
309
298
|
| `/cd <path>` | Change working directory |
|
|
310
299
|
| `/status` | Show session info (uptime, terminal URL, etc.) |
|
|
311
300
|
| `/restart` | Restart CLI process |
|
|
312
|
-
| `/close` | Close session and
|
|
301
|
+
| `/close` | Close session and send a resumable card (with the CLI's native resume command) |
|
|
302
|
+
| `/t <prompt>` / `/topic <prompt>` | Force-open a new topic from a non-topic group (shows the repo selector); empty prompt is allowed — fill it in after picking the repo |
|
|
303
|
+
| `/oncall bind <path>` | Bind current chat to a project dir, skip the repo card (any group member can @ the bot; buttons / daemon commands still gated by `allowedUsers`) |
|
|
304
|
+
| `/oncall unbind` / `/oncall status` | Unbind / inspect oncall binding |
|
|
313
305
|
| `/adopt` | Adopt a running CLI session (tmux) |
|
|
314
306
|
| `/schedule` | Manage scheduled tasks |
|
|
307
|
+
| `/login` / `/login status` | Lark user OAuth (e.g. to download images from third-party cards) / show OAuth status |
|
|
315
308
|
| `/help` | Show available commands |
|
|
316
309
|
| `/compact` `/model` `/clear` `/plugin` `/usage` | Forwarded verbatim to the underlying CLI (e.g. Claude Code's built-in slash commands) |
|
|
317
310
|
|
|
318
311
|
### Scheduled Task Management
|
|
319
312
|
|
|
320
|
-
|
|
321
|
-
Just say "add a reminder to summarize yesterday's PRs every morning at 9:00" — the `botmux-schedule` Skill handles it and confirms with you.
|
|
322
|
-
|
|
323
|
-
**Slash command (quick)**
|
|
313
|
+
Two creation paths are covered above in [Scheduled Tasks](#scheduled-tasks); below is just the slash-command syntax and management commands.
|
|
324
314
|
|
|
325
|
-
```
|
|
315
|
+
```bash
|
|
326
316
|
# Chinese NL
|
|
327
317
|
/schedule 每日17:50 check AI news
|
|
328
318
|
/schedule 工作日每天9:00 run health check
|
|
@@ -332,22 +322,14 @@ Just say "add a reminder to summarize yesterday's PRs every morning at 9:00" —
|
|
|
332
322
|
/schedule 30分钟后 verify deployment
|
|
333
323
|
/schedule 明天9:00 standup reminder
|
|
334
324
|
|
|
335
|
-
# English
|
|
325
|
+
# English / cron
|
|
336
326
|
/schedule every 2h probe services
|
|
337
327
|
/schedule 30m remind me to drink water
|
|
338
|
-
|
|
339
|
-
# Cron
|
|
340
328
|
/schedule 0 9 * * * good morning
|
|
341
|
-
```
|
|
342
329
|
|
|
343
|
-
Manage
|
|
344
|
-
|
|
345
|
-
```
|
|
330
|
+
# Manage
|
|
346
331
|
/schedule list
|
|
347
|
-
/schedule remove <id>
|
|
348
|
-
/schedule enable <id>
|
|
349
|
-
/schedule disable <id>
|
|
350
|
-
/schedule run <id>
|
|
332
|
+
/schedule remove|enable|disable|run <id>
|
|
351
333
|
```
|
|
352
334
|
|
|
353
335
|
**Execution behavior**: the task fires inside the **original thread where it was created** — no new topic per run. Working directory is preserved. If the original session is still alive, the prompt is injected into it; otherwise a fresh worker spawns bound to the same thread root.
|
|
@@ -393,6 +375,7 @@ botmux setup
|
|
|
393
375
|
| `workingDir` | No | Default working directory, supports comma-separated |
|
|
394
376
|
| `allowedUsers` | No | Allowed users (email prefixes or open_ids) |
|
|
395
377
|
| `projectScanDir` | No | Directory to scan for git repos |
|
|
378
|
+
| `oncallChats` | No | Oncall bindings (written by `/oncall bind`), e.g. `[{ "chatId": "oc_xxx", "workingDir": "~/projects/foo" }]`; any group member can @ the bot |
|
|
396
379
|
|
|
397
380
|
**Config priority:** `BOTS_CONFIG` env var > `~/.botmux/bots.json`
|
|
398
381
|
|
package/README.md
CHANGED
|
@@ -84,7 +84,7 @@ botmux 不重新实现 Agent 能力,而是直接桥接已有的 AI 编程 CLI
|
|
|
84
84
|
|
|
85
85
|
### 多机器人协作
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
同一台机器上可运行多个飞书机器人,每个机器人可对应不同的 CLI。同一群聊中通过 @mention 路由消息,仅有一个机器人时无需 @ 自动响应;多机器人时 `@<bot1> @<bot2> /t xxx` 可让每个被 @ 的机器人在同一条消息上各自独立开新话题。
|
|
88
88
|
|
|
89
89
|
### Tmux 会话常驻
|
|
90
90
|
|
|
@@ -99,8 +99,8 @@ botmux 不重新实现 Agent 能力,而是直接桥接已有的 AI 编程 CLI
|
|
|
99
99
|
| CLI 自行退出 / 崩溃 | 随之关闭 | 已退出(自动重启用新 session) |
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
|
-
#
|
|
103
|
-
|
|
102
|
+
# 交互式会话列表 — 选择后直接 attach 到 tmux(见 § CLI 命令)
|
|
103
|
+
botmux list
|
|
104
104
|
|
|
105
105
|
# 也可以手动 attach(会话名 = bmx-<sessionId 前 8 位>)
|
|
106
106
|
tmux attach -t bmx-<session-id-前8位>
|
|
@@ -110,10 +110,6 @@ tmux attach -t bmx-<session-id-前8位>
|
|
|
110
110
|
BACKEND_TYPE=pty botmux start
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
`botmux list` 提供交互式 TUI,显示所有活跃会话的 ID、标题、工作目录、PID、运行时长和状态,方向键选择后回车即可 attach。也支持 `botmux list --plain` 输出纯文本表格供脚本使用。
|
|
114
|
-
|
|
115
|
-
**tmux 会话命名规则:** `bmx-<sessionId 前 8 位>`
|
|
116
|
-
|
|
117
113
|
### 会话接入(Adopt)
|
|
118
114
|
|
|
119
115
|
将已在 tmux 中运行的 CLI 进程无缝接入 Botmux,在手机上通过飞书查看进度和交互。
|
|
@@ -271,14 +267,7 @@ botmux start
|
|
|
271
267
|
botmux autostart enable
|
|
272
268
|
```
|
|
273
269
|
|
|
274
|
-
把 daemon 注册到当前用户的 init 系统(macOS
|
|
275
|
-
|
|
276
|
-
- 这条命令只管"开机时自动起",不会动你**当前**正在跑的 daemon。
|
|
277
|
-
- Linux 服务器登出会话后想让服务继续跑:另跑一次 `sudo loginctl enable-linger <你的用户名>`,命令本身会在 linger 没开时主动提醒。
|
|
278
|
-
- 想关掉自启:`botmux autostart disable`(同样不会停 daemon);查状态:`botmux autostart status`。
|
|
279
|
-
- 切换 nvm/fnm Node 版本后跑一次 `botmux autostart enable` 重写路径即可——`botmux start`/`restart` 也会自动检测路径漂移。
|
|
280
|
-
|
|
281
|
-
详见下方 [CLI 命令 § 开机自启](#开机自启)。
|
|
270
|
+
把 daemon 注册到当前用户的 init 系统(macOS launchd / Linux user systemd),**不需要 sudo**。重启机器自动起来。详见下方 [CLI 命令 § 开机自启](#开机自启)。
|
|
282
271
|
|
|
283
272
|
---
|
|
284
273
|
|
|
@@ -286,8 +275,8 @@ botmux autostart enable
|
|
|
286
275
|
|
|
287
276
|
### 使用流程
|
|
288
277
|
|
|
289
|
-
1.
|
|
290
|
-
2. 机器人弹出仓库选择卡片 —
|
|
278
|
+
1. 在飞书话题群中发送消息创建新话题;或在普通群中发 `/t <prompt>` 主动开新话题
|
|
279
|
+
2. 机器人弹出仓库选择卡片 — 选择项目或点击「直接开启会话」(`/oncall bind` 过的群会跳过此步)
|
|
291
280
|
3. CLI 在所选目录下启动
|
|
292
281
|
4. 话题中出现实时流式卡片,展示终端输出并支持 Markdown 渲染
|
|
293
282
|
5. 每次回复创建新的流式卡片,上一轮卡片冻结在最后状态
|
|
@@ -304,20 +293,21 @@ botmux autostart enable
|
|
|
304
293
|
| `/cd <路径>` | 切换工作目录 |
|
|
305
294
|
| `/status` | 查看会话信息(运行时间、终端地址等) |
|
|
306
295
|
| `/restart` | 重启 CLI 进程 |
|
|
307
|
-
| `/close` |
|
|
296
|
+
| `/close` | 关闭会话并发送可恢复卡片(含 CLI 自身 resume 命令) |
|
|
297
|
+
| `/t <prompt>` / `/topic <prompt>` | 普通群内强制开新话题(弹仓库选择卡片);prompt 留空时也可在选完仓库后再补 |
|
|
298
|
+
| `/oncall bind <path>` | 将当前群绑定到项目目录,跳过仓库选择卡片(群内任何成员可 @ 提问,按钮/命令仍走 `allowedUsers`) |
|
|
299
|
+
| `/oncall unbind` / `/oncall status` | 解绑 / 查看 oncall 绑定 |
|
|
308
300
|
| `/adopt` | 接入已运行的 CLI 会话(tmux) |
|
|
309
301
|
| `/schedule` | 管理定时任务 |
|
|
302
|
+
| `/login` / `/login status` | 飞书用户授权(用于下载第三方卡片图片等)/ 查看授权状态 |
|
|
310
303
|
| `/help` | 显示可用命令 |
|
|
311
304
|
| `/compact` `/model` `/clear` `/plugin` `/usage` | 字面透传给底层 CLI(例如 Claude Code 的内置 slash 命令) |
|
|
312
305
|
|
|
313
306
|
### 定时任务管理
|
|
314
307
|
|
|
315
|
-
|
|
316
|
-
直接说「每天 9:00 帮我生成昨天 PR 汇总」,agent 会用 `botmux-schedule` Skill 处理并跟你确认。
|
|
317
|
-
|
|
318
|
-
**斜杠命令方式(快捷)**
|
|
308
|
+
两种创建方式见上方「[定时任务](#定时任务)」小节,下面只列斜杠命令的语法和管理命令。
|
|
319
309
|
|
|
320
|
-
```
|
|
310
|
+
```bash
|
|
321
311
|
# 中文自然语言
|
|
322
312
|
/schedule 每日17:50 帮我看看AI圈有什么新闻
|
|
323
313
|
/schedule 工作日每天9:00 检查服务状态
|
|
@@ -327,22 +317,14 @@ botmux autostart enable
|
|
|
327
317
|
/schedule 30分钟后 检查部署状态
|
|
328
318
|
/schedule 明天9:00 发早会提醒
|
|
329
319
|
|
|
330
|
-
#
|
|
320
|
+
# 英文 / cron
|
|
331
321
|
/schedule every 2h 巡检服务
|
|
332
322
|
/schedule 30m 提醒我喝水
|
|
333
|
-
|
|
334
|
-
# 标准 cron
|
|
335
323
|
/schedule 0 9 * * * 早安问候
|
|
336
|
-
```
|
|
337
324
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
```
|
|
325
|
+
# 管理任务
|
|
341
326
|
/schedule list
|
|
342
|
-
/schedule remove <id>
|
|
343
|
-
/schedule enable <id>
|
|
344
|
-
/schedule disable <id>
|
|
345
|
-
/schedule run <id>
|
|
327
|
+
/schedule remove|enable|disable|run <id>
|
|
346
328
|
```
|
|
347
329
|
|
|
348
330
|
**任务执行行为**:到点会在**创建任务的原话题**内续一条消息并执行,不会另开 thread。工作目录与创建时一致。如果原话题的会话还活着,prompt 直接注入现有会话(不另起 worker)。
|
|
@@ -464,6 +446,7 @@ botmux setup
|
|
|
464
446
|
| `workingDir` | 否 | 默认工作目录,支持逗号分隔多个目录 |
|
|
465
447
|
| `allowedUsers` | 否 | 允许的用户列表(邮箱前缀或 open_id) |
|
|
466
448
|
| `projectScanDir` | 否 | 扫描 Git 仓库的目录 |
|
|
449
|
+
| `oncallChats` | 否 | oncall 绑定(`/oncall bind` 写入),形如 `[{ "chatId": "oc_xxx", "workingDir": "~/projects/foo" }]`,群内任何成员可 @ 提问 |
|
|
467
450
|
|
|
468
451
|
**配置优先级:** `BOTS_CONFIG` 环境变量 → `~/.botmux/bots.json`
|
|
469
452
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/G,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,eAAe,aAA2H,CAAC;AAExJ;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAiE,CAAC;AAInG,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAanH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKpF;AAED;;;;mCAImC;AACnC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAqB1F;AAiBD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,gCAAgC,EAAE,WAAW,EAAE,CAAC,CAAC;CACnF;AAqHD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/G,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,eAAe,aAA2H,CAAC;AAExJ;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAAiE,CAAC;AAInG,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAanH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKpF;AAED;;;;mCAImC;AACnC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAqB1F;AAiBD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,gCAAgC,EAAE,WAAW,EAAE,CAAC,CAAC;CACnF;AAqHD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAqcf;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
|
|
@@ -468,6 +468,20 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
468
468
|
}
|
|
469
469
|
case '/adopt': {
|
|
470
470
|
const adoptArgs = message.content.replace(/^\/adopt\s*/i, '').trim();
|
|
471
|
+
// Refuse re-adopt when the thread is already bridged. Otherwise the
|
|
472
|
+
// user sees the misleading "未发现可接入 CLI 会话" branch whenever the
|
|
473
|
+
// discovery scan happens to return zero (e.g. the original CLI exited
|
|
474
|
+
// mid-bridge, or pane filters mismatch) — they have no idea why their
|
|
475
|
+
// working session was "lost". Force the explicit 断开 → /adopt swap.
|
|
476
|
+
if (ds?.adoptedFrom) {
|
|
477
|
+
const adopted = ds.adoptedFrom;
|
|
478
|
+
const cliName = getCliDisplayName(adopted.cliId ?? 'claude-code');
|
|
479
|
+
const project = adopted.cwd ? (adopted.cwd.split('/').pop() || adopted.cwd) : '';
|
|
480
|
+
const label = project ? `${cliName} · ${project}` : cliName;
|
|
481
|
+
await sessionReply(rootId, `本话题已接入 ${label} (${adopted.tmuxTarget})。\n` +
|
|
482
|
+
'请先点击卡片上的「断开」按钮,再 /adopt 切换 CLI 会话(原 CLI 不受影响)。');
|
|
483
|
+
break;
|
|
484
|
+
}
|
|
471
485
|
// Only show sessions matching this bot's CLI type
|
|
472
486
|
const botCliId = ds ? getBot(ds.larkAppId).config.cliId : undefined;
|
|
473
487
|
const sessions = discoverAdoptableSessions(botCliId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAgB,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAClI,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAqB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAyB,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGzD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAExJ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AASnG,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,YAAY,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED;;;;mCAImC;AACnC,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,wEAAwE;IACxE,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,GAAG,CAAC,EAAiB;IAC5B,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AAC3B,CAAC;AAWD,gFAAgF;AAEhF,KAAK,UAAU,qBAAqB,CAClC,IAAY,EACZ,MAAc,EACd,MAAc,EACd,IAAwB,EACxB,SAAkB;IAElB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,OAAgB,EAAE,EAAE,CACtE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,gCAAgC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,YAAY,CAAC,MAAM,EAAE,yGAAyG,CAAC,CAAC;YACtI,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpG,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5H,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC;YAChD,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,MAAM,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;QACvJ,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;IACT,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO;IACT,CAAC;IAED,kDAAkD;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,UAAU,GAAG,EAAE,EAAE,UAAU,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;QACjJ,qEAAqE;QACrE,gEAAgE;QAChE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,SAAS,GAAsB,EAAE,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9E,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,OAAO,EAAE,iEAAiE;YACpF,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU;YACV,MAAM;YACN,aAAa,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC1D,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,EAAE,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa;YACxD,SAAS;SACV,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,MAAM,YAAY,CAAC,MAAM,EAAE,qBAAqB,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,aAAa,IAAI,CAAC,MAAM,WAAW,UAAU,CAAC,UAAU,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QACtL,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,YAAY,CAAC,MAAM,EAAE,mVAAmV,CAAC,CAAC;AAClX,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,MAAc,EACd,OAAoB,EACpB,IAAwB,EACxB,SAAkB;IAElB,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,OAAgB,EAAE,EAAE,CACtE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC7C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;oBACrC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;oBAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;oBACrD,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;oBACzC,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC/C,kEAAkE;oBAClE,8DAA8D;oBAC9D,iEAAiE;oBACjE,kEAAkE;oBAClE,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;wBAC7B,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;4BAC1E,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC;gCAClC,SAAS,EAAE,eAAe;gCAC1B,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY;6BACtC,CAAC,IAAI,IAAI,CAAC;wBACb,CAAC;wBAAC,MAAM,CAAC;4BAAC,OAAO,IAAI,CAAC;wBAAC,CAAC;oBAC1B,CAAC,CAAC,EAAE,CAAC;oBACL,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;oBAC3C,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAU,CAAC,CAAC,CAAC;oBACtD,MAAM,IAAI,GAAG,sBAAsB,CACjC,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;oBACF,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;oBAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACnC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAoB,CAAC,CAAC;wBACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACrE,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,OAAO,KAAK,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,EAAE,CAAC,CAAC;wBACf,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACrE,MAAM,YAAY,CAAC,MAAM,EAAE,GAAG,OAAO,qBAAqB,CAAC,CAAC;oBAC9D,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,YAAY,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;oBACtE,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBAC3C,MAAM;gBACR,CAAC;gBACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC7C,MAAM;gBACR,CAAC;gBACD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;gBAC7C,UAAU,CAAC,EAAE,CAAC,CAAC;gBACf,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC3B,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;gBACnC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,YAAY,CAAC,MAAM,EAAE,YAAY,YAAY,kBAAkB,CAAC,CAAC;gBACvE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,YAAY,iBAAiB,CAAC,CAAC;gBAClF,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAExD,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,MAAM,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;wBACjD,MAAM;oBACR,CAAC;oBACD,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBAC/C,MAAM,YAAY,CAAC,MAAM,EAAE,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC7D,MAAM;oBACR,CAAC;oBACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBACtC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;oBAClC,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;oBAC1D,EAAE,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC7B,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC;oBACrC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;oBAEvC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACnB,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;wBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;wBAC9B,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC;wBACvB,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;wBACvF,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,CAAC,aAAa,IAAI,EAAE,EACtB,EAAE,CAAC,OAAO,CAAC,SAAS,EACpB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,eAAe,EACtB,EAAE,CAAC,kBAAkB,EACrB,EAAE,CAAC,eAAe,EAClB,MAAM,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAC/C,EAAE,CAAC,gBAAgB,EACnB,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,CACrD,CAAC;wBACF,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC;wBAC7B,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAAC;wBAClC,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;wBAC/B,EAAE,CAAC,gBAAgB,GAAG,SAAS,CAAC;wBAChC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wBACvB,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,EAAE,CAAC,CAAC;wBACf,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAChD,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;wBACxF,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;wBACrB,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;wBACtB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;wBAC1B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,WAAW,EAAE,CAAC,CAAC;oBACvD,CAAC;oBACD,+BAA+B;oBAC/B,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;wBACzB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;wBAClD,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBACnC,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,KAAK,YAAY,EAAE,CAAC,CAAC;oBAC5E,MAAM;gBACR,CAAC;gBAED,iCAAiC;gBACjC,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,YAAY,CAAC,MAAM,EAAE,qDAAqD,CAAC,CAAC;gBACpF,CAAC;gBAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;oBACvG,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACrE,MAAM;gBACR,CAAC;gBACD,IAAI,EAAE;oBAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC9C,MAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBACnE,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAC1E,IAAI,EAAE;oBAAE,EAAE,CAAC,iBAAiB,GAAG,aAAa,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;gBACxE,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBAC9B,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC;oBACvB,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;oBACvF,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,CAAC,aAAa,IAAI,EAAE,EACtB,EAAE,CAAC,OAAO,CAAC,SAAS,EACpB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,eAAe,EACtB,EAAE,CAAC,kBAAkB,EACrB,EAAE,CAAC,eAAe,EAClB,MAAM,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EAC/C,EAAE,CAAC,gBAAgB,EACnB,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,CACrD,CAAC;oBACF,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC;oBAC7B,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAAC;oBAClC,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;oBAC/B,EAAE,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAChC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACvB,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,MAAM,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,GAAG,CAAC,CAAC;oBACtD,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;wBACzB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;wBAClD,EAAE,CAAC,iBAAiB,GAAG,SAAS,CAAC;oBACnC,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;oBACzD,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC3F,MAAM,KAAK,GAAG;wBACZ,YAAY,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE;wBAClC,WAAW,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;wBAClC,aAAa,OAAO,EAAE;wBACtB,QAAQ,oBAAoB,CAAC,EAAE,CAAC,EAAE;wBAClC,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,KAAK,oBAAoB,EAAE,CAAC,CAAC,CAAC,cAAc,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxE,iBAAiB,IAAI,MAAM;wBAC3B,oBAAoB,cAAc,EAAE,EAAE;qBACvC,CAAC;oBACF,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC9F,MAAM,YAAY,CAAC,MAAM,EAAE,yCAAyC,cAAc,EAAE,KAAK,eAAe,MAAM,oBAAoB,EAAE,EAAE,CAAC,CAAC;gBAC1I,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,EAAE,EAAE,MAAO,CAAC;gBAC3B,MAAM,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC3E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC3C,MAAM,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;oBAC7C,MAAM;gBACR,CAAC;gBACD,qBAAqB;gBACrB,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpH,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;oBACnD,MAAM,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBACzC,MAAM;gBACR,CAAC;gBACD,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC9E,MAAM,YAAY,CAAC,MAAM,EAAE;oBACzB,WAAW;oBACX,EAAE;oBACF,gBAAgB;oBAChB,OAAO;oBACP,EAAE;oBACF,2BAA2B;oBAC3B,2BAA2B;oBAC3B,EAAE;oBACF,qBAAqB;oBACrB,oBAAoB;iBACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBAErD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAC7C,MAAM;gBACR,CAAC;gBAED,MAAM,YAAY,GAAG,SAAS,CAAC;gBAC/B,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC;oBACjE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,YAAY,CAAC,MAAM,EAAE,iBAAiB,YAAY,EAAE,CAAC,CAAC;wBAC5D,MAAM;oBACR,CAAC;oBACD,IAAI,EAAE;wBAAE,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC7D,MAAM;gBACR,CAAC;gBAED,sBAAsB;gBACtB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxD,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACpD,MAAM;YACR,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,EAAE,SAAS,CAAC;gBACzC,MAAM,MAAM,GAAG,EAAE,EAAE,MAAM,CAAC;gBAE1B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;oBACvD,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,YAAY,CAAC,MAAM,EAAE;4BACzB,oBAAoB;4BACpB,EAAE;4BACF,KAAK;4BACL,iDAAiD;4BACjD,4CAA4C;4BAC5C,oCAAoC;4BACpC,EAAE;4BACF,yEAAyE;yBAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,MAAM,YAAY,CAAC,MAAM,EAAE;4BACzB,eAAe;4BACf,QAAQ,KAAK,CAAC,UAAU,EAAE;4BAC1B,EAAE;4BACF,wDAAwD;yBACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,YAAY,CAAC,MAAM,EAAE,qEAAqE,CAAC,CAAC;wBAClG,MAAM;oBACR,CAAC;oBACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;wBACnB,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;wBAC7C,MAAM;oBACR,CAAC;oBACD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;oBAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;4BAC1C,MAAM,YAAY,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;wBAC3D,CAAC;6BAAM,CAAC;4BACN,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBACzD,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC5C,MAAM,YAAY,CAAC,MAAM,EAAE;wBACzB,KAAK,IAAI,SAAS;wBAClB,KAAK,MAAM,EAAE;wBACb,QAAQ,MAAM,MAAM,YAAY,EAAE;wBAClC,EAAE;wBACF,oCAAoC;qBACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,MAAM,QAAQ,MAAM,EAAE,CAAC,CAAC;oBAChE,MAAM;gBACR,CAAC;gBAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BAClC,MAAM,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;wBAC/C,CAAC;6BAAM,CAAC;4BACN,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBACzD,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,MAAM,YAAY,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;oBACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;oBACpD,MAAM;gBACR,CAAC;gBAED,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,4DAA4D,CAAC,CAAC;gBACrG,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;gBAC1E,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,IAAI,aAAa,CAAC,CAAC;gBAClE,MAAM,IAAI,GAAG;oBACX,UAAU;oBACV,2BAA2B,OAAO,KAAK;oBACvC,oBAAoB,OAAO,iBAAiB;oBAC5C,2BAA2B,OAAO,KAAK;oBACvC,oCAAoC;oBACpC,0BAA0B;oBAC1B,+BAA+B;oBAC/B,EAAE;oBACF,UAAU,OAAO,yBAAyB;oBAC1C,uCAAuC;oBACvC,EAAE;oBACF,SAAS;oBACT,4CAA4C;oBAC5C,+CAA+C;oBAC/C,2CAA2C;oBAC3C,8CAA8C;oBAC9C,6CAA6C;oBAC7C,EAAE;oBACF,wCAAwC;oBACxC,EAAE;oBACF,UAAU;oBACV,wCAAwC;oBACxC,wCAAwC;oBACxC,EAAE;oBACF,UAAU;oBACV,2CAA2C;oBAC3C,8BAA8B;oBAC9B,EAAE;oBACF,oBAAoB;oBACpB,4CAA4C;oBAC5C,8BAA8B;oBAC9B,yCAAyC;oBACzC,EAAE;oBACF,qBAAqB;iBACtB,CAAC;gBACF,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAwB,EACxB,EAAiB,EACjB,IAAwB,EACxB,SAAkB;IAElB,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,OAAgB,EAAE,EAAE,CACtE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAEtD,iCAAiC;IACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC;IAE1D,oDAAoD;IACpD,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;IAC3B,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,OAAO,EAAE,CAAC;IACvC,EAAE,CAAC,WAAW,GAAG;QACf,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,cAAc,EAAE,MAAM,CAAC,MAAM;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IACF,6EAA6E;IAC7E,EAAE,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEvC,eAAe,CAAC,EAAE,CAAC,CAAC;IAEpB,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,UAAU,OAAO,MAAM,OAAO,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;AACnG,CAAC"}
|
|
1
|
+
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,24 @@ export declare class BridgeTurnQueue {
|
|
|
107
107
|
* between ingest and emit would silently drop the reply, since the
|
|
108
108
|
* global current jsonl path would no longer contain those uuids. */
|
|
109
109
|
ingest(events: TranscriptEvent[], sourceJsonlPath?: string): void;
|
|
110
|
+
/** Shared turn-start handler. Called for both `role:user` and
|
|
111
|
+
* `attachment(queued_command)` events once meaningfulness has been
|
|
112
|
+
* established by the caller. Encapsulates:
|
|
113
|
+
* 1. HOL-block drop of the previous collecting turn when it got no
|
|
114
|
+
* assistant text (Claude moved on).
|
|
115
|
+
* 2. Fingerprint-gated start of the earliest unstarted Lark turn,
|
|
116
|
+
* falling through to local-turn synthesis on mismatch.
|
|
117
|
+
* 3. markTimeMs override to the transcript event's own timestamp —
|
|
118
|
+
* critical for type-ahead, where the original markTimeMs (set when
|
|
119
|
+
* the worker wrote to PTY) can be many seconds earlier than the
|
|
120
|
+
* moment Claude actually dequeues and starts processing the turn.
|
|
121
|
+
* The bridge-fallback gate's [markTimeMs, nextBoundaryMs) window
|
|
122
|
+
* MUST anchor on the latter, otherwise a `botmux send` from the
|
|
123
|
+
* previous turn can leak into the next turn's window and the
|
|
124
|
+
* suppression decision flips to the wrong turn (real reply
|
|
125
|
+
* suppressed, fallback shown — exactly what the type-ahead-disable
|
|
126
|
+
* in commit b2d9791 was protecting against). */
|
|
127
|
+
private handleTurnStart;
|
|
110
128
|
/** Pop FIFO any leading turn that's started AND has assistant text.
|
|
111
129
|
* Returns the popped turns in order; the caller is responsible for
|
|
112
130
|
* rebuilding the text payload from the assistant uuids. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-turn-queue.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"bridge-turn-queue.d.ts","sourceRoot":"","sources":["../../src/services/bridge-turn-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,uBAAuB,EAA0E,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI/J,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;+EAI2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;gEAG4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;2DAIuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;oEAMgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;mBAKe;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;wEAGoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD;;;6CAG6C;AAC7C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,GAAG,SAAS,CAK7E;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAAkC;IAEpD;uEACmE;IACnE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAMvC;;;;;;;8EAO0E;IAC1E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,MAAmB,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAWpH;;2DAEuD;IACvD,YAAY,IAAI,iBAAiB,EAAE;IAMnC;;;;;;;;yEAQqE;IACrE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAgEjE;;;;;;;;;;;;;;;;0DAgBsD;IACtD,OAAO,CAAC,eAAe;IA0DvB;;gEAE4D;IAC5D,cAAc,IAAI,iBAAiB,EAAE;IAYrC,qDAAqD;IACrD,IAAI,IAAI,MAAM;IAId,qDAAqD;IACrD,IAAI,IAAI,SAAS,iBAAiB,EAAE;CAGrC"}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* Baseline (`absorb()`) takes a batch of historical events and registers
|
|
29
29
|
* their uuids as already-seen so future ingest doesn't double-attribute.
|
|
30
30
|
*/
|
|
31
|
-
import {
|
|
31
|
+
import { normaliseForFingerprint, isMeaningfulUserEvent, isMeaningfulQueuedCommand, extractTurnStartText } from './claude-transcript.js';
|
|
32
32
|
// Re-export so existing callers (worker.ts, tests) don't need to change
|
|
33
33
|
// their import path now that these helpers live in claude-transcript.ts.
|
|
34
34
|
export { normaliseForFingerprint };
|
|
@@ -119,74 +119,21 @@ export class BridgeTurnQueue {
|
|
|
119
119
|
// wrong turn.
|
|
120
120
|
if (!isMeaningfulUserEvent(ev))
|
|
121
121
|
continue;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
//
|
|
126
|
-
//
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
//
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
this.collecting = null;
|
|
138
|
-
}
|
|
139
|
-
const next = this.queue.find(t => !t.started);
|
|
140
|
-
let consumedNext = false;
|
|
141
|
-
if (next) {
|
|
142
|
-
// If this turn has a fingerprint, gate on a content match. Both
|
|
143
|
-
// sides are normalised (whitespace-collapsed + trimmed) before
|
|
144
|
-
// the substring check so a transcript line that preserved
|
|
145
|
-
// newlines still matches a fingerprint built from the same text.
|
|
146
|
-
if (next.contentFingerprint) {
|
|
147
|
-
const userText = normaliseForFingerprint(stringifyUserContent(ev.message?.content));
|
|
148
|
-
if (userText.includes(next.contentFingerprint)) {
|
|
149
|
-
next.started = true;
|
|
150
|
-
if (!next.sourceJsonlPath)
|
|
151
|
-
next.sourceJsonlPath = sourceJsonlPath;
|
|
152
|
-
this.collecting = next;
|
|
153
|
-
consumedNext = true;
|
|
154
|
-
}
|
|
155
|
-
// Mismatch falls through to the local-turn branch below.
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
// Legacy mark() with no fingerprint — start on the next user.
|
|
159
|
-
next.started = true;
|
|
160
|
-
if (!next.sourceJsonlPath)
|
|
161
|
-
next.sourceJsonlPath = sourceJsonlPath;
|
|
162
|
-
this.collecting = next;
|
|
163
|
-
consumedNext = true;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
if (!consumedNext) {
|
|
167
|
-
// Local-terminal input. Synthesise a started turn so the
|
|
168
|
-
// assistant text that follows is captured (and pushed to the
|
|
169
|
-
// Lark thread) instead of being silently dropped — that's the
|
|
170
|
-
// /adopt symptom users hit when typing directly in the iterm
|
|
171
|
-
// pane. Insert AHEAD of any still-unstarted Lark turn so
|
|
172
|
-
// chronological order is preserved: this user event landed in
|
|
173
|
-
// the transcript before the next Lark turn's user event will.
|
|
174
|
-
const localTurn = {
|
|
175
|
-
turnId: `local-${uuid}`,
|
|
176
|
-
started: true,
|
|
177
|
-
isLocal: true,
|
|
178
|
-
userUuid: uuid,
|
|
179
|
-
assistantUuids: [],
|
|
180
|
-
sourceJsonlPath,
|
|
181
|
-
markTimeMs: Date.now(),
|
|
182
|
-
};
|
|
183
|
-
const insertAt = this.queue.findIndex(t => !t.started);
|
|
184
|
-
if (insertAt === -1)
|
|
185
|
-
this.queue.push(localTurn);
|
|
186
|
-
else
|
|
187
|
-
this.queue.splice(insertAt, 0, localTurn);
|
|
188
|
-
this.collecting = localTurn;
|
|
189
|
-
}
|
|
122
|
+
this.handleTurnStart(uuid, ev, sourceJsonlPath);
|
|
123
|
+
}
|
|
124
|
+
else if (ev.type === 'attachment' && ev.attachment?.type === 'queued_command') {
|
|
125
|
+
// Type-ahead path: Claude writes `attachment(queued_command)` the
|
|
126
|
+
// moment it dequeues a queued submit, immediately before the
|
|
127
|
+
// assistant text for that turn starts streaming. Equivalent to
|
|
128
|
+
// role:user for turn-start purposes; share the same handler so
|
|
129
|
+
// fingerprint-match / HOL-block-drop / local-turn fallback all
|
|
130
|
+
// apply identically. Without this the bridge attribution queue
|
|
131
|
+
// would skip queued_command events and the type-ahead'd turn's
|
|
132
|
+
// assistant text would either be dropped or attributed to a
|
|
133
|
+
// sibling turn.
|
|
134
|
+
if (!isMeaningfulQueuedCommand(ev))
|
|
135
|
+
continue;
|
|
136
|
+
this.handleTurnStart(uuid, ev, sourceJsonlPath);
|
|
190
137
|
}
|
|
191
138
|
else if (role === 'assistant') {
|
|
192
139
|
if (ev.isSidechain === true)
|
|
@@ -224,6 +171,86 @@ export class BridgeTurnQueue {
|
|
|
224
171
|
}
|
|
225
172
|
}
|
|
226
173
|
}
|
|
174
|
+
/** Shared turn-start handler. Called for both `role:user` and
|
|
175
|
+
* `attachment(queued_command)` events once meaningfulness has been
|
|
176
|
+
* established by the caller. Encapsulates:
|
|
177
|
+
* 1. HOL-block drop of the previous collecting turn when it got no
|
|
178
|
+
* assistant text (Claude moved on).
|
|
179
|
+
* 2. Fingerprint-gated start of the earliest unstarted Lark turn,
|
|
180
|
+
* falling through to local-turn synthesis on mismatch.
|
|
181
|
+
* 3. markTimeMs override to the transcript event's own timestamp —
|
|
182
|
+
* critical for type-ahead, where the original markTimeMs (set when
|
|
183
|
+
* the worker wrote to PTY) can be many seconds earlier than the
|
|
184
|
+
* moment Claude actually dequeues and starts processing the turn.
|
|
185
|
+
* The bridge-fallback gate's [markTimeMs, nextBoundaryMs) window
|
|
186
|
+
* MUST anchor on the latter, otherwise a `botmux send` from the
|
|
187
|
+
* previous turn can leak into the next turn's window and the
|
|
188
|
+
* suppression decision flips to the wrong turn (real reply
|
|
189
|
+
* suppressed, fallback shown — exactly what the type-ahead-disable
|
|
190
|
+
* in commit b2d9791 was protecting against). */
|
|
191
|
+
handleTurnStart(uuid, ev, sourceJsonlPath) {
|
|
192
|
+
// Head-of-line block drop: previous turn never produced any visible
|
|
193
|
+
// assistant text and a new meaningful turn-start has arrived → Claude
|
|
194
|
+
// is single-threaded over the PTY, so the old turn will never get
|
|
195
|
+
// text. Applies to both Lark and local turns.
|
|
196
|
+
if (this.collecting && this.collecting.assistantUuids.length === 0) {
|
|
197
|
+
const idx = this.queue.indexOf(this.collecting);
|
|
198
|
+
if (idx >= 0)
|
|
199
|
+
this.queue.splice(idx, 1);
|
|
200
|
+
this.collecting = null;
|
|
201
|
+
}
|
|
202
|
+
const tsParsed = ev.timestamp ? Date.parse(ev.timestamp) : NaN;
|
|
203
|
+
const eventTimeMs = Number.isFinite(tsParsed) ? tsParsed : Date.now();
|
|
204
|
+
const next = this.queue.find(t => !t.started);
|
|
205
|
+
let consumedNext = false;
|
|
206
|
+
if (next) {
|
|
207
|
+
if (next.contentFingerprint) {
|
|
208
|
+
// Both sides normalised (whitespace-collapsed + trimmed) before
|
|
209
|
+
// the substring check so a transcript line that preserved newlines
|
|
210
|
+
// still matches a fingerprint built from the same text.
|
|
211
|
+
const userText = normaliseForFingerprint(extractTurnStartText(ev));
|
|
212
|
+
if (userText.includes(next.contentFingerprint)) {
|
|
213
|
+
next.started = true;
|
|
214
|
+
if (!next.sourceJsonlPath)
|
|
215
|
+
next.sourceJsonlPath = sourceJsonlPath;
|
|
216
|
+
next.markTimeMs = eventTimeMs;
|
|
217
|
+
this.collecting = next;
|
|
218
|
+
consumedNext = true;
|
|
219
|
+
}
|
|
220
|
+
// Mismatch falls through to local-turn synthesis below.
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// Legacy mark() with no fingerprint — start on the next turn-start.
|
|
224
|
+
next.started = true;
|
|
225
|
+
if (!next.sourceJsonlPath)
|
|
226
|
+
next.sourceJsonlPath = sourceJsonlPath;
|
|
227
|
+
next.markTimeMs = eventTimeMs;
|
|
228
|
+
this.collecting = next;
|
|
229
|
+
consumedNext = true;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (!consumedNext) {
|
|
233
|
+
// Local-terminal input (or a queued_command whose prompt didn't
|
|
234
|
+
// match any pending Lark fingerprint). Synthesise a started turn
|
|
235
|
+
// ahead of any unstarted Lark turn so chronological order matches
|
|
236
|
+
// transcript order at emit time.
|
|
237
|
+
const localTurn = {
|
|
238
|
+
turnId: `local-${uuid}`,
|
|
239
|
+
started: true,
|
|
240
|
+
isLocal: true,
|
|
241
|
+
userUuid: uuid,
|
|
242
|
+
assistantUuids: [],
|
|
243
|
+
sourceJsonlPath,
|
|
244
|
+
markTimeMs: eventTimeMs,
|
|
245
|
+
};
|
|
246
|
+
const insertAt = this.queue.findIndex(t => !t.started);
|
|
247
|
+
if (insertAt === -1)
|
|
248
|
+
this.queue.push(localTurn);
|
|
249
|
+
else
|
|
250
|
+
this.queue.splice(insertAt, 0, localTurn);
|
|
251
|
+
this.collecting = localTurn;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
227
254
|
/** Pop FIFO any leading turn that's started AND has assistant text.
|
|
228
255
|
* Returns the popped turns in order; the caller is responsible for
|
|
229
256
|
* rebuilding the text payload from the assistant uuids. */
|