botmux 2.63.1 → 2.65.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 (244) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +3 -3
  3. package/dist/adapters/backend/herdr-backend.d.ts +8 -1
  4. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
  5. package/dist/adapters/backend/herdr-backend.js +15 -2
  6. package/dist/adapters/backend/herdr-backend.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts +17 -1
  8. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  9. package/dist/adapters/backend/tmux-backend.js +25 -4
  10. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  11. package/dist/adapters/backend/types.d.ts +14 -0
  12. package/dist/adapters/backend/types.d.ts.map +1 -1
  13. package/dist/adapters/backend/types.js.map +1 -1
  14. package/dist/adapters/backend/zellij-backend.d.ts +12 -1
  15. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  16. package/dist/adapters/backend/zellij-backend.js +25 -8
  17. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  18. package/dist/bot-registry.d.ts +40 -0
  19. package/dist/bot-registry.d.ts.map +1 -1
  20. package/dist/bot-registry.js +30 -0
  21. package/dist/bot-registry.js.map +1 -1
  22. package/dist/cli/send-dispatch.d.ts +23 -0
  23. package/dist/cli/send-dispatch.d.ts.map +1 -0
  24. package/dist/cli/send-dispatch.js +23 -0
  25. package/dist/cli/send-dispatch.js.map +1 -0
  26. package/dist/cli.d.ts.map +1 -1
  27. package/dist/cli.js +141 -58
  28. package/dist/cli.js.map +1 -1
  29. package/dist/config.d.ts +8 -6
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +8 -6
  32. package/dist/config.js.map +1 -1
  33. package/dist/core/ask-broker.d.ts +33 -0
  34. package/dist/core/ask-broker.d.ts.map +1 -1
  35. package/dist/core/ask-broker.js +58 -0
  36. package/dist/core/ask-broker.js.map +1 -1
  37. package/dist/core/ask-hook/claude-code.d.ts.map +1 -1
  38. package/dist/core/ask-hook/claude-code.js +15 -9
  39. package/dist/core/ask-hook/claude-code.js.map +1 -1
  40. package/dist/core/ask-hook/codex.d.ts.map +1 -1
  41. package/dist/core/ask-hook/codex.js +2 -1
  42. package/dist/core/ask-hook/codex.js.map +1 -1
  43. package/dist/core/ask-hook/opencode.d.ts.map +1 -1
  44. package/dist/core/ask-hook/opencode.js +9 -6
  45. package/dist/core/ask-hook/opencode.js.map +1 -1
  46. package/dist/core/ask-hook/types.d.ts +3 -1
  47. package/dist/core/ask-hook/types.d.ts.map +1 -1
  48. package/dist/core/ask-types.d.ts +13 -6
  49. package/dist/core/ask-types.d.ts.map +1 -1
  50. package/dist/core/ask-types.js.map +1 -1
  51. package/dist/core/command-handler.d.ts.map +1 -1
  52. package/dist/core/command-handler.js +255 -4
  53. package/dist/core/command-handler.js.map +1 -1
  54. package/dist/core/daemon-heartbeat.d.ts +15 -0
  55. package/dist/core/daemon-heartbeat.d.ts.map +1 -0
  56. package/dist/core/daemon-heartbeat.js +83 -0
  57. package/dist/core/daemon-heartbeat.js.map +1 -0
  58. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  59. package/dist/core/dashboard-ipc-server.js +80 -33
  60. package/dist/core/dashboard-ipc-server.js.map +1 -1
  61. package/dist/core/dispatch.d.ts +1 -23
  62. package/dist/core/dispatch.d.ts.map +1 -1
  63. package/dist/core/dispatch.js +1 -17
  64. package/dist/core/dispatch.js.map +1 -1
  65. package/dist/core/idle-worker-sweeper.d.ts +13 -0
  66. package/dist/core/idle-worker-sweeper.d.ts.map +1 -0
  67. package/dist/core/idle-worker-sweeper.js +42 -0
  68. package/dist/core/idle-worker-sweeper.js.map +1 -0
  69. package/dist/core/maintenance-schedule.d.ts +34 -0
  70. package/dist/core/maintenance-schedule.d.ts.map +1 -0
  71. package/dist/core/maintenance-schedule.js +72 -0
  72. package/dist/core/maintenance-schedule.js.map +1 -0
  73. package/dist/core/maintenance.d.ts +43 -0
  74. package/dist/core/maintenance.d.ts.map +1 -0
  75. package/dist/core/maintenance.js +160 -0
  76. package/dist/core/maintenance.js.map +1 -0
  77. package/dist/core/reply-target.d.ts +23 -0
  78. package/dist/core/reply-target.d.ts.map +1 -0
  79. package/dist/core/reply-target.js +47 -0
  80. package/dist/core/reply-target.js.map +1 -0
  81. package/dist/core/restart-report.d.ts +49 -0
  82. package/dist/core/restart-report.d.ts.map +1 -0
  83. package/dist/core/restart-report.js +98 -0
  84. package/dist/core/restart-report.js.map +1 -0
  85. package/dist/core/scheduler.d.ts.map +1 -1
  86. package/dist/core/scheduler.js +20 -0
  87. package/dist/core/scheduler.js.map +1 -1
  88. package/dist/core/session-manager.d.ts +26 -10
  89. package/dist/core/session-manager.d.ts.map +1 -1
  90. package/dist/core/session-manager.js +113 -31
  91. package/dist/core/session-manager.js.map +1 -1
  92. package/dist/core/session-marker.d.ts +13 -0
  93. package/dist/core/session-marker.d.ts.map +1 -0
  94. package/dist/core/session-marker.js +55 -0
  95. package/dist/core/session-marker.js.map +1 -0
  96. package/dist/core/types.d.ts +20 -1
  97. package/dist/core/types.d.ts.map +1 -1
  98. package/dist/core/types.js.map +1 -1
  99. package/dist/core/worker-budget.d.ts +19 -0
  100. package/dist/core/worker-budget.d.ts.map +1 -0
  101. package/dist/core/worker-budget.js +50 -0
  102. package/dist/core/worker-budget.js.map +1 -0
  103. package/dist/core/worker-pool.d.ts +5 -2
  104. package/dist/core/worker-pool.d.ts.map +1 -1
  105. package/dist/core/worker-pool.js +105 -12
  106. package/dist/core/worker-pool.js.map +1 -1
  107. package/dist/daemon.d.ts.map +1 -1
  108. package/dist/daemon.js +252 -38
  109. package/dist/daemon.js.map +1 -1
  110. package/dist/dashboard/public-redact.d.ts +2 -1
  111. package/dist/dashboard/public-redact.d.ts.map +1 -1
  112. package/dist/dashboard/public-redact.js +3 -1
  113. package/dist/dashboard/public-redact.js.map +1 -1
  114. package/dist/dashboard/registry.d.ts +2 -0
  115. package/dist/dashboard/registry.d.ts.map +1 -1
  116. package/dist/dashboard/registry.js.map +1 -1
  117. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  118. package/dist/dashboard/web/bot-defaults.js +123 -4
  119. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  120. package/dist/dashboard/web/groups.d.ts.map +1 -1
  121. package/dist/dashboard/web/groups.js +8 -3
  122. package/dist/dashboard/web/groups.js.map +1 -1
  123. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  124. package/dist/dashboard/web/i18n.js +44 -0
  125. package/dist/dashboard/web/i18n.js.map +1 -1
  126. package/dist/dashboard/web/overview.d.ts.map +1 -1
  127. package/dist/dashboard/web/overview.js +6 -4
  128. package/dist/dashboard/web/overview.js.map +1 -1
  129. package/dist/dashboard/web/roles.d.ts.map +1 -1
  130. package/dist/dashboard/web/roles.js +3 -2
  131. package/dist/dashboard/web/roles.js.map +1 -1
  132. package/dist/dashboard/web/sessions.js +2 -2
  133. package/dist/dashboard/web/sessions.js.map +1 -1
  134. package/dist/dashboard/web/settings.d.ts.map +1 -1
  135. package/dist/dashboard/web/settings.js +84 -13
  136. package/dist/dashboard/web/settings.js.map +1 -1
  137. package/dist/dashboard/web/ui.d.ts +33 -0
  138. package/dist/dashboard/web/ui.d.ts.map +1 -1
  139. package/dist/dashboard/web/ui.js +84 -0
  140. package/dist/dashboard/web/ui.js.map +1 -1
  141. package/dist/dashboard-web/app.js +573 -503
  142. package/dist/dashboard-web/style.css +25 -0
  143. package/dist/dashboard.js +88 -8
  144. package/dist/dashboard.js.map +1 -1
  145. package/dist/global-config.d.ts +46 -0
  146. package/dist/global-config.d.ts.map +1 -1
  147. package/dist/global-config.js +115 -0
  148. package/dist/global-config.js.map +1 -1
  149. package/dist/i18n/en.d.ts.map +1 -1
  150. package/dist/i18n/en.js +72 -1
  151. package/dist/i18n/en.js.map +1 -1
  152. package/dist/i18n/zh.d.ts.map +1 -1
  153. package/dist/i18n/zh.js +72 -1
  154. package/dist/i18n/zh.js.map +1 -1
  155. package/dist/im/lark/ask-card.d.ts.map +1 -1
  156. package/dist/im/lark/ask-card.js +15 -1
  157. package/dist/im/lark/ask-card.js.map +1 -1
  158. package/dist/im/lark/card-builder.d.ts +17 -0
  159. package/dist/im/lark/card-builder.d.ts.map +1 -1
  160. package/dist/im/lark/card-builder.js +146 -0
  161. package/dist/im/lark/card-builder.js.map +1 -1
  162. package/dist/im/lark/card-handler.d.ts.map +1 -1
  163. package/dist/im/lark/card-handler.js +119 -4
  164. package/dist/im/lark/card-handler.js.map +1 -1
  165. package/dist/im/lark/client.d.ts +14 -2
  166. package/dist/im/lark/client.d.ts.map +1 -1
  167. package/dist/im/lark/client.js +59 -5
  168. package/dist/im/lark/client.js.map +1 -1
  169. package/dist/im/lark/event-dispatcher.d.ts +7 -17
  170. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  171. package/dist/im/lark/event-dispatcher.js +174 -50
  172. package/dist/im/lark/event-dispatcher.js.map +1 -1
  173. package/dist/im/lark/forwarded-renderer.d.ts.map +1 -1
  174. package/dist/im/lark/forwarded-renderer.js +10 -3
  175. package/dist/im/lark/forwarded-renderer.js.map +1 -1
  176. package/dist/im/lark/merge-forward.d.ts.map +1 -1
  177. package/dist/im/lark/merge-forward.js +33 -8
  178. package/dist/im/lark/merge-forward.js.map +1 -1
  179. package/dist/im/lark/message-parser.d.ts +1 -0
  180. package/dist/im/lark/message-parser.d.ts.map +1 -1
  181. package/dist/im/lark/message-parser.js +1 -0
  182. package/dist/im/lark/message-parser.js.map +1 -1
  183. package/dist/im/lark/reply-mode-command.d.ts +2 -0
  184. package/dist/im/lark/reply-mode-command.d.ts.map +1 -0
  185. package/dist/im/lark/reply-mode-command.js +102 -0
  186. package/dist/im/lark/reply-mode-command.js.map +1 -0
  187. package/dist/services/bot-config-store.d.ts +144 -0
  188. package/dist/services/bot-config-store.d.ts.map +1 -0
  189. package/dist/services/bot-config-store.js +241 -0
  190. package/dist/services/bot-config-store.js.map +1 -0
  191. package/dist/services/card-prefs-store.d.ts +5 -0
  192. package/dist/services/card-prefs-store.d.ts.map +1 -1
  193. package/dist/services/card-prefs-store.js +47 -0
  194. package/dist/services/card-prefs-store.js.map +1 -1
  195. package/dist/services/chat-reply-mode-store.d.ts +28 -0
  196. package/dist/services/chat-reply-mode-store.d.ts.map +1 -0
  197. package/dist/services/chat-reply-mode-store.js +115 -0
  198. package/dist/services/chat-reply-mode-store.js.map +1 -0
  199. package/dist/services/groups-store.d.ts +2 -0
  200. package/dist/services/groups-store.d.ts.map +1 -1
  201. package/dist/services/groups-store.js +1 -0
  202. package/dist/services/groups-store.js.map +1 -1
  203. package/dist/services/hook-runner.d.ts +43 -0
  204. package/dist/services/hook-runner.d.ts.map +1 -0
  205. package/dist/services/hook-runner.js +394 -0
  206. package/dist/services/hook-runner.js.map +1 -0
  207. package/dist/services/observed-bots-store.d.ts.map +1 -1
  208. package/dist/services/observed-bots-store.js +5 -0
  209. package/dist/services/observed-bots-store.js.map +1 -1
  210. package/dist/services/restart-intent-store.d.ts +26 -0
  211. package/dist/services/restart-intent-store.d.ts.map +1 -0
  212. package/dist/services/restart-intent-store.js +84 -0
  213. package/dist/services/restart-intent-store.js.map +1 -0
  214. package/dist/services/session-lifecycle-hooks.d.ts +10 -0
  215. package/dist/services/session-lifecycle-hooks.d.ts.map +1 -0
  216. package/dist/services/session-lifecycle-hooks.js +66 -0
  217. package/dist/services/session-lifecycle-hooks.js.map +1 -0
  218. package/dist/services/session-store.d.ts +6 -0
  219. package/dist/services/session-store.d.ts.map +1 -1
  220. package/dist/services/session-store.js +25 -0
  221. package/dist/services/session-store.js.map +1 -1
  222. package/dist/skills/definitions.d.ts.map +1 -1
  223. package/dist/skills/definitions.js +28 -3
  224. package/dist/skills/definitions.js.map +1 -1
  225. package/dist/types.d.ts +33 -0
  226. package/dist/types.d.ts.map +1 -1
  227. package/dist/utils/install-info.d.ts +13 -0
  228. package/dist/utils/install-info.d.ts.map +1 -0
  229. package/dist/utils/install-info.js +56 -0
  230. package/dist/utils/install-info.js.map +1 -0
  231. package/dist/utils/listen-with-probe.d.ts +26 -0
  232. package/dist/utils/listen-with-probe.d.ts.map +1 -0
  233. package/dist/utils/listen-with-probe.js +64 -0
  234. package/dist/utils/listen-with-probe.js.map +1 -0
  235. package/dist/utils/web-terminal-listen.d.ts +30 -0
  236. package/dist/utils/web-terminal-listen.d.ts.map +1 -0
  237. package/dist/utils/web-terminal-listen.js +81 -0
  238. package/dist/utils/web-terminal-listen.js.map +1 -0
  239. package/dist/worker.js +71 -44
  240. package/dist/worker.js.map +1 -1
  241. package/dist/workflows/definition.d.ts +30 -30
  242. package/dist/workflows/events/payloads.d.ts +4 -4
  243. package/dist/workflows/events/schema.d.ts +156 -156
  244. package/package.json +1 -1
@@ -8,7 +8,7 @@ import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
8
8
  import { join } from 'node:path';
9
9
  import { getBot, getAllBots, findOncallChat, getOwnerOpenId } from '../../bot-registry.js';
10
10
  import { config } from '../../config.js';
11
- import { getChatInfo, getChatMode, replyMessage, sendUserMessage, isHumanOpenId, updateMessage } from './client.js';
11
+ import { getChatInfo, getChatMode, getCachedChatMode, replyMessage, sendUserMessage, isHumanOpenId, updateMessage } from './client.js';
12
12
  import { logger } from '../../utils/logger.js';
13
13
  import { serializeByAnchor } from '../../utils/anchor-serializer.js';
14
14
  import { parseForceTopicInvocation } from '../../core/command-handler.js';
@@ -18,11 +18,13 @@ import { recordObservedBots } from '../../services/observed-bots-store.js';
18
18
  import { BOTMUX_REQUIRED_SCOPES, buildScopeDeepLink } from '../../setup/verify-permissions.js';
19
19
  import { larkHosts, normalizeBrand, sdkDomain } from './lark-hosts.js';
20
20
  import { tryHandleGrantCommand } from './grant-command.js';
21
+ import { tryHandleReplyModeCommand } from './reply-mode-command.js';
21
22
  import { buildGrantCard } from './card-builder.js';
22
23
  import { openPending, isThrottled } from './grant-pending.js';
23
24
  import { localeForBot, t } from '../../i18n/index.js';
24
25
  import { chatQuotaKey, globalQuotaKey } from '../../services/grant-store.js';
25
26
  import { ensureDefaultOncallBound } from '../../services/oncall-store.js';
27
+ import { resolveRegularGroupMode, resolveGroupMentionMode } from '../../services/chat-reply-mode-store.js';
26
28
  // ─── Bot identity ─────────────────────────────────────────────────────────
27
29
  /** Set the bot's open_id. Callers should also call writeBotInfoFile() to persist. */
28
30
  export function setBotOpenId(larkAppId, id) {
@@ -54,6 +56,7 @@ export function writeBotInfoFile(dataDir) {
54
56
  larkAppId: b.config.larkAppId,
55
57
  botOpenId: b.botOpenId ?? null,
56
58
  botName: b.botName ?? null,
59
+ botAvatarUrl: b.botAvatarUrl ?? null,
57
60
  cliId: b.config.cliId,
58
61
  });
59
62
  }
@@ -107,10 +110,13 @@ export async function probeBotOpenId(larkAppId) {
107
110
  }
108
111
  const openId = botData.bot?.open_id;
109
112
  const appName = botData.bot?.app_name;
113
+ const avatarUrl = botData.bot?.avatar_url;
110
114
  if (openId) {
111
115
  bot.botOpenId = openId;
112
116
  if (appName)
113
117
  bot.botName = appName;
118
+ if (avatarUrl)
119
+ bot.botAvatarUrl = avatarUrl;
114
120
  logger.info(`Bot open_id: ${bot.botOpenId}`);
115
121
  }
116
122
  else {
@@ -855,42 +861,71 @@ export function maybeApplyForceTopicOverride(routing, message, messageId) {
855
861
  routing.anchor = messageId;
856
862
  return true;
857
863
  }
858
- /** Compute the scope + anchor for an inbound message:
859
- * - root_id + thread_id → thread-scope, anchor = root_id (real Lark 话题)
860
- * - 话题群 + no real thread → thread-scope, anchor = message_id (thread seed)
861
- * - p2p + no real thread → thread-scope, anchor = message_id (each DM
862
- * top-level message starts a fresh topic; a
863
- * reply inside an existing thread carries
864
- * root_id+thread_id and threads into its session)
865
- * - 普通群 + no real thread → chat-scope, anchor = chat_id (entire group
866
- * is one session)
867
- *
868
- * Why we gate on thread_id (not root_id alone): Lark 客户端的引用气泡 / 快速
869
- * 回复 UI 有时会给"用户视角的顶层消息"塞 root_id 但**不会**塞 thread_id。
870
- * 飞书官方文档:root_id/parent_id "仅在回复消息场景会有返回值";thread_id
871
- * "不返回说明该消息非话题消息"。所以 thread_id 才是"是否真的处于话题里"的
872
- * 权威信号。只看 root_id 会把 quote-bubble 错认为话题回复,把用户从 chat-scope
873
- * 会话里拽走、又起一个孤立的 thread session。
874
- * Exported for unit tests. */
875
- export async function decideRouting(larkAppId, message) {
864
+ async function maybeApplySharedTopicSeed(input) {
865
+ const { larkAppId, chatId, chatType, message, senderOpenId, messageId, routing, forceTopicApplied } = input;
866
+ if (forceTopicApplied)
867
+ return undefined;
868
+ if (chatType !== 'group')
869
+ return undefined;
870
+ if (resolveRegularGroupMode(larkAppId, chatId) !== 'shared')
871
+ return undefined;
872
+ // Seeding a shared topic normally needs an @mention. But under the 'never'
873
+ // mention policy a non-@ message is also answered — and in shared mode it must
874
+ // still OPEN a topic (reply in a thread reusing the chat session), not fall
875
+ // back to a flat top-level reply. So allow non-@ seeding only when never.
876
+ if (!isBotMentioned(larkAppId, message, senderOpenId) && resolveGroupMentionMode(larkAppId) !== 'never')
877
+ return undefined;
878
+ const freshMode = routing.scope === 'thread'
879
+ ? await getChatMode(larkAppId, chatId, { forceRefresh: true })
880
+ : (getCachedChatMode(larkAppId, chatId) ?? 'group');
881
+ if (freshMode !== 'group')
882
+ return undefined;
883
+ routing.scope = 'chat';
884
+ routing.anchor = chatId;
885
+ logger.info(`[reply-mode] shared turn msg=${messageId.substring(0, 12)} routes through chat=${chatId.substring(0, 12)}`);
886
+ return messageId;
887
+ }
888
+ function regularGroupRouting(larkAppId, messageId, chatId) {
889
+ // tri-state: only `new-topic` forks a fresh thread-scope session. `shared`
890
+ // stays chat-scope here (the topic fold happens post-routing, see
891
+ // maybeApplySharedTopicSeed); `chat` is the flat default. resolveRegularGroupMode
892
+ // is the single decision point so new-topic and shared never both fire.
893
+ if (resolveRegularGroupMode(larkAppId, chatId) === 'new-topic') {
894
+ return { scope: 'thread', anchor: messageId, source: 'regular-group-thread' };
895
+ }
896
+ return { scope: 'chat', anchor: chatId, source: 'regular-group-chat' };
897
+ }
898
+ async function decideRoutingWithSource(larkAppId, message) {
876
899
  const rootId = message.root_id;
877
900
  const threadId = message.thread_id;
878
- if (rootId && threadId)
879
- return { scope: 'thread', anchor: rootId };
880
901
  const chatType = message.chat_type ?? 'group';
881
902
  const messageId = message.message_id;
882
903
  const chatId = message.chat_id;
883
- // 私聊:每条 top-level DM 都视为新话题 跟话题群同款,匹配 Lark DM 的话题
884
- // 化默认行为,避免无限把 1:1 对话塞进同一个 CLI 进程里。
904
+ // 私聊 chat 模式:整段 DM 一律折进同一个扁平 chat-scope 会话。必须先于下面的
905
+ // real-thread(root_id+thread_id)分支判断 —— 否则用户在 DM 里"回复某条消息"
906
+ // 形成的 thread 形态消息会被提前分流到 thread-scope,破坏"连续单聊会话"语义
907
+ // (典型触发:thread→chat 模式切换后回复旧 thread,或 Lark 给 DM 回复塞了
908
+ // thread_id)。仅 p2p 且 p2pMode==='chat' 命中,群聊 / p2p 默认 thread 模式不受影响。
909
+ if (chatType === 'p2p' && getBot(larkAppId)?.config?.p2pMode === 'chat') {
910
+ return { scope: 'chat', anchor: chatId, source: 'p2p' };
911
+ }
912
+ if (rootId && threadId)
913
+ return { scope: 'thread', anchor: rootId, source: 'real-thread' };
914
+ // 私聊默认(thread 模式):每条 top-level DM 都视为新话题 — 跟话题群同款,匹配
915
+ // Lark DM 的话题化默认行为,避免无限把 1:1 对话塞进同一个 CLI 进程里。
885
916
  if (chatType === 'p2p') {
886
- return { scope: 'thread', anchor: messageId };
917
+ return { scope: 'thread', anchor: messageId, source: 'p2p' };
887
918
  }
888
919
  // Group chat — fetch chat_mode (cached) to disambiguate 话题群 from 普通群.
889
920
  const mode = await getChatMode(larkAppId, chatId);
890
921
  if (mode === 'topic') {
891
- return { scope: 'thread', anchor: messageId };
922
+ return { scope: 'thread', anchor: messageId, source: 'topic-chat' };
892
923
  }
893
- return { scope: 'chat', anchor: chatId };
924
+ return regularGroupRouting(larkAppId, messageId, chatId);
925
+ }
926
+ export async function decideRouting(larkAppId, message) {
927
+ const { scope, anchor } = await decideRoutingWithSource(larkAppId, message);
928
+ return { scope, anchor };
894
929
  }
895
930
  /**
896
931
  * Create and start the Lark WSClient with event dispatching.
@@ -980,12 +1015,37 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
980
1015
  // Foreign bot: only route on @mention of us.
981
1016
  if (!isBotMentioned(larkAppId, message, undefined))
982
1017
  return;
983
- const ctx = await decideRouting(larkAppId, message);
984
- // Chat-scope foreign-bot @mention without an existing session: gate to
985
- // vetted botmux peers (registered in our bot-openids cross-ref). This
986
- // keeps random Lark bots from silently spawning chat-scope sessions
987
- // in 普通群/p2p, while letting Bot A Bot B handoffs in 普通群 work
988
- // (handleThreadReply auto-create + chat-scope inheritance below).
1018
+ const decision = await decideRoutingWithSource(larkAppId, message);
1019
+ const ctx = { scope: decision.scope, anchor: decision.anchor };
1020
+ // Honor `/t` / `/topic` from bot senders too, aligning with the human
1021
+ // path so an explicit `@bot /t …` handoff seeds a fresh topic instead of
1022
+ // sticking to chat-scope. Applied BEFORE the gate (and the shared-topic
1023
+ // fold) so vetting keys on the FINAL routing: `/t` rewrites ctx to a
1024
+ // brand-new {thread, messageId} anchor. forceTopicApplied also suppresses
1025
+ // the shared-topic fold below — a `/t` seed wins over shared, same
1026
+ // precedence as the human path.
1027
+ const forcedTopic = maybeApplyForceTopicOverride(ctx, message, messageId);
1028
+ if (forcedTopic) {
1029
+ logger.info(`[/t] Force-topic override (bot sender): msg=${messageId.substring(0, 12)} → thread-scope, anchor=msg`);
1030
+ }
1031
+ const replyRootId = await maybeApplySharedTopicSeed({
1032
+ larkAppId, chatId, chatType, message, senderOpenId, messageId, routing: ctx, forceTopicApplied: forcedTopic,
1033
+ });
1034
+ // Regular-group foreign-bot @mention: gate to vetted botmux peers
1035
+ // (registered in our bot-openids cross-ref). Fires for legacy chat-scope
1036
+ // routing, the new-topic send-shape
1037
+ // (decision.source === 'regular-group-thread'), AND a `/t` force-topic
1038
+ // seed (forcedTopic) — so random Lark bots cannot silently spawn sessions
1039
+ // in 普通群, whether this bot replies in threads or a stranger bot @s us
1040
+ // with `/t`. Known Bot A → Bot B handoffs in 普通群 still work.
1041
+ //
1042
+ // ownsSession is read on ctx.anchor AFTER the `/t` override above. That
1043
+ // exemption means "a foreign bot following up into a session we already
1044
+ // own" (e.g. a chat-scope session at chatId). A `/t` rewrites the anchor
1045
+ // to a fresh messageId where we own nothing, so an unvetted bot can NOT
1046
+ // ride the existing chat-scope session's ownership to skip vetting — it
1047
+ // must independently hit isKnownPeerBot / chatGrants / globalGrants (or
1048
+ // this bot's own oncall chat).
989
1049
  //
990
1050
  // 注意 isKnownPeerBot 查的是 cross-ref(bot-openids-<appId>.json),它只
991
1051
  // 收录 bots-info.json 里有名字的 bot,即本机 daemon 自己配置的 bot
@@ -1003,7 +1063,7 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1003
1063
  // 同一存储、同一 per-chat 语义)。命中 chatGrants 的 bot 即便不在 cross-ref,
1004
1064
  // 也与已注册 peer 同等放行——这是「授权外部 bot 在本群协作」的入口。
1005
1065
  // 全局授权(globalGrants)同理:命中即在任意群放行,是上面的全局版。
1006
- if (ctx.scope === 'chat' && !findOncallChat(larkAppId, chatId)) {
1066
+ if ((ctx.scope === 'chat' || decision.source === 'regular-group-thread' || forcedTopic) && !findOncallChat(larkAppId, chatId)) {
1007
1067
  const ownsSession = handlers.isSessionOwner?.(ctx.anchor, larkAppId) ?? false;
1008
1068
  if (!ownsSession
1009
1069
  && !isKnownPeerBot(config.session.dataDir, larkAppId, senderOpenId)
@@ -1015,7 +1075,7 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1015
1075
  logger.info(`Bot-to-bot @mention detected (scope=${ctx.scope}): routing to handleThreadReply`);
1016
1076
  // Serialize per anchor — a sub-bot dispatched a /repo prime + kickoff
1017
1077
  // back-to-back into this thread must be handled in order, not raced.
1018
- await serializeByAnchor(ctx.anchor, () => handlers.handleThreadReply(data, { ...ctx, chatId, messageId, chatType, larkAppId }))
1078
+ await serializeByAnchor(ctx.anchor, () => handlers.handleThreadReply(data, { ...ctx, chatId, messageId, chatType, larkAppId, replyRootId }))
1019
1079
  .catch(err => logger.error(`Error handling bot @mention: ${err}`));
1020
1080
  return;
1021
1081
  }
@@ -1032,6 +1092,9 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1032
1092
  if (await tryHandleIntroduceCommand(larkAppId, message, senderOpenId)) {
1033
1093
  return;
1034
1094
  }
1095
+ if (await tryHandleReplyModeCommand(larkAppId, message, senderOpenId, isAllowed)) {
1096
+ return;
1097
+ }
1035
1098
  // /grant、/revoke — 群内授权元命令。在路由/spawn 之前拦截(仅 owner,需明确 @ 本 bot),
1036
1099
  // 否则会被当成 prompt 喂给 CLI 会话。
1037
1100
  if (await tryHandleGrantCommand(larkAppId, message, senderOpenId)) {
@@ -1049,7 +1112,35 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1049
1112
  `type=${chatType} root=${String(message.root_id).substring(0, 12)} ` +
1050
1113
  `parent=${String(message.parent_id ?? '').substring(0, 12)}`);
1051
1114
  }
1052
- const routing = await decideRouting(larkAppId, message);
1115
+ const decision = await decideRoutingWithSource(larkAppId, message);
1116
+ const routing = {
1117
+ scope: decision.scope,
1118
+ anchor: decision.anchor,
1119
+ };
1120
+ let routingSource = decision.source;
1121
+ let replyRootId;
1122
+ const explicitlyMentionedThisBot = isBotMentioned(larkAppId, message, senderOpenId);
1123
+ // Shared-mode follow-up: a non-@ message inside a Lark thread can belong
1124
+ // to the regular group's chat-scope session when that root was registered
1125
+ // as a shared-topic alias. Whether a 普通群 answers it without an @mention
1126
+ // is governed by the bot-global mention policy: 'always' (default) keeps
1127
+ // "@ required" so this fold-back is skipped (non-@ thread chatter falls
1128
+ // through to the gate below and is ignored — only an explicit @ continues
1129
+ // a shared topic); 'topic' and 'never' enable the seamless no-@ fold-back.
1130
+ if (!explicitlyMentionedThisBot
1131
+ && resolveGroupMentionMode(larkAppId) !== 'always'
1132
+ && routing.scope === 'thread' && message.root_id && message.thread_id && chatType === 'group') {
1133
+ const alias = handlers.resolveReplyThreadAlias?.(message.root_id, chatId, larkAppId) ?? null;
1134
+ if (alias) {
1135
+ const freshMode = await getChatMode(larkAppId, chatId, { forceRefresh: true });
1136
+ if (freshMode === 'group') {
1137
+ routing.scope = 'chat';
1138
+ routing.anchor = alias.chatId;
1139
+ replyRootId = message.root_id;
1140
+ logger.info(`[reply-mode] alias root=${message.root_id.substring(0, 12)} → chat=${alias.chatId.substring(0, 12)} session=${alias.sessionId.substring(0, 8)}`);
1141
+ }
1142
+ }
1143
+ }
1053
1144
  // 话题群 → 普通群 (reverse conversion). Symmetric to the forward check
1054
1145
  // below: when decideRouting lands on thread-scope purely because the
1055
1146
  // *cached* chat_mode said 'topic' (no real thread_id on the message
@@ -1069,26 +1160,35 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1069
1160
  chatType === 'group') {
1070
1161
  const freshMode = await getChatMode(larkAppId, chatId, { forceRefresh: true });
1071
1162
  if (freshMode === 'group') {
1163
+ const rerouted = regularGroupRouting(larkAppId, messageId, chatId);
1072
1164
  logger.info(`[chat-mode-converted] ${chatId.substring(0, 12)} chat_mode flipped 'topic' → 'group'; ` +
1073
- `rerouting msg=${messageId.substring(0, 12)} as chat-scope`);
1074
- routing.scope = 'chat';
1075
- routing.anchor = chatId;
1165
+ `rerouting msg=${messageId.substring(0, 12)} as ${rerouted.scope}-scope`);
1166
+ routing.scope = rerouted.scope;
1167
+ routing.anchor = rerouted.anchor;
1168
+ routingSource = rerouted.source;
1076
1169
  }
1077
1170
  }
1078
- // 主动开工 — 场景②: capture the genuine routing shape NOW, before the
1079
- // `/t` override below can mutate a 普通群 chat-scope into thread-scope.
1080
- // decideRouting only yields {thread, anchor=messageId} for a real
1081
- // 话题群 new-topic seed; a non-@ `/t …` in a 普通群 must NOT count as one
1082
- // (FR-7), so auto-topic eligibility keys off the pre-override values.
1083
- const autoTopicSeedScope = routing.scope;
1084
- const autoTopicSeedAnchor = routing.anchor;
1171
+ // 主动开工 — 场景②: capture only genuine topic-group seeds NOW, before
1172
+ // `/t` or the regular-group new-topic mode can create the same
1173
+ // {thread, anchor=messageId} shape in a regular group. autoStartOnNewTopic
1174
+ // is deliberately limited to 话题群.
1175
+ const autoTopicSeedScope = routingSource === 'topic-chat' ? routing.scope : 'chat';
1176
+ const autoTopicSeedAnchor = routingSource === 'topic-chat' ? routing.anchor : chatId;
1085
1177
  // /t / /topic in 普通群: flip routing to thread-scope so the bot's
1086
1178
  // first reply seeds a fresh Lark thread, even if a chat-scope session
1087
1179
  // is currently active in this chat.
1088
- if (maybeApplyForceTopicOverride(routing, message, messageId)) {
1180
+ const forceTopicApplied = maybeApplyForceTopicOverride(routing, message, messageId);
1181
+ if (forceTopicApplied) {
1089
1182
  logger.info(`[/t] Force-topic override: msg=${messageId.substring(0, 12)} → thread-scope, anchor=msg`);
1090
1183
  }
1091
1184
  let ownsSession = handlers.isSessionOwner?.(routing.anchor, larkAppId) ?? false;
1185
+ const seedReplyRootId = await maybeApplySharedTopicSeed({
1186
+ larkAppId, chatId, chatType, message, senderOpenId, messageId, routing, forceTopicApplied,
1187
+ });
1188
+ if (seedReplyRootId) {
1189
+ replyRootId = seedReplyRootId;
1190
+ ownsSession = handlers.isSessionOwner?.(routing.anchor, larkAppId) ?? false;
1191
+ }
1092
1192
  // 普通群 → 话题群 conversion detection. Lark group admins can flip
1093
1193
  // chat_mode at any time; our 30/5-min cache lags. If routing landed on
1094
1194
  // chat-scope AND we own a session at this chat, the chat-scope session
@@ -1099,7 +1199,10 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1099
1199
  // route this message as if it were a brand-new thread seed so
1100
1200
  // handleNewTopic spawns a thread-scope session anchored at messageId.
1101
1201
  // Gate on ownsSession to avoid an API roundtrip on every fresh inbound.
1102
- if (routing.scope === 'chat' && ownsSession) {
1202
+ // Skip p2p: a DM is always 'p2p' and can never be a topic group, so the
1203
+ // check can only waste a forceRefresh roundtrip (relevant now that
1204
+ // p2pMode==='chat' makes DMs land on chat-scope).
1205
+ if (routing.scope === 'chat' && ownsSession && chatType !== 'p2p') {
1103
1206
  const freshMode = await getChatMode(larkAppId, chatId, { forceRefresh: true });
1104
1207
  if (freshMode === 'topic') {
1105
1208
  logger.info(`[chat-mode-converted] ${chatId.substring(0, 12)} chat_mode flipped 'group' → 'topic'; ` +
@@ -1126,9 +1229,30 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1126
1229
  // p2p → allowlist only
1127
1230
  if (chatType === 'group') {
1128
1231
  let stats = null;
1129
- if (ownsSession)
1232
+ if (ownsSession && !replyRootId)
1130
1233
  stats = await getGroupStats(larkAppId, chatId);
1131
- const relax = ownsSession && isAllowed && !!stats && stats.userCount <= 1 && stats.botCount <= 1;
1234
+ // replyRootId means this turn has already been explicitly addressed
1235
+ // to the bot by shared-topic logic (possibly from inside an existing
1236
+ // Lark thread). Do not re-run the generic group @ gate, which would
1237
+ // reject multi-bot thread replies simply because `routing.scope` was
1238
+ // folded back to chat-scope.
1239
+ //
1240
+ // The bot-global mention policy drops the @ requirement:
1241
+ // • 'never' — entirely: any message from a talk-allowed sender is
1242
+ // answered (incl. brand-new non-@ top-level → spawns/continues a
1243
+ // session). Intended for dedicated / on-call groups, not busy chats.
1244
+ // • 'topic' — only inside a topic the bot already owns: a non-@ reply
1245
+ // INSIDE such a thread (new-topic / 话题群 thread the bot owns, or a
1246
+ // shared-topic alias via replyRootId) continues without @, while a
1247
+ // brand-new top-level conversation still requires @.
1248
+ // Both gated on isAllowed so restricted groups still only react to
1249
+ // permitted senders. (The shared fold-back's replyRootId is already
1250
+ // handled by the first clause.)
1251
+ const mentionMode = resolveGroupMentionMode(larkAppId);
1252
+ const relax = (!!replyRootId && isAllowed)
1253
+ || (isAllowed && mentionMode === 'never')
1254
+ || (isAllowed && mentionMode === 'topic' && ownsSession && !!message.thread_id)
1255
+ || (ownsSession && isAllowed && !!stats && stats.userCount <= 1 && stats.botCount <= 1);
1132
1256
  if (!relax) {
1133
1257
  const access = await checkGroupMessageAccess(larkAppId, message, chatId, senderOpenId);
1134
1258
  if (access === 'not_allowed') {
@@ -1163,7 +1287,7 @@ export function startLarkEventDispatcher(larkAppId, larkAppSecret, handlers, bra
1163
1287
  logger.debug(`Ignoring p2p message from non-allowed user: ${senderOpenId}`);
1164
1288
  return;
1165
1289
  }
1166
- const ctx = { chatId, messageId, chatType, larkAppId, ...routing };
1290
+ const ctx = { chatId, messageId, chatType, larkAppId, ...routing, replyRootId };
1167
1291
  // Serialize per anchor so two messages to the same thread/chat are
1168
1292
  // processed in arrival order — never concurrently. Without this a fast
1169
1293
  // second message interleaves with the first's async session-spawn and is
@@ -1 +1 @@
1
- {"version":3,"file":"event-dispatcher.js","sourceRoot":"","sources":["../../../src/im/lark/event-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-dispatcher.js","sourceRoot":"","sources":["../../../src/im/lark/event-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forwarded-renderer.d.ts","sourceRoot":"","sources":["../../../src/im/lark/forwarded-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AA+FD,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAcjE"}
1
+ {"version":3,"file":"forwarded-renderer.d.ts","sourceRoot":"","sources":["../../../src/im/lark/forwarded-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,0FAA0F;IAC1F,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACvC,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAuGD,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAcjE"}
@@ -48,14 +48,21 @@ function collectParticipants(nodes, map = new Map(), unknownCounter = { n: 0 })
48
48
  }
49
49
  return map;
50
50
  }
51
+ /**
52
+ * Top-level entries (the <participants> block and every <msg>) indent this far
53
+ * under <forwarded_messages>, so the whole forwarded block reads as a properly
54
+ * nested tree rather than a flat column-0 dump. Nested merged_forward children
55
+ * indent a further two spaces on top of this (see renderNodes).
56
+ */
57
+ const BASE_INDENT = ' ';
51
58
  function renderParticipants(map) {
52
59
  const items = [];
53
60
  for (const [key, info] of map) {
54
61
  const openIdAttr = key.startsWith('__unknown_') ? '' : ` open_id="${xmlEscape(key)}"`;
55
62
  const nameAttr = info.name ? ` name="${xmlEscape(info.name)}"` : '';
56
- items.push(` <p id="${info.alias}"${openIdAttr} type="${info.type}"${nameAttr} />`);
63
+ items.push(`${BASE_INDENT} <p id="${info.alias}"${openIdAttr} type="${info.type}"${nameAttr} />`);
57
64
  }
58
- return `<participants>\n${items.join('\n')}\n</participants>`;
65
+ return `${BASE_INDENT}<participants>\n${items.join('\n')}\n${BASE_INDENT}</participants>`;
59
66
  }
60
67
  function renderNodes(nodes, map, unknownCounter, indent = '') {
61
68
  const lines = [];
@@ -94,7 +101,7 @@ export function renderForwardedXml(nodes) {
94
101
  const collectCounter = { n: 0 };
95
102
  const participants = collectParticipants(nodes, new Map(), collectCounter);
96
103
  const renderCounter = { n: 0 };
97
- const body = renderNodes(nodes, participants, renderCounter);
104
+ const body = renderNodes(nodes, participants, renderCounter, BASE_INDENT);
98
105
  return [
99
106
  '<forwarded_messages>',
100
107
  renderParticipants(participants),