botmux 1.4.3 → 1.4.4

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 (86) hide show
  1. package/.env.example +5 -0
  2. package/dist/bot-registry.d.ts +31 -0
  3. package/dist/bot-registry.d.ts.map +1 -0
  4. package/dist/bot-registry.js +125 -0
  5. package/dist/bot-registry.js.map +1 -0
  6. package/dist/cli.js +0 -0
  7. package/dist/core/command-handler.d.ts.map +1 -1
  8. package/dist/core/command-handler.js +6 -4
  9. package/dist/core/command-handler.js.map +1 -1
  10. package/dist/core/session-manager.d.ts +4 -3
  11. package/dist/core/session-manager.d.ts.map +1 -1
  12. package/dist/core/session-manager.js +42 -10
  13. package/dist/core/session-manager.js.map +1 -1
  14. package/dist/core/types.d.ts +1 -0
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/core/worker-pool.d.ts +3 -2
  17. package/dist/core/worker-pool.d.ts.map +1 -1
  18. package/dist/core/worker-pool.js +39 -26
  19. package/dist/core/worker-pool.js.map +1 -1
  20. package/dist/daemon.d.ts.map +1 -1
  21. package/dist/daemon.js +83 -61
  22. package/dist/daemon.js.map +1 -1
  23. package/dist/im/lark/card-handler.d.ts.map +1 -1
  24. package/dist/im/lark/card-handler.js +30 -13
  25. package/dist/im/lark/card-handler.js.map +1 -1
  26. package/dist/im/lark/client.d.ts +11 -13
  27. package/dist/im/lark/client.d.ts.map +1 -1
  28. package/dist/im/lark/client.js +23 -45
  29. package/dist/im/lark/client.js.map +1 -1
  30. package/dist/im/lark/event-dispatcher.d.ts +10 -10
  31. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  32. package/dist/im/lark/event-dispatcher.js +36 -33
  33. package/dist/im/lark/event-dispatcher.js.map +1 -1
  34. package/dist/server.d.ts.map +1 -1
  35. package/dist/server.js +10 -1
  36. package/dist/server.js.map +1 -1
  37. package/dist/tools/get-thread-messages.d.ts.map +1 -1
  38. package/dist/tools/get-thread-messages.js +2 -1
  39. package/dist/tools/get-thread-messages.js.map +1 -1
  40. package/dist/tools/react-to-message.d.ts.map +1 -1
  41. package/dist/tools/react-to-message.js +3 -2
  42. package/dist/tools/react-to-message.js.map +1 -1
  43. package/dist/tools/send-to-thread.js +1 -1
  44. package/dist/tools/send-to-thread.js.map +1 -1
  45. package/dist/types.d.ts +3 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/types.js.map +1 -1
  48. package/dist/worker.js +7 -1
  49. package/dist/worker.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/scheduler.d.ts +0 -38
  52. package/dist/scheduler.d.ts.map +0 -1
  53. package/dist/scheduler.js +0 -221
  54. package/dist/scheduler.js.map +0 -1
  55. package/dist/services/lark-client.d.ts +0 -22
  56. package/dist/services/lark-client.d.ts.map +0 -1
  57. package/dist/services/lark-client.js +0 -238
  58. package/dist/services/lark-client.js.map +0 -1
  59. package/dist/services/lark-ws.d.ts +0 -5
  60. package/dist/services/lark-ws.d.ts.map +0 -1
  61. package/dist/services/lark-ws.js +0 -79
  62. package/dist/services/lark-ws.js.map +0 -1
  63. package/dist/services/message-router.d.ts +0 -8
  64. package/dist/services/message-router.d.ts.map +0 -1
  65. package/dist/services/message-router.js +0 -73
  66. package/dist/services/message-router.js.map +0 -1
  67. package/dist/tools/close-session.d.ts +0 -22
  68. package/dist/tools/close-session.d.ts.map +0 -1
  69. package/dist/tools/close-session.js +0 -38
  70. package/dist/tools/close-session.js.map +0 -1
  71. package/dist/tools/create-session.d.ts +0 -28
  72. package/dist/tools/create-session.d.ts.map +0 -1
  73. package/dist/tools/create-session.js +0 -40
  74. package/dist/tools/create-session.js.map +0 -1
  75. package/dist/tools/wait-for-reply.d.ts +0 -17
  76. package/dist/tools/wait-for-reply.d.ts.map +0 -1
  77. package/dist/tools/wait-for-reply.js +0 -65
  78. package/dist/tools/wait-for-reply.js.map +0 -1
  79. package/dist/utils/card-builder.d.ts +0 -16
  80. package/dist/utils/card-builder.d.ts.map +0 -1
  81. package/dist/utils/card-builder.js +0 -183
  82. package/dist/utils/card-builder.js.map +0 -1
  83. package/dist/utils/message-parser.d.ts +0 -45
  84. package/dist/utils/message-parser.d.ts.map +0 -1
  85. package/dist/utils/message-parser.js +0 -132
  86. package/dist/utils/message-parser.js.map +0 -1
@@ -13,6 +13,7 @@ import { buildStreamingCard, buildSessionCard } from '../im/lark/card-builder.js
13
13
  import { logger } from '../utils/logger.js';
14
14
  import { createCliAdapterSync } from '../adapters/cli/registry.js';
15
15
  import { TmuxBackend } from '../adapters/backend/tmux-backend.js';
16
+ import { getBot, getAllBots } from '../bot-registry.js';
16
17
  const __filename = fileURLToPath(import.meta.url);
17
18
  const __dirname = dirname(__filename);
18
19
  let callbacks;
@@ -34,14 +35,16 @@ function tag(ds) {
34
35
  // ─── Restart rate-limiting ──────────────────────────────────────────────────
35
36
  export const restartCounts = new Map();
36
37
  // ─── MCP config ─────────────────────────────────────────────────────────────
37
- /** Track whether ensureMcpConfig has run this daemon lifecycle */
38
- let mcpConfigDone = false;
38
+ /** Track which CLI adapters have had MCP config ensured this daemon lifecycle */
39
+ const mcpConfiguredCliIds = new Set();
39
40
  /**
40
- * Ensure the botmux MCP server is registered globally.
41
+ * Ensure the botmux MCP server is registered globally for a given CLI.
41
42
  * Delegates to the CLI adapter which knows the correct config file location.
42
43
  */
43
- export function ensureMcpConfig() {
44
- const adapter = createCliAdapterSync(config.daemon.cliId, config.daemon.cliPathOverride);
44
+ export function ensureMcpConfig(cliId, cliPathOverride) {
45
+ if (mcpConfiguredCliIds.has(cliId))
46
+ return;
47
+ const adapter = createCliAdapterSync(cliId, cliPathOverride);
45
48
  // Resolve path relative to src/ (one level up from core/)
46
49
  const serverScript = join(__dirname, '..', 'index.js');
47
50
  adapter.ensureMcpConfig({
@@ -49,11 +52,11 @@ export function ensureMcpConfig() {
49
52
  command: 'node',
50
53
  args: [serverScript],
51
54
  env: {
52
- LARK_APP_ID: config.lark.appId,
53
- LARK_APP_SECRET: config.lark.appSecret,
54
55
  SESSION_DATA_DIR: config.session.dataDir,
56
+ // LARK_APP_ID/SECRET come from worker process env at runtime
55
57
  },
56
58
  });
59
+ mcpConfiguredCliIds.add(cliId);
57
60
  }
58
61
  // ─── Kill worker ────────────────────────────────────────────────────────────
59
62
  export function killWorker(ds) {
@@ -74,6 +77,8 @@ export function killWorker(ds) {
74
77
  // ─── Fork worker ────────────────────────────────────────────────────────────
75
78
  export function forkWorker(ds, prompt, resume = false) {
76
79
  const cb = requireCallbacks();
80
+ const bot = getBot(ds.larkAppId);
81
+ const botCfg = bot.config;
77
82
  // worker.js lives in the same directory as daemon.js (src/)
78
83
  const workerPath = join(__dirname, '..', 'worker.js');
79
84
  const cwd = cb.getSessionWorkingDir(ds);
@@ -93,14 +98,16 @@ export function forkWorker(ds, prompt, resume = false) {
93
98
  ds.workerPort = null;
94
99
  ds.workerToken = null;
95
100
  }
96
- if (!mcpConfigDone) {
97
- ensureMcpConfig();
98
- mcpConfigDone = true;
99
- }
101
+ ensureMcpConfig(botCfg.cliId, botCfg.cliPathOverride);
100
102
  const worker = fork(workerPath, [], {
101
103
  stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
102
104
  cwd,
103
- env: { ...process.env, CLAUDECODE: undefined },
105
+ env: {
106
+ ...process.env,
107
+ CLAUDECODE: undefined,
108
+ LARK_APP_ID: botCfg.larkAppId,
109
+ LARK_APP_SECRET: botCfg.larkAppSecret,
110
+ },
104
111
  });
105
112
  // Pipe worker stdout/stderr to daemon logger
106
113
  worker.stdout?.on('data', (data) => {
@@ -117,20 +124,22 @@ export function forkWorker(ds, prompt, resume = false) {
117
124
  logger.error(`[${t}:worker] ${trimmed}`);
118
125
  }
119
126
  });
120
- // Send init config
127
+ // Send init config — use per-bot settings
121
128
  const initMsg = {
122
129
  type: 'init',
123
130
  sessionId: ds.session.sessionId,
124
131
  chatId: ds.chatId,
125
132
  rootMessageId: ds.session.rootMessageId,
126
133
  workingDir: cwd,
127
- cliId: config.daemon.cliId,
128
- cliPathOverride: config.daemon.cliPathOverride,
129
- backendType: config.daemon.backendType,
134
+ cliId: botCfg.cliId,
135
+ cliPathOverride: botCfg.cliPathOverride,
136
+ backendType: botCfg.backendType ?? config.daemon.backendType,
130
137
  prompt,
131
138
  resume,
132
139
  ownerOpenId: ds.ownerOpenId,
133
140
  webPort: ds.session.webPort,
141
+ larkAppId: botCfg.larkAppId,
142
+ larkAppSecret: botCfg.larkAppSecret,
134
143
  };
135
144
  worker.send(initMsg);
136
145
  ds.initConfig = initMsg;
@@ -149,13 +158,13 @@ export function forkWorker(ds, prompt, resume = false) {
149
158
  // Send streaming card to group thread (read-only link, will be PATCHed with live output)
150
159
  try {
151
160
  const initTitle = ds.currentTurnTitle || ds.session.title || 'Claude Code';
152
- const streamCardJson = buildStreamingCard(ds.session.sessionId, ds.session.rootMessageId, readOnlyUrl, initTitle, '', 'starting', config.daemon.cliId, ds.streamExpanded);
161
+ const streamCardJson = buildStreamingCard(ds.session.sessionId, ds.session.rootMessageId, readOnlyUrl, initTitle, '', 'starting', botCfg.cliId, ds.streamExpanded);
153
162
  ds.streamCardId = await cb.sessionReply(ds.session.rootMessageId, streamCardJson, 'interactive');
154
163
  }
155
164
  catch (err) {
156
165
  logger.warn(`[${t}] Failed to send streaming card, falling back to static card: ${err}`);
157
166
  // Fallback: send static session card
158
- const cardJson = buildSessionCard(ds.session.sessionId, ds.session.rootMessageId, readOnlyUrl, ds.session.title || 'Claude Code', config.daemon.cliId);
167
+ const cardJson = buildSessionCard(ds.session.sessionId, ds.session.rootMessageId, readOnlyUrl, ds.session.title || 'Claude Code', botCfg.cliId);
159
168
  await cb.sessionReply(ds.session.rootMessageId, cardJson, 'interactive');
160
169
  }
161
170
  break;
@@ -171,7 +180,7 @@ export function forkWorker(ds, prompt, resume = false) {
171
180
  ds.lastScreenStatus = msg.status;
172
181
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
173
182
  const turnTitle = ds.currentTurnTitle || ds.session.title || 'Claude Code';
174
- const cardJson = buildStreamingCard(ds.session.sessionId, ds.session.rootMessageId, readUrl, turnTitle, msg.content, msg.status, config.daemon.cliId, ds.streamExpanded);
183
+ const cardJson = buildStreamingCard(ds.session.sessionId, ds.session.rootMessageId, readUrl, turnTitle, msg.content, msg.status, botCfg.cliId, ds.streamExpanded);
175
184
  if (ds.streamCardPending || !ds.streamCardId) {
176
185
  // New turn — create a fresh card, old card freezes at its last state
177
186
  ds.streamCardPending = false;
@@ -181,7 +190,7 @@ export function forkWorker(ds, prompt, resume = false) {
181
190
  }
182
191
  else {
183
192
  // Same turn — PATCH existing card
184
- updateMessage(ds.streamCardId, cardJson).catch(err => {
193
+ updateMessage(ds.larkAppId, ds.streamCardId, cardJson).catch(err => {
185
194
  logger.debug(`[${t}] Failed to update streaming card: ${err}`);
186
195
  ds.streamCardId = undefined;
187
196
  });
@@ -255,24 +264,28 @@ export function killStalePids(activeSessions_) {
255
264
  // Process doesn't exist, nothing to clean up
256
265
  }
257
266
  }
258
- // Tmux cleanup
259
- if (config.daemon.backendType === 'tmux') {
260
- // If CLI_ID changed since last run, kill ALL tmux sessions (old CLI patterns won't match)
267
+ // Tmux cleanup — check if any bot uses tmux (or the global default is tmux)
268
+ const anyTmux = getAllBots().some(b => (b.config.backendType ?? config.daemon.backendType) === 'tmux')
269
+ || config.daemon.backendType === 'tmux';
270
+ if (anyTmux) {
271
+ const multiBot = getAllBots().length > 1;
261
272
  const cliIdFile = join(config.session.dataDir, 'last-cli-id');
262
273
  let lastCliId;
263
274
  try {
264
275
  lastCliId = readFileSync(cliIdFile, 'utf-8').trim();
265
276
  }
266
277
  catch { /* first run */ }
278
+ // For tmux cleanup: use global cliId for single-bot compat
267
279
  const currentCliId = config.daemon.cliId;
268
- if (lastCliId && lastCliId !== currentCliId) {
280
+ if (!multiBot && lastCliId && lastCliId !== currentCliId) {
281
+ // Single-bot mode: CLI_ID changed since last run, kill ALL tmux sessions
269
282
  logger.info(`CLI_ID changed (${lastCliId} → ${currentCliId}), killing all tmux sessions`);
270
283
  for (const name of TmuxBackend.listBotmuxSessions()) {
271
284
  TmuxBackend.killSession(name);
272
285
  }
273
286
  }
274
287
  else {
275
- // Clean orphaned tmux sessions: kill bmx-* sessions not in active set
288
+ // Multi-bot or same CLI_ID: clean orphaned tmux sessions not in active set
276
289
  const activeNames = new Set(activeSessions_.map(s => TmuxBackend.sessionName(s.sessionId)));
277
290
  for (const name of TmuxBackend.listBotmuxSessions()) {
278
291
  if (!activeNames.has(name)) {
@@ -281,7 +294,7 @@ export function killStalePids(activeSessions_) {
281
294
  }
282
295
  }
283
296
  }
284
- // Persist current CLI_ID for next restart
297
+ // Persist current CLI_ID for next restart (best-effort, single-bot compat)
285
298
  try {
286
299
  mkdirSync(config.session.dataDir, { recursive: true });
287
300
  writeFileSync(cliIdFile, currentCliId);
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAUA,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2UrD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgFjD"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAWA,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0VrD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAwFjD"}
package/dist/daemon.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { writeFileSync, existsSync, mkdirSync, unlinkSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { config, validateConfig } from './config.js';
4
+ import { config } from './config.js';
5
5
  import { replyMessage, updateMessage, resolveAllowedUsers } from './im/lark/client.js';
6
+ import { loadBotConfigs, registerBot, getBot, getAllBots } from './bot-registry.js';
6
7
  import * as sessionStore from './services/session-store.js';
7
8
  import * as messageQueue from './services/message-queue.js';
8
9
  import { parseEventMessage } from './im/lark/message-parser.js';
@@ -11,7 +12,7 @@ import * as scheduler from './core/scheduler.js';
11
12
  import { scanMultipleProjects } from './services/project-scanner.js';
12
13
  import { buildRepoSelectCard, buildStreamingCard } from './im/lark/card-builder.js';
13
14
  import { createCliAdapterSync } from './adapters/cli/registry.js';
14
- import { initWorkerPool, forkWorker, killWorker, setCurrentClaudeVersion, getCurrentClaudeVersion, } from './core/worker-pool.js';
15
+ import { initWorkerPool, forkWorker, killWorker, setCurrentClaudeVersion, } from './core/worker-pool.js';
15
16
  import { DAEMON_COMMANDS, handleCommand } from './core/command-handler.js';
16
17
  import { getSessionWorkingDir, getProjectScanDirs, downloadResources, formatAttachmentsHint, buildNewTopicPrompt, restoreActiveSessions, executeScheduledTask, } from './core/session-manager.js';
17
18
  import { handleCardAction } from './im/lark/card-handler.js';
@@ -20,7 +21,7 @@ import { probeBotOpenId, startLarkEventDispatcher } from './im/lark/event-dispat
20
21
  const activeSessions = new Map();
21
22
  // Cache last /repo scan results per chat for /repo <number> fallback
22
23
  const lastRepoScan = new Map();
23
- let lastVersionCheckAt = 0;
24
+ const cliVersionCache = new Map();
24
25
  const VERSION_CHECK_INTERVAL = 60_000; // cache 1 min
25
26
  /**
26
27
  * Reply to a message, automatically using reply_in_thread for p2p sessions.
@@ -28,8 +29,11 @@ const VERSION_CHECK_INTERVAL = 60_000; // cache 1 min
28
29
  */
29
30
  async function sessionReply(rootId, content, msgType = 'text') {
30
31
  const ds = activeSessions.get(rootId);
32
+ const appId = ds?.larkAppId ?? getAllBots()[0]?.config.larkAppId;
33
+ if (!appId)
34
+ throw new Error('No bot configured');
31
35
  const inThread = ds?.chatType === 'p2p';
32
- return replyMessage(rootId, content, msgType, inThread);
36
+ return replyMessage(appId, rootId, content, msgType, inThread);
33
37
  }
34
38
  // ─── PID file ────────────────────────────────────────────────────────────────
35
39
  function getPidFile() {
@@ -51,13 +55,13 @@ function removePidFile() {
51
55
  }
52
56
  }
53
57
  // ─── Version tracking ────────────────────────────────────────────────────────
54
- function refreshClaudeVersion() {
58
+ function refreshClaudeVersion(cliId, cliPathOverride) {
55
59
  const now = Date.now();
56
- if (now - lastVersionCheckAt < VERSION_CHECK_INTERVAL)
60
+ const cached = cliVersionCache.get(cliId);
61
+ if (cached && now - cached.lastCheckAt < VERSION_CHECK_INTERVAL)
57
62
  return false;
58
- lastVersionCheckAt = now;
59
63
  try {
60
- const adapter = createCliAdapterSync(config.daemon.cliId, config.daemon.cliPathOverride);
64
+ const adapter = createCliAdapterSync(cliId, cliPathOverride);
61
65
  const raw = execFileSync(adapter.resolvedBin, ['--version'], {
62
66
  encoding: 'utf-8',
63
67
  timeout: 5_000,
@@ -65,18 +69,19 @@ function refreshClaudeVersion() {
65
69
  const newVersion = raw.replace(/^[^0-9]*/, '');
66
70
  if (newVersion === 'unknown' || !newVersion)
67
71
  return false;
68
- const curVer = getCurrentClaudeVersion();
69
- if (curVer !== 'unknown' && newVersion !== curVer) {
70
- setCurrentClaudeVersion(newVersion);
71
- logger.info(`CLI version updated: ${curVer} → ${newVersion} (${adapter.id})`);
72
+ const oldVersion = cached?.version;
73
+ cliVersionCache.set(cliId, { version: newVersion, lastCheckAt: now });
74
+ // Also update the shared version (used by forkWorker for ds.claudeVersion)
75
+ setCurrentClaudeVersion(newVersion);
76
+ if (oldVersion && oldVersion !== newVersion) {
77
+ logger.info(`CLI version updated: ${oldVersion} → ${newVersion} (${adapter.id})`);
72
78
  return true;
73
79
  }
74
- setCurrentClaudeVersion(newVersion);
75
- logger.info(`CLI version: ${getCurrentClaudeVersion()} (${adapter.id})`);
80
+ logger.info(`CLI version: ${newVersion} (${adapter.id})`);
76
81
  return false;
77
82
  }
78
83
  catch (err) {
79
- logger.warn(`Failed to get CLI version: ${err.message}`);
84
+ logger.warn(`Failed to get CLI version for ${cliId}: ${err.message}`);
80
85
  return false;
81
86
  }
82
87
  }
@@ -106,25 +111,29 @@ const cardDeps = {
106
111
  lastRepoScan,
107
112
  };
108
113
  // ─── Event handling ──────────────────────────────────────────────────────────
109
- async function handleNewTopic(data, chatId, messageId, chatType = 'group') {
114
+ async function handleNewTopic(data, chatId, messageId, chatType = 'group', larkAppId) {
110
115
  const { parsed, resources } = parseEventMessage(data);
111
116
  const content = parsed.content.trim();
112
117
  const senderOpenId = data.sender?.sender_id?.open_id;
118
+ const botCfg = getBot(larkAppId).config;
113
119
  logger.info(`New topic: ${messageId} "${content.substring(0, 60)}" (resources: ${resources.length}, active: ${getActiveCount()})`);
114
120
  // Intercept daemon commands in new topics (no session needed for some commands)
115
121
  if (content.startsWith('/')) {
116
122
  const cmd = content.split(/\s+/)[0].toLowerCase();
117
123
  if (DAEMON_COMMANDS.has(cmd)) {
118
124
  const session = sessionStore.createSession(chatId, messageId, content.substring(0, 50), chatType);
125
+ session.larkAppId = larkAppId;
126
+ sessionStore.updateSession(session);
119
127
  activeSessions.set(messageId, {
120
128
  session,
121
129
  worker: null,
122
130
  workerPort: null,
123
131
  workerToken: null,
132
+ larkAppId,
124
133
  chatId,
125
134
  chatType,
126
135
  spawnedAt: Date.now(),
127
- claudeVersion: getCurrentClaudeVersion(),
136
+ claudeVersion: cliVersionCache.get(botCfg.cliId)?.version ?? 'unknown',
128
137
  lastMessageAt: Date.now(),
129
138
  hasHistory: false,
130
139
  ownerOpenId: senderOpenId,
@@ -134,13 +143,15 @@ async function handleNewTopic(data, chatId, messageId, chatType = 'group') {
134
143
  }
135
144
  }
136
145
  // Download attachments
137
- const attachments = await downloadResources(messageId, resources);
146
+ const attachments = await downloadResources(larkAppId, messageId, resources);
138
147
  if (attachments.length > 0) {
139
148
  parsed.attachments = attachments;
140
149
  }
141
- refreshClaudeVersion();
150
+ refreshClaudeVersion(botCfg.cliId, botCfg.cliPathOverride);
142
151
  // Create session in pending-repo state — don't spawn Claude yet
143
152
  const session = sessionStore.createSession(chatId, messageId, parsed.content.substring(0, 50), chatType);
153
+ session.larkAppId = larkAppId;
154
+ sessionStore.updateSession(session);
144
155
  messageQueue.ensureQueue(messageId);
145
156
  messageQueue.appendMessage(messageId, parsed);
146
157
  const ds = {
@@ -148,10 +159,11 @@ async function handleNewTopic(data, chatId, messageId, chatType = 'group') {
148
159
  worker: null,
149
160
  workerPort: null,
150
161
  workerToken: null,
162
+ larkAppId,
151
163
  chatId,
152
164
  chatType,
153
165
  spawnedAt: Date.now(),
154
- claudeVersion: getCurrentClaudeVersion(),
166
+ claudeVersion: cliVersionCache.get(botCfg.cliId)?.version ?? 'unknown',
155
167
  lastMessageAt: Date.now(),
156
168
  hasHistory: false,
157
169
  pendingRepo: true,
@@ -177,12 +189,12 @@ async function handleNewTopic(data, chatId, messageId, chatType = 'group') {
177
189
  else {
178
190
  // No projects found — skip repo selection, spawn directly
179
191
  ds.pendingRepo = false;
180
- const prompt = buildNewTopicPrompt(content, session.sessionId, attachments);
192
+ const prompt = buildNewTopicPrompt(content, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments);
181
193
  forkWorker(ds, prompt);
182
194
  logger.info(`Session ${session.sessionId} ready (no projects to select), total active: ${getActiveCount()}`);
183
195
  }
184
196
  }
185
- async function handleThreadReply(data, rootId) {
197
+ async function handleThreadReply(data, rootId, larkAppId) {
186
198
  const { parsed, resources } = parseEventMessage(data);
187
199
  const content = parsed.content.trim();
188
200
  // Intercept daemon commands
@@ -194,13 +206,14 @@ async function handleThreadReply(data, rootId) {
194
206
  }
195
207
  }
196
208
  logger.info(`Thread reply in ${rootId}: ${content.substring(0, 100)} (resources: ${resources.length})`);
197
- // Download attachments
198
- const attachments = await downloadResources(parsed.messageId, resources);
209
+ // Download attachments — use larkAppId from existing session if available, otherwise from event
210
+ const ds = activeSessions.get(rootId);
211
+ const effectiveAppId = ds?.larkAppId ?? larkAppId;
212
+ const attachments = await downloadResources(effectiveAppId, parsed.messageId, resources);
199
213
  if (attachments.length > 0) {
200
214
  parsed.attachments = attachments;
201
215
  }
202
216
  // Update last message time
203
- const ds = activeSessions.get(rootId);
204
217
  if (ds)
205
218
  ds.lastMessageAt = Date.now();
206
219
  // If waiting for repo selection, remind user
@@ -215,18 +228,22 @@ async function handleThreadReply(data, rootId) {
215
228
  // No active session for this thread — auto-create with repo selection
216
229
  const chatId = data?.message?.chat_id ?? '';
217
230
  const chatType = (data?.message?.chat_type === 'p2p' ? 'p2p' : 'group');
231
+ const botCfg = getBot(larkAppId).config;
218
232
  logger.info(`No active session for thread ${rootId}, auto-creating new session...`);
219
- refreshClaudeVersion();
233
+ refreshClaudeVersion(botCfg.cliId, botCfg.cliPathOverride);
220
234
  const session = sessionStore.createSession(chatId, rootId, parsed.content.substring(0, 50), chatType);
235
+ session.larkAppId = larkAppId;
236
+ sessionStore.updateSession(session);
221
237
  const newDs = {
222
238
  session,
223
239
  worker: null,
224
240
  workerPort: null,
225
241
  workerToken: null,
242
+ larkAppId,
226
243
  chatId,
227
244
  chatType,
228
245
  spawnedAt: Date.now(),
229
- claudeVersion: getCurrentClaudeVersion(),
246
+ claudeVersion: cliVersionCache.get(botCfg.cliId)?.version ?? 'unknown',
230
247
  lastMessageAt: Date.now(),
231
248
  hasHistory: false,
232
249
  pendingRepo: true,
@@ -252,7 +269,7 @@ async function handleThreadReply(data, rootId) {
252
269
  else {
253
270
  // No projects found — skip repo selection, spawn directly
254
271
  newDs.pendingRepo = false;
255
- const prompt = buildNewTopicPrompt(parsed.content, session.sessionId, attachments);
272
+ const prompt = buildNewTopicPrompt(parsed.content, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments);
256
273
  forkWorker(newDs, prompt);
257
274
  }
258
275
  return;
@@ -266,8 +283,9 @@ async function handleThreadReply(data, rootId) {
266
283
  if (ds.streamCardId && ds.workerPort) {
267
284
  const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
268
285
  const prevTitle = ds.currentTurnTitle || ds.session.title || 'Claude Code';
269
- const frozenCard = buildStreamingCard(ds.session.sessionId, ds.session.rootMessageId, readUrl, prevTitle, ds.lastScreenContent ?? '', 'idle', config.daemon.cliId, ds.streamExpanded);
270
- updateMessage(ds.streamCardId, frozenCard).catch(() => { });
286
+ const dsBotCfg = getBot(ds.larkAppId).config;
287
+ const frozenCard = buildStreamingCard(ds.session.sessionId, ds.session.rootMessageId, readUrl, prevTitle, ds.lastScreenContent ?? '', 'idle', dsBotCfg.cliId, ds.streamExpanded);
288
+ updateMessage(ds.larkAppId, ds.streamCardId, frozenCard).catch(() => { });
271
289
  }
272
290
  // Mark new turn — next screen_update will create a fresh streaming card
273
291
  ds.streamCardPending = true;
@@ -283,7 +301,11 @@ async function handleThreadReply(data, rootId) {
283
301
  }
284
302
  // ─── Main ────────────────────────────────────────────────────────────────────
285
303
  export async function startDaemon() {
286
- validateConfig();
304
+ // Load and register all bots
305
+ const botConfigs = loadBotConfigs();
306
+ for (const cfg of botConfigs) {
307
+ registerBot(cfg);
308
+ }
287
309
  writePidFile();
288
310
  // Initialise worker pool with daemon callbacks
289
311
  initWorkerPool({
@@ -291,43 +313,40 @@ export async function startDaemon() {
291
313
  getSessionWorkingDir,
292
314
  getActiveCount,
293
315
  });
294
- // Get initial CLI version
295
- refreshClaudeVersion();
296
- if (getCurrentClaudeVersion() === 'unknown') {
297
- logger.warn('Could not detect CLI version at startup');
298
- }
299
- // Validate and resolve ALLOWED_USERS
300
- if (config.daemon.allowedUsers.length > 0) {
301
- const invalid = config.daemon.allowedUsers.filter(u => !u.startsWith('ou_') && !u.includes('@'));
302
- if (invalid.length > 0) {
303
- logger.warn(`ALLOWED_USERS contains invalid entries (expected email or ou_ open_id): ${invalid.join(', ')}`);
304
- }
305
- const hasEmails = config.daemon.allowedUsers.some(u => u.includes('@'));
306
- if (hasEmails) {
307
- try {
308
- config.daemon.allowedUsers = await resolveAllowedUsers(config.daemon.allowedUsers);
309
- logger.info(`Resolved allowedUsers: ${config.daemon.allowedUsers.join(', ')}`);
310
- }
311
- catch (err) {
312
- logger.warn(`Failed to resolve allowedUsers: ${err.message}`);
316
+ // Per-bot initialization
317
+ for (const bot of getAllBots()) {
318
+ const cfg = bot.config;
319
+ // Refresh CLI version per bot's cliId
320
+ refreshClaudeVersion(cfg.cliId, cfg.cliPathOverride);
321
+ // Resolve allowed users per bot
322
+ if (bot.resolvedAllowedUsers.length > 0) {
323
+ const hasEmails = bot.resolvedAllowedUsers.some(u => u.includes('@'));
324
+ if (hasEmails) {
325
+ try {
326
+ bot.resolvedAllowedUsers = await resolveAllowedUsers(cfg.larkAppId, bot.resolvedAllowedUsers);
327
+ logger.info(`[${cfg.larkAppId}] Resolved allowedUsers: ${bot.resolvedAllowedUsers.join(', ')}`);
328
+ }
329
+ catch (err) {
330
+ logger.warn(`[${cfg.larkAppId}] Failed to resolve allowedUsers: ${err.message}`);
331
+ }
313
332
  }
314
333
  }
334
+ // Probe bot open_id
335
+ probeBotOpenId(cfg.larkAppId).catch(err => {
336
+ logger.warn(`[${cfg.larkAppId}] Bot open_id probe failed: ${err.message}`);
337
+ });
338
+ // Start event dispatcher for this bot
339
+ startLarkEventDispatcher(cfg.larkAppId, cfg.larkAppSecret, {
340
+ handleCardAction: (data, appId) => handleCardAction(data, cardDeps),
341
+ handleNewTopic: (data, chatId, messageId, chatType, appId) => handleNewTopic(data, chatId, messageId, chatType, appId),
342
+ handleThreadReply: (data, rootId, appId) => handleThreadReply(data, rootId, appId),
343
+ });
315
344
  }
316
- // Probe bot open_id at startup (non-blocking)
317
- probeBotOpenId().catch(err => {
318
- logger.warn(`Bot open_id probe failed (will learn from events): ${err.message}`);
319
- });
320
345
  // Restore active sessions from previous run
321
346
  restoreActiveSessions(activeSessions);
322
347
  // Start scheduled task scheduler
323
348
  scheduler.setExecuteCallback((task) => executeScheduledTask(task, activeSessions, refreshClaudeVersion));
324
349
  scheduler.startScheduler();
325
- // Start Lark event dispatcher
326
- startLarkEventDispatcher({
327
- handleCardAction: (data) => handleCardAction(data, cardDeps),
328
- handleNewTopic,
329
- handleThreadReply,
330
- });
331
350
  // Graceful shutdown
332
351
  const shutdown = () => {
333
352
  logger.info(`Daemon shutting down... (active: ${getActiveCount()})`);
@@ -335,7 +354,10 @@ export async function startDaemon() {
335
354
  for (const [, ds] of activeSessions) {
336
355
  if (ds.worker && !ds.worker.killed) {
337
356
  logger.info(`Shutting down worker for session ${ds.session.sessionId}`);
338
- if (config.daemon.backendType === 'tmux') {
357
+ const backendType = ds.larkAppId
358
+ ? (getBot(ds.larkAppId).config.backendType ?? config.daemon.backendType)
359
+ : config.daemon.backendType;
360
+ if (backendType === 'tmux') {
339
361
  // Tmux mode: just kill the worker process — tmux session survives for re-attach.
340
362
  // Worker's SIGTERM handler calls backend.kill() which only detaches.
341
363
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,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,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;CAC1C;AAUD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiKtF"}
1
+ {"version":3,"file":"card-handler.d.ts","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,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,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;CAC1C;AAUD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoLtF"}