botmux 2.33.0 → 2.33.1

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 (281) hide show
  1. package/README.en.md +12 -1
  2. package/README.md +45 -1
  3. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  4. package/dist/adapters/cli/claude-code.js +11 -0
  5. package/dist/adapters/cli/claude-code.js.map +1 -1
  6. package/dist/cli/bots-list-output.d.ts +21 -0
  7. package/dist/cli/bots-list-output.d.ts.map +1 -0
  8. package/dist/cli/bots-list-output.js +23 -0
  9. package/dist/cli/bots-list-output.js.map +1 -0
  10. package/dist/cli/workflow.d.ts +13 -0
  11. package/dist/cli/workflow.d.ts.map +1 -0
  12. package/dist/cli/workflow.js +781 -0
  13. package/dist/cli/workflow.js.map +1 -0
  14. package/dist/cli.js +69 -14
  15. package/dist/cli.js.map +1 -1
  16. package/dist/core/command-handler.d.ts.map +1 -1
  17. package/dist/core/command-handler.js +211 -4
  18. package/dist/core/command-handler.js.map +1 -1
  19. package/dist/core/session-manager.d.ts +6 -1
  20. package/dist/core/session-manager.d.ts.map +1 -1
  21. package/dist/core/session-manager.js +22 -12
  22. package/dist/core/session-manager.js.map +1 -1
  23. package/dist/core/worker-pool.d.ts +13 -0
  24. package/dist/core/worker-pool.d.ts.map +1 -1
  25. package/dist/core/worker-pool.js +100 -6
  26. package/dist/core/worker-pool.js.map +1 -1
  27. package/dist/daemon.d.ts +3 -0
  28. package/dist/daemon.d.ts.map +1 -1
  29. package/dist/daemon.js +884 -3
  30. package/dist/daemon.js.map +1 -1
  31. package/dist/dashboard/auth.d.ts +36 -0
  32. package/dist/dashboard/auth.d.ts.map +1 -1
  33. package/dist/dashboard/auth.js +22 -0
  34. package/dist/dashboard/auth.js.map +1 -1
  35. package/dist/dashboard/web/app.js +20 -1
  36. package/dist/dashboard/web/app.js.map +1 -1
  37. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  38. package/dist/dashboard/web/i18n.js +356 -0
  39. package/dist/dashboard/web/i18n.js.map +1 -1
  40. package/dist/dashboard/web/workflow-catalog.d.ts +2 -0
  41. package/dist/dashboard/web/workflow-catalog.d.ts.map +1 -0
  42. package/dist/dashboard/web/workflow-catalog.js +323 -0
  43. package/dist/dashboard/web/workflow-catalog.js.map +1 -0
  44. package/dist/dashboard/web/workflows.d.ts +2 -0
  45. package/dist/dashboard/web/workflows.d.ts.map +1 -0
  46. package/dist/dashboard/web/workflows.js +1618 -0
  47. package/dist/dashboard/web/workflows.js.map +1 -0
  48. package/dist/dashboard/workflow-api.d.ts +23 -0
  49. package/dist/dashboard/workflow-api.d.ts.map +1 -0
  50. package/dist/dashboard/workflow-api.js +463 -0
  51. package/dist/dashboard/workflow-api.js.map +1 -0
  52. package/dist/dashboard-web/app.js +494 -199
  53. package/dist/dashboard-web/index.html +1 -0
  54. package/dist/dashboard-web/style.css +160 -6
  55. package/dist/dashboard-web/terminal-replay.html +227 -0
  56. package/dist/dashboard.js +29 -12
  57. package/dist/dashboard.js.map +1 -1
  58. package/dist/i18n/en.d.ts.map +1 -1
  59. package/dist/i18n/en.js +12 -0
  60. package/dist/i18n/en.js.map +1 -1
  61. package/dist/i18n/zh.d.ts.map +1 -1
  62. package/dist/i18n/zh.js +12 -0
  63. package/dist/i18n/zh.js.map +1 -1
  64. package/dist/im/lark/card-handler.d.ts +3 -0
  65. package/dist/im/lark/card-handler.d.ts.map +1 -1
  66. package/dist/im/lark/card-handler.js +27 -1
  67. package/dist/im/lark/card-handler.js.map +1 -1
  68. package/dist/im/lark/client.d.ts +19 -2
  69. package/dist/im/lark/client.d.ts.map +1 -1
  70. package/dist/im/lark/client.js +21 -2
  71. package/dist/im/lark/client.js.map +1 -1
  72. package/dist/im/lark/workflow-card-handler.d.ts +50 -0
  73. package/dist/im/lark/workflow-card-handler.d.ts.map +1 -0
  74. package/dist/im/lark/workflow-card-handler.js +152 -0
  75. package/dist/im/lark/workflow-card-handler.js.map +1 -0
  76. package/dist/im/lark/workflow-cards.d.ts +46 -0
  77. package/dist/im/lark/workflow-cards.d.ts.map +1 -0
  78. package/dist/im/lark/workflow-cards.js +226 -0
  79. package/dist/im/lark/workflow-cards.js.map +1 -0
  80. package/dist/im/lark/workflow-progress-card.d.ts +76 -0
  81. package/dist/im/lark/workflow-progress-card.d.ts.map +1 -0
  82. package/dist/im/lark/workflow-progress-card.js +279 -0
  83. package/dist/im/lark/workflow-progress-card.js.map +1 -0
  84. package/dist/im/lark/workflow-slash-command.d.ts +92 -0
  85. package/dist/im/lark/workflow-slash-command.d.ts.map +1 -0
  86. package/dist/im/lark/workflow-slash-command.js +185 -0
  87. package/dist/im/lark/workflow-slash-command.js.map +1 -0
  88. package/dist/services/group-creator.d.ts.map +1 -1
  89. package/dist/services/group-creator.js +17 -4
  90. package/dist/services/group-creator.js.map +1 -1
  91. package/dist/services/groups-store.d.ts +11 -0
  92. package/dist/services/groups-store.d.ts.map +1 -1
  93. package/dist/services/groups-store.js +26 -0
  94. package/dist/services/groups-store.js.map +1 -1
  95. package/dist/services/jsonl-cursor.d.ts +12 -0
  96. package/dist/services/jsonl-cursor.d.ts.map +1 -0
  97. package/dist/services/jsonl-cursor.js +45 -0
  98. package/dist/services/jsonl-cursor.js.map +1 -0
  99. package/dist/services/schedule-store.d.ts +35 -0
  100. package/dist/services/schedule-store.d.ts.map +1 -1
  101. package/dist/services/schedule-store.js +108 -1
  102. package/dist/services/schedule-store.js.map +1 -1
  103. package/dist/skills/definitions.d.ts.map +1 -1
  104. package/dist/skills/definitions.js +399 -0
  105. package/dist/skills/definitions.js.map +1 -1
  106. package/dist/types.d.ts +4 -0
  107. package/dist/types.d.ts.map +1 -1
  108. package/dist/utils/cli-usage-limit.d.ts.map +1 -1
  109. package/dist/utils/cli-usage-limit.js +4 -0
  110. package/dist/utils/cli-usage-limit.js.map +1 -1
  111. package/dist/worker.js +118 -14
  112. package/dist/worker.js.map +1 -1
  113. package/dist/workflows/attempt-resume.d.ts +114 -0
  114. package/dist/workflows/attempt-resume.d.ts.map +1 -0
  115. package/dist/workflows/attempt-resume.js +385 -0
  116. package/dist/workflows/attempt-resume.js.map +1 -0
  117. package/dist/workflows/attempt-terminal.d.ts +21 -0
  118. package/dist/workflows/attempt-terminal.d.ts.map +1 -0
  119. package/dist/workflows/attempt-terminal.js +7 -0
  120. package/dist/workflows/attempt-terminal.js.map +1 -0
  121. package/dist/workflows/blob.d.ts +27 -0
  122. package/dist/workflows/blob.d.ts.map +1 -0
  123. package/dist/workflows/blob.js +39 -0
  124. package/dist/workflows/blob.js.map +1 -0
  125. package/dist/workflows/cancel-run.d.ts +45 -0
  126. package/dist/workflows/cancel-run.d.ts.map +1 -0
  127. package/dist/workflows/cancel-run.js +99 -0
  128. package/dist/workflows/cancel-run.js.map +1 -0
  129. package/dist/workflows/cancel.d.ts +111 -0
  130. package/dist/workflows/cancel.d.ts.map +1 -0
  131. package/dist/workflows/cancel.js +120 -0
  132. package/dist/workflows/cancel.js.map +1 -0
  133. package/dist/workflows/catalog.d.ts +60 -0
  134. package/dist/workflows/catalog.d.ts.map +1 -0
  135. package/dist/workflows/catalog.js +119 -0
  136. package/dist/workflows/catalog.js.map +1 -0
  137. package/dist/workflows/cold-attach.d.ts +30 -0
  138. package/dist/workflows/cold-attach.d.ts.map +1 -0
  139. package/dist/workflows/cold-attach.js +40 -0
  140. package/dist/workflows/cold-attach.js.map +1 -0
  141. package/dist/workflows/cold-scan.d.ts +21 -0
  142. package/dist/workflows/cold-scan.d.ts.map +1 -0
  143. package/dist/workflows/cold-scan.js +70 -0
  144. package/dist/workflows/cold-scan.js.map +1 -0
  145. package/dist/workflows/daemon-spawn.d.ts +117 -0
  146. package/dist/workflows/daemon-spawn.d.ts.map +1 -0
  147. package/dist/workflows/daemon-spawn.js +551 -0
  148. package/dist/workflows/daemon-spawn.js.map +1 -0
  149. package/dist/workflows/definition.d.ts +1309 -0
  150. package/dist/workflows/definition.d.ts.map +1 -0
  151. package/dist/workflows/definition.js +334 -0
  152. package/dist/workflows/definition.js.map +1 -0
  153. package/dist/workflows/effect-input.d.ts +4 -0
  154. package/dist/workflows/effect-input.d.ts.map +1 -0
  155. package/dist/workflows/effect-input.js +18 -0
  156. package/dist/workflows/effect-input.js.map +1 -0
  157. package/dist/workflows/events/append.d.ts +77 -0
  158. package/dist/workflows/events/append.d.ts.map +1 -0
  159. package/dist/workflows/events/append.js +214 -0
  160. package/dist/workflows/events/append.js.map +1 -0
  161. package/dist/workflows/events/idempotency.d.ts +77 -0
  162. package/dist/workflows/events/idempotency.d.ts.map +1 -0
  163. package/dist/workflows/events/idempotency.js +116 -0
  164. package/dist/workflows/events/idempotency.js.map +1 -0
  165. package/dist/workflows/events/index.d.ts +7 -0
  166. package/dist/workflows/events/index.d.ts.map +1 -0
  167. package/dist/workflows/events/index.js +7 -0
  168. package/dist/workflows/events/index.js.map +1 -0
  169. package/dist/workflows/events/payloads.d.ts +917 -0
  170. package/dist/workflows/events/payloads.d.ts.map +1 -0
  171. package/dist/workflows/events/payloads.js +337 -0
  172. package/dist/workflows/events/payloads.js.map +1 -0
  173. package/dist/workflows/events/replay.d.ts +238 -0
  174. package/dist/workflows/events/replay.d.ts.map +1 -0
  175. package/dist/workflows/events/replay.js +608 -0
  176. package/dist/workflows/events/replay.js.map +1 -0
  177. package/dist/workflows/events/schema.d.ts +5242 -0
  178. package/dist/workflows/events/schema.d.ts.map +1 -0
  179. package/dist/workflows/events/schema.js +295 -0
  180. package/dist/workflows/events/schema.js.map +1 -0
  181. package/dist/workflows/events/types.d.ts +34 -0
  182. package/dist/workflows/events/types.d.ts.map +1 -0
  183. package/dist/workflows/events/types.js +2 -0
  184. package/dist/workflows/events/types.js.map +1 -0
  185. package/dist/workflows/fanout.d.ts +36 -0
  186. package/dist/workflows/fanout.d.ts.map +1 -0
  187. package/dist/workflows/fanout.js +114 -0
  188. package/dist/workflows/fanout.js.map +1 -0
  189. package/dist/workflows/hostExecutors/botmux-schedule.d.ts +41 -0
  190. package/dist/workflows/hostExecutors/botmux-schedule.d.ts.map +1 -0
  191. package/dist/workflows/hostExecutors/botmux-schedule.js +121 -0
  192. package/dist/workflows/hostExecutors/botmux-schedule.js.map +1 -0
  193. package/dist/workflows/hostExecutors/feishu-im.d.ts +12 -0
  194. package/dist/workflows/hostExecutors/feishu-im.d.ts.map +1 -0
  195. package/dist/workflows/hostExecutors/feishu-im.js +49 -0
  196. package/dist/workflows/hostExecutors/feishu-im.js.map +1 -0
  197. package/dist/workflows/hostExecutors/feishu-reply.d.ts +24 -0
  198. package/dist/workflows/hostExecutors/feishu-reply.d.ts.map +1 -0
  199. package/dist/workflows/hostExecutors/feishu-reply.js +88 -0
  200. package/dist/workflows/hostExecutors/feishu-reply.js.map +1 -0
  201. package/dist/workflows/hostExecutors/feishu-send.d.ts +23 -0
  202. package/dist/workflows/hostExecutors/feishu-send.d.ts.map +1 -0
  203. package/dist/workflows/hostExecutors/feishu-send.js +124 -0
  204. package/dist/workflows/hostExecutors/feishu-send.js.map +1 -0
  205. package/dist/workflows/hostExecutors/index.d.ts +8 -0
  206. package/dist/workflows/hostExecutors/index.d.ts.map +1 -0
  207. package/dist/workflows/hostExecutors/index.js +8 -0
  208. package/dist/workflows/hostExecutors/index.js.map +1 -0
  209. package/dist/workflows/hostExecutors/protocol.d.ts +42 -0
  210. package/dist/workflows/hostExecutors/protocol.d.ts.map +1 -0
  211. package/dist/workflows/hostExecutors/protocol.js +181 -0
  212. package/dist/workflows/hostExecutors/protocol.js.map +1 -0
  213. package/dist/workflows/hostExecutors/registry.d.ts +10 -0
  214. package/dist/workflows/hostExecutors/registry.d.ts.map +1 -0
  215. package/dist/workflows/hostExecutors/registry.js +36 -0
  216. package/dist/workflows/hostExecutors/registry.js.map +1 -0
  217. package/dist/workflows/hostExecutors/types.d.ts +78 -0
  218. package/dist/workflows/hostExecutors/types.d.ts.map +1 -0
  219. package/dist/workflows/hostExecutors/types.js +2 -0
  220. package/dist/workflows/hostExecutors/types.js.map +1 -0
  221. package/dist/workflows/loader.d.ts +16 -0
  222. package/dist/workflows/loader.d.ts.map +1 -0
  223. package/dist/workflows/loader.js +56 -0
  224. package/dist/workflows/loader.js.map +1 -0
  225. package/dist/workflows/loop.d.ts +50 -0
  226. package/dist/workflows/loop.d.ts.map +1 -0
  227. package/dist/workflows/loop.js +350 -0
  228. package/dist/workflows/loop.js.map +1 -0
  229. package/dist/workflows/ops-projection.d.ts +168 -0
  230. package/dist/workflows/ops-projection.d.ts.map +1 -0
  231. package/dist/workflows/ops-projection.js +707 -0
  232. package/dist/workflows/ops-projection.js.map +1 -0
  233. package/dist/workflows/orchestrator.d.ts +107 -0
  234. package/dist/workflows/orchestrator.d.ts.map +1 -0
  235. package/dist/workflows/orchestrator.js +197 -0
  236. package/dist/workflows/orchestrator.js.map +1 -0
  237. package/dist/workflows/output-binding.d.ts +70 -0
  238. package/dist/workflows/output-binding.d.ts.map +1 -0
  239. package/dist/workflows/output-binding.js +265 -0
  240. package/dist/workflows/output-binding.js.map +1 -0
  241. package/dist/workflows/params.d.ts +61 -0
  242. package/dist/workflows/params.d.ts.map +1 -0
  243. package/dist/workflows/params.js +195 -0
  244. package/dist/workflows/params.js.map +1 -0
  245. package/dist/workflows/resume.d.ts +263 -0
  246. package/dist/workflows/resume.d.ts.map +1 -0
  247. package/dist/workflows/resume.js +808 -0
  248. package/dist/workflows/resume.js.map +1 -0
  249. package/dist/workflows/run-id.d.ts +2 -0
  250. package/dist/workflows/run-id.d.ts.map +1 -0
  251. package/dist/workflows/run-id.js +7 -0
  252. package/dist/workflows/run-id.js.map +1 -0
  253. package/dist/workflows/run-init.d.ts +48 -0
  254. package/dist/workflows/run-init.d.ts.map +1 -0
  255. package/dist/workflows/run-init.js +99 -0
  256. package/dist/workflows/run-init.js.map +1 -0
  257. package/dist/workflows/runs-dir.d.ts +4 -0
  258. package/dist/workflows/runs-dir.d.ts.map +1 -0
  259. package/dist/workflows/runs-dir.js +15 -0
  260. package/dist/workflows/runs-dir.js.map +1 -0
  261. package/dist/workflows/runtime.d.ts +211 -0
  262. package/dist/workflows/runtime.d.ts.map +1 -0
  263. package/dist/workflows/runtime.js +594 -0
  264. package/dist/workflows/runtime.js.map +1 -0
  265. package/dist/workflows/spawn-bot.d.ts +165 -0
  266. package/dist/workflows/spawn-bot.d.ts.map +1 -0
  267. package/dist/workflows/spawn-bot.js +215 -0
  268. package/dist/workflows/spawn-bot.js.map +1 -0
  269. package/dist/workflows/system.d.ts +49 -0
  270. package/dist/workflows/system.d.ts.map +1 -0
  271. package/dist/workflows/system.js +48 -0
  272. package/dist/workflows/system.js.map +1 -0
  273. package/dist/workflows/trigger-run.d.ts +70 -0
  274. package/dist/workflows/trigger-run.d.ts.map +1 -0
  275. package/dist/workflows/trigger-run.js +88 -0
  276. package/dist/workflows/trigger-run.js.map +1 -0
  277. package/dist/workflows/wait.d.ts +120 -0
  278. package/dist/workflows/wait.d.ts.map +1 -0
  279. package/dist/workflows/wait.js +181 -0
  280. package/dist/workflows/wait.js.map +1 -0
  281. package/package.json +3 -3
@@ -2,16 +2,17 @@
2
2
  * Command handler — processes /slash commands from users.
3
3
  * Extracted from daemon.ts for modularity.
4
4
  */
5
- import { existsSync } from 'node:fs';
5
+ import { existsSync, readFileSync } from 'node:fs';
6
+ import { join } from 'node:path';
6
7
  import { config } from '../config.js';
7
- import { getBot, getAllBots } from '../bot-registry.js';
8
+ import { getBot, getAllBots, getBotOpenId } from '../bot-registry.js';
8
9
  import * as sessionStore from '../services/session-store.js';
9
10
  import * as scheduleStore from '../services/schedule-store.js';
10
11
  import * as scheduler from './scheduler.js';
11
12
  import { scanMultipleProjects } from '../services/project-scanner.js';
12
13
  import { buildRepoSelectCard, buildAdoptSelectCard, buildSessionClosedCard, getCliDisplayName } from '../im/lark/card-builder.js';
13
14
  import { createCliAdapterSync } from '../adapters/cli/registry.js';
14
- import { deleteMessage } from '../im/lark/client.js';
15
+ import { deleteMessage, listChatBotMembers } from '../im/lark/client.js';
15
16
  import { logger } from '../utils/logger.js';
16
17
  import { killWorker, forkWorker, forkAdoptWorker, getCurrentCliVersion } from './worker-pool.js';
17
18
  import { expandHome, getSessionWorkingDir, getProjectScanDirs, rememberLastCliInput } from './session-manager.js';
@@ -23,7 +24,7 @@ import { invalidWorkingDirs } from '../utils/working-dir.js';
23
24
  import { sessionKey, sessionAnchorId } from './types.js';
24
25
  import { t, localeForBot } from '../i18n/index.js';
25
26
  // ─── Exported constants ──────────────────────────────────────────────────────
26
- export const DAEMON_COMMANDS = new Set(['/close', '/restart', '/status', '/help', '/cd', '/repo', '/skip', '/schedule', '/login', '/adopt', '/oncall']);
27
+ export const DAEMON_COMMANDS = new Set(['/close', '/restart', '/status', '/help', '/cd', '/repo', '/skip', '/schedule', '/login', '/adopt', '/oncall', '/group', '/g']);
27
28
  /**
28
29
  * Slash commands that are forwarded verbatim to the underlying CLI (e.g.
29
30
  * Claude Code's `/compact`, `/model`, `/usage`). The daemon does NOT handle
@@ -91,6 +92,37 @@ export function parseSlashCommandInvocation(content) {
91
92
  function tag(ds) {
92
93
  return ds.session.sessionId.substring(0, 8);
93
94
  }
95
+ /**
96
+ * Lowercased display names of ALL bots known to the deployment, read from the
97
+ * shared bots-info.json. This is the only globally-complete, process-stable
98
+ * source of "is this @-mention a bot?": production runs one daemon per bot, so
99
+ * getAllBots() only sees this process's own bot, and the live chat-member roster
100
+ * (listChatBotMembers) can transiently miss a bot — either would let competing
101
+ * bot processes disagree on who the first @-mentioned bot is and double-create.
102
+ * bots-info.json is a local file merge-written by every daemon at startup.
103
+ */
104
+ function globalKnownBotNames() {
105
+ try {
106
+ const p = join(config.session.dataDir, 'bots-info.json');
107
+ if (!existsSync(p))
108
+ return new Set();
109
+ const entries = JSON.parse(readFileSync(p, 'utf-8'));
110
+ return new Set(entries.map(e => e.botName?.toLowerCase()).filter((n) => !!n));
111
+ }
112
+ catch {
113
+ return new Set();
114
+ }
115
+ }
116
+ /** Human-friendly name for a bot larkAppId — Lark app display name, else cliId, else the raw id. */
117
+ function botDisplayName(larkAppId) {
118
+ try {
119
+ const bot = getBot(larkAppId);
120
+ return bot.botName ?? getCliDisplayName(bot.config.cliId) ?? larkAppId;
121
+ }
122
+ catch {
123
+ return larkAppId;
124
+ }
125
+ }
94
126
  function formatUptime(ms) {
95
127
  const s = Math.floor(ms / 1000);
96
128
  if (s < 60)
@@ -587,6 +619,178 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
587
619
  await sessionReply(rootId, t('cmd.oncall.unknown_sub', { sub }, loc));
588
620
  break;
589
621
  }
622
+ case '/group':
623
+ case '/g': {
624
+ const creatorAppId = larkAppId ?? ds?.larkAppId;
625
+ if (!creatorAppId) {
626
+ await sessionReply(rootId, t('cmd.group.no_bot', undefined, loc));
627
+ break;
628
+ }
629
+ const senderOpenId = message.senderId;
630
+ if (!senderOpenId) {
631
+ await sessionReply(rootId, t('cmd.group.no_sender', undefined, loc));
632
+ break;
633
+ }
634
+ // Each @-mentioned bot independently receives this same event and reaches
635
+ // this handler, so exactly one must create the group and the rest must
636
+ // stay silent. Intent: pull every @-mentioned bot into a new group, with
637
+ // the FIRST mentioned bot doing the creating.
638
+ //
639
+ // Two distinct sources, each used for what it's reliable at:
640
+ // • DETECTION ("is this @-mention a bot, and which is first?") uses
641
+ // globalKnownBotNames() from bots-info.json — process-stable and
642
+ // complete. getAllBots() can't be used (one daemon per bot ⇒ it only
643
+ // sees self), and the live roster can transiently miss a bot; either
644
+ // would let competing processes disagree on the first bot → split
645
+ // brain. The name set + my own open_id give every process the same
646
+ // leadership verdict with no API/cross-ref dependency.
647
+ // • RESOLUTION (bot → larkAppId for the invite) uses the live roster
648
+ // listChatBotMembers(), failing CLOSED on any miss.
649
+ const mentions = message.mentions ?? [];
650
+ const sourceChatId = ds?.chatId;
651
+ const knownBotNames = globalKnownBotNames();
652
+ // Degraded-state guard: if the user @-mentioned someone but the global bot
653
+ // registry is empty (bots-info.json missing/corrupt/not-yet-written), we
654
+ // can't tell bots from users — so we can't elect a creator. Fail CLOSED
655
+ // rather than fall through to "no bot mentions" → per-bot solo group,
656
+ // which would let every @-mentioned bot create its own group.
657
+ if (knownBotNames.size === 0 && mentions.some(m => !!m.name)) {
658
+ logger.warn(`[${logTag}] /group: global bot registry empty (bots-info.json missing/corrupt); cannot elect a creator`);
659
+ await sessionReply(rootId, t('cmd.group.resolve_failed', undefined, loc));
660
+ break;
661
+ }
662
+ // The @-mentioned bots, in mention order. The first one is the creator.
663
+ const botMentions = mentions.filter(m => m.name && knownBotNames.has(m.name.toLowerCase()));
664
+ // ── Leader election ──────────────────────────────────────────────────
665
+ const mentionedBotAppIds = [];
666
+ const appIdToName = new Map();
667
+ if (botMentions.length > 0) {
668
+ const firstBot = botMentions[0];
669
+ const myOpenId = getBotOpenId(creatorAppId);
670
+ // Am I the first @-mentioned bot? My own open_id is always reliable in
671
+ // my own app scope (Lark reports a bot its own open_id consistently),
672
+ // so this needs no cross-ref. Name fallback only when my open_id isn't
673
+ // probed yet AND my display name is globally unambiguous.
674
+ const myName = getBot(creatorAppId).botName?.toLowerCase();
675
+ const myNameAmbiguous = !!myName && botMentions.filter(m => m.name?.toLowerCase() === myName).length > 1;
676
+ const iAmFirstBot = (!!myOpenId && firstBot.openId === myOpenId) ||
677
+ (!myOpenId && !!myName && !myNameAmbiguous && firstBot.name?.toLowerCase() === myName);
678
+ if (!iAmFirstBot) {
679
+ logger.info(`[${logTag}] /group: not the first @-mentioned bot (first="${firstBot.name}"), staying silent`);
680
+ break;
681
+ }
682
+ // I'm the creator. Resolving invitees needs the chat roster — fail
683
+ // CLOSED if it's missing rather than fall through to a per-bot solo
684
+ // group (which would let every mentioned bot create one).
685
+ if (!sourceChatId) {
686
+ logger.warn(`[${logTag}] /group: missing source chatId, cannot resolve @-mentioned bots`);
687
+ await sessionReply(rootId, t('cmd.group.resolve_failed', undefined, loc));
688
+ break;
689
+ }
690
+ let members = [];
691
+ try {
692
+ members = await listChatBotMembers(creatorAppId, sourceChatId);
693
+ }
694
+ catch (e) {
695
+ logger.warn(`[${logTag}] /group failed to list chat bot members: ${e?.message ?? e}`);
696
+ }
697
+ const memberByOpenId = new Map(members.map(m => [m.openId, m]));
698
+ for (const m of members) {
699
+ if (m.larkAppId && m.displayName)
700
+ appIdToName.set(m.larkAppId, m.displayName);
701
+ }
702
+ // Resolve each bot mention → larkAppId by open_id (our scope; reliable
703
+ // for distinct bots, and disambiguates duplicate display names), in
704
+ // mention order, deduped. Fail CLOSED on any unresolved bot rather than
705
+ // build a group missing an intended one.
706
+ const seen = new Set();
707
+ let unresolved;
708
+ for (const bm of botMentions) {
709
+ const mem = bm.openId ? memberByOpenId.get(bm.openId) : undefined;
710
+ if (!mem || !mem.larkAppId) {
711
+ unresolved = bm.name;
712
+ break;
713
+ }
714
+ if (!seen.has(mem.larkAppId)) {
715
+ seen.add(mem.larkAppId);
716
+ mentionedBotAppIds.push(mem.larkAppId);
717
+ }
718
+ }
719
+ if (unresolved) {
720
+ logger.warn(`[${logTag}] /group: could not resolve @-mentioned bot "${unresolved}" to an app id; aborting`);
721
+ await sessionReply(rootId, t('cmd.group.resolve_failed', undefined, loc));
722
+ break;
723
+ }
724
+ }
725
+ // Extract the requested group name. Strip whichever alias was used, then
726
+ // remove any `@<name>` mention tokens that leaked into the body (Lark
727
+ // renders mentions as literal `@Name` text in content), then take the
728
+ // first non-blank line so multi-line pastes don't smear into the name.
729
+ let rawArgs = message.content.replace(/^\/(group|g)\s*/i, '');
730
+ for (const m of mentions) {
731
+ if (m.name)
732
+ rawArgs = rawArgs.split(`@${m.name}`).join(' ');
733
+ }
734
+ const firstLine = rawArgs.split(/\r?\n/).map(s => s.trim()).find(Boolean) ?? '';
735
+ const MAX_NAME = 50; // Lark group names cap around 60; leave headroom for '…'
736
+ let groupName;
737
+ if (firstLine) {
738
+ groupName = firstLine.length > MAX_NAME ? firstLine.slice(0, MAX_NAME) + '…' : firstLine;
739
+ }
740
+ else {
741
+ const now = new Date();
742
+ const ts = `${String(now.getMonth() + 1).padStart(2, '0')}/${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}`;
743
+ groupName = t('cmd.group.empty_fallback', { ts }, loc);
744
+ }
745
+ // Bots to invite: every @-mentioned bot (creator filtered out internally
746
+ // by the service). Empty mentions → solo group (creator only).
747
+ const larkAppIdsForGroup = mentionedBotAppIds.length > 0 ? mentionedBotAppIds : [creatorAppId];
748
+ try {
749
+ const { createGroupWithBots } = await import('../services/group-creator.js');
750
+ const result = await createGroupWithBots({
751
+ creatorLarkAppId: creatorAppId,
752
+ larkAppIds: larkAppIdsForGroup,
753
+ name: groupName,
754
+ userOpenIds: [senderOpenId],
755
+ transferOwnerTo: senderOpenId,
756
+ notifyOwnerOpenId: senderOpenId,
757
+ });
758
+ const link = `https://applink.feishu.cn/client/chat/open?openChatId=${encodeURIComponent(result.chatId)}`;
759
+ // Partial failures are non-fatal — the chat exists; surface them as
760
+ // hints so the user knows whether to expect to be auto-invited.
761
+ const hints = [];
762
+ if (result.invalidUserIds.includes(senderOpenId)) {
763
+ hints.push(t('cmd.group.warn_invite_rejected', undefined, loc));
764
+ }
765
+ else if (result.transferError) {
766
+ hints.push(t('cmd.group.warn_transfer_failed', { reason: result.transferError }, loc));
767
+ }
768
+ // List every bot in the new group (creator included), and warn about
769
+ // any Feishu rejected. Names come from the chat roster (members) since
770
+ // getBot() only knows this process's own bot in the one-daemon-per-bot
771
+ // model; fall back to the registry/raw id for anything not in the map.
772
+ const nameOf = (id) => appIdToName.get(id) ?? botDisplayName(id);
773
+ const groupBotIds = larkAppIdsForGroup.filter(id => !result.invalidBotIds.includes(id));
774
+ if (groupBotIds.length > 1) {
775
+ hints.push(t('cmd.group.bots_invited', { bots: groupBotIds.map(nameOf).join('、') }, loc));
776
+ }
777
+ if (result.invalidBotIds.length > 0) {
778
+ hints.push(t('cmd.group.warn_bots_rejected', { bots: result.invalidBotIds.map(nameOf).join('、') }, loc));
779
+ }
780
+ const hintsText = hints.length > 0 ? '\n' + hints.join('\n') : '';
781
+ await sessionReply(rootId, t('cmd.group.created', { name: groupName, link, hints: hintsText }, loc));
782
+ logger.info(`[${logTag}] /group created chat=${result.chatId} name="${groupName}" bots=[${larkAppIdsForGroup.join(',')}] invitee=${senderOpenId}`);
783
+ // Intentionally NO auto-bootstrap (repo-select card / chat-scope
784
+ // session) here: the group name rarely carries enough context to seed
785
+ // a useful prompt. The user starts a real conversation with the bot in
786
+ // the new group, which spawns the session on first message.
787
+ }
788
+ catch (err) {
789
+ logger.error(`[${logTag}] /group failed: ${err?.message ?? err}`);
790
+ await sessionReply(rootId, t('cmd.group.failed', { error: err?.message ?? String(err) }, loc));
791
+ }
792
+ break;
793
+ }
590
794
  case '/help': {
591
795
  const botCfg = ds ? getBot(ds.larkAppId).config : getAllBots()[0]?.config;
592
796
  const cliName = getCliDisplayName(botCfg?.cliId ?? 'claude-code');
@@ -628,6 +832,9 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
628
832
  t('help.grant', undefined, loc),
629
833
  t('help.revoke', undefined, loc),
630
834
  '',
835
+ t('help.heading_group', undefined, loc),
836
+ t('help.group', undefined, loc),
837
+ '',
631
838
  t('help.help', undefined, loc),
632
839
  ];
633
840
  await sessionReply(rootId, help.join('\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,12 @@ import { type Locale } from '../i18n/index.js';
8
8
  export { expandHome };
9
9
  export declare function getSessionWorkingDir(ds?: DaemonSession): string;
10
10
  export declare function getProjectScanDir(ds?: DaemonSession): string;
11
- /** Return all directories to scan for projects (supports multi-dir WORKING_DIR). */
11
+ /**
12
+ * Return all directories to scan for projects (supports multi-dir WORKING_DIR).
13
+ * Each configured workingDir is used as the scan root AS-IS — scanProjects
14
+ * recurses downward from it. See getProjectScanDir for why we no longer climb
15
+ * to the parent directory.
16
+ */
12
17
  export declare function getProjectScanDirs(ds?: DaemonSession): string[];
13
18
  export declare function getAttachmentsDir(messageId: string): string;
14
19
  export declare function downloadResources(larkAppId: string, messageId: string, resources: MessageResource[]): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import * as sessionStore from '../services/session-store.js';
5
5
  import * as messageQueue from '../services/message-queue.js';
6
6
  import { downloadMessageResource, listChatBotMembers } from '../im/lark/client.js';
7
7
  import { logger } from '../utils/logger.js';
8
- import { forkWorker, forkAdoptWorker, killStalePids, getCurrentCliVersion } from './worker-pool.js';
8
+ import { forkWorker, forkAdoptWorker, killStalePids, getCurrentCliVersion, restoreUsageLimitRuntimeState } from './worker-pool.js';
9
9
  import { createCliAdapterSync } from '../adapters/cli/registry.js';
10
10
  import { buildBotmuxShellHints } from '../adapters/cli/shared-hints.js';
11
11
  import { TmuxBackend } from '../adapters/backend/tmux-backend.js';
@@ -42,14 +42,20 @@ export function getSessionWorkingDir(ds) {
42
42
  return expandHome(config.daemon.workingDir);
43
43
  }
44
44
  export function getProjectScanDir(ds) {
45
- // 总是落到 workingDir 的父目录. 之前 PROJECT_SCAN_DIR / projectScanDir
46
- // 字段允许显式覆盖, 但在交互配置里从未暴露过, 也基本没人用; workingDir
47
- // 逗号语法 (workingDirs) 已经覆盖 "扫多棵树" 的需求, 故整个字段在
48
- // PR feature/setup-bot-management 收尾时一并下线.
49
- const cwd = getSessionWorkingDir(ds);
50
- return resolve(cwd, '..');
45
+ // workingDir 自身开始向下扫描 git 仓库 (scanProjects 会向下递归).
46
+ // 早期版本扫的是 workingDir 的父目录, 会把无关的同级兄弟仓库一起列出来,
47
+ // 语义反直觉; 现在把扫描根钉在 workingDir 本身: 指向仓库集合根目录
48
+ // (如 ~/projects) 就列出其下所有仓库, 指向单个仓库就只列该仓库及其嵌套.
49
+ // (PROJECT_SCAN_DIR / projectScanDir 显式覆盖字段早已在
50
+ // PR feature/setup-bot-management 收尾时下线, 此处不再涉及.)
51
+ return getSessionWorkingDir(ds);
51
52
  }
52
- /** Return all directories to scan for projects (supports multi-dir WORKING_DIR). */
53
+ /**
54
+ * Return all directories to scan for projects (supports multi-dir WORKING_DIR).
55
+ * Each configured workingDir is used as the scan root AS-IS — scanProjects
56
+ * recurses downward from it. See getProjectScanDir for why we no longer climb
57
+ * to the parent directory.
58
+ */
53
59
  export function getProjectScanDirs(ds) {
54
60
  if (ds?.larkAppId) {
55
61
  const bot = getBot(ds.larkAppId);
@@ -58,20 +64,20 @@ export function getProjectScanDirs(ds) {
58
64
  ? bot.config.workingDirs
59
65
  : parseWorkingDirList(bot.config.workingDir ?? '~');
60
66
  for (const wd of workingDirs) {
61
- dirs.add(resolve(expandHome(wd), '..'));
67
+ dirs.add(expandHome(wd));
62
68
  }
63
69
  if (ds.workingDir) {
64
- dirs.add(resolve(expandHome(ds.workingDir), '..'));
70
+ dirs.add(expandHome(ds.workingDir));
65
71
  }
66
72
  return [...dirs];
67
73
  }
68
74
  // Fallback to global config
69
75
  const dirs = new Set();
70
76
  for (const wd of config.daemon.workingDirs) {
71
- dirs.add(resolve(expandHome(wd), '..'));
77
+ dirs.add(expandHome(wd));
72
78
  }
73
79
  if (ds?.workingDir) {
74
- dirs.add(resolve(expandHome(ds.workingDir), '..'));
80
+ dirs.add(expandHome(ds.workingDir));
75
81
  }
76
82
  return [...dirs];
77
83
  }
@@ -462,6 +468,8 @@ export function restoreActiveSessions(activeSessions) {
462
468
  };
463
469
  const anchor = sessionAnchorId(ds);
464
470
  messageQueue.ensureQueue(anchor);
471
+ if (ds.usageLimit)
472
+ restoreUsageLimitRuntimeState(ds);
465
473
  activeSessions.set(sessionKey(anchor, larkAppId), ds);
466
474
  forkAdoptWorker(ds, { restoredFromMetadata: true });
467
475
  logger.info(`[${session.sessionId.substring(0, 8)}] Restored adopt session (target: ${adopted.tmuxTarget}, scope: ${scope})`);
@@ -504,6 +512,8 @@ export function restoreActiveSessions(activeSessions) {
504
512
  };
505
513
  const anchor = sessionAnchorId(ds);
506
514
  messageQueue.ensureQueue(anchor);
515
+ if (ds.usageLimit)
516
+ restoreUsageLimitRuntimeState(ds);
507
517
  activeSessions.set(sessionKey(anchor, larkAppId), ds);
508
518
  logger.debug(`Registered session ${session.sessionId} (scope: ${scope}, anchor: ${anchor})`);
509
519
  }