botmux 2.29.0 → 2.30.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.
- package/dist/adapters/cli/claude-code.d.ts.map +1 -1
- package/dist/adapters/cli/claude-code.js +19 -1
- package/dist/adapters/cli/claude-code.js.map +1 -1
- package/dist/cli.js +79 -4
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +4 -2
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/session-manager.d.ts +11 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +22 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +4 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +41 -33
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +64 -5
- package/dist/daemon.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +20 -16
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +127 -22
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +16 -3
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +32 -4
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +14 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +101 -15
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/identity-cache.d.ts +64 -0
- package/dist/im/lark/identity-cache.d.ts.map +1 -0
- package/dist/im/lark/identity-cache.js +264 -0
- package/dist/im/lark/identity-cache.js.map +1 -0
- package/dist/services/observed-bots-store.d.ts +33 -0
- package/dist/services/observed-bots-store.d.ts.map +1 -0
- package/dist/services/observed-bots-store.js +98 -0
- package/dist/services/observed-bots-store.js.map +1 -0
- package/dist/setup/verify-permissions.d.ts +5 -0
- package/dist/setup/verify-permissions.d.ts.map +1 -1
- package/dist/setup/verify-permissions.js +11 -3
- package/dist/setup/verify-permissions.js.map +1 -1
- package/dist/utils/user-token.js +1 -1
- package/dist/utils/user-token.js.map +1 -1
- package/package.json +4 -3
package/dist/core/worker-pool.js
CHANGED
|
@@ -72,6 +72,9 @@ export function getActiveSessionsRegistry() {
|
|
|
72
72
|
function tag(ds) {
|
|
73
73
|
return ds.session.sessionId.substring(0, 8);
|
|
74
74
|
}
|
|
75
|
+
function sessionCliId(ds, botCfg) {
|
|
76
|
+
return ds.session.cliId ?? botCfg.cliId;
|
|
77
|
+
}
|
|
75
78
|
const WORKER_ERROR_MARKER = '[botmux-worker-error]';
|
|
76
79
|
function logWorkerStderr(t, line) {
|
|
77
80
|
if (!line)
|
|
@@ -485,18 +488,19 @@ export function forkWorker(ds, prompt, resume = false) {
|
|
|
485
488
|
};
|
|
486
489
|
worker.send(initMsg);
|
|
487
490
|
ds.initConfig = initMsg;
|
|
488
|
-
// Use shared handler for IPC messages and exit
|
|
489
|
-
setupWorkerHandlers(ds, worker);
|
|
490
|
-
ds.worker = worker;
|
|
491
|
-
ds.spawnedAt = Date.now();
|
|
492
|
-
ds.cliVersion = currentCliVersion;
|
|
493
491
|
// Stamp cliId on the persisted session so the dashboard can show a CLI badge
|
|
494
|
-
// even after the session is closed.
|
|
495
|
-
//
|
|
492
|
+
// even after the session is closed. Do this before installing worker handlers:
|
|
493
|
+
// a fast worker can emit `ready` immediately after init, and card rendering
|
|
494
|
+
// must see the session-level CLI identity rather than the bot default.
|
|
496
495
|
if (ds.session.cliId !== botCfg.cliId) {
|
|
497
496
|
ds.session.cliId = botCfg.cliId;
|
|
498
497
|
sessionStore.updateSession(ds.session);
|
|
499
498
|
}
|
|
499
|
+
// Use shared handler for IPC messages and exit
|
|
500
|
+
setupWorkerHandlers(ds, worker);
|
|
501
|
+
ds.worker = worker;
|
|
502
|
+
ds.spawnedAt = Date.now();
|
|
503
|
+
ds.cliVersion = currentCliVersion;
|
|
500
504
|
sessionStore.updateSessionPid(ds.session.sessionId, worker.pid ?? null);
|
|
501
505
|
logger.info(`[${t}] Worker forked (pid: ${worker.pid}, active: ${cb.getActiveCount()})`);
|
|
502
506
|
// Reset the exit-emit flag for the freshly spawned worker so a subsequent
|
|
@@ -520,6 +524,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
520
524
|
const isAdopt = !!ds.adoptedFrom;
|
|
521
525
|
const showTakeover = false;
|
|
522
526
|
worker.on('message', async (msg) => {
|
|
527
|
+
const effectiveCliId = sessionCliId(ds, botCfg);
|
|
523
528
|
switch (msg.type) {
|
|
524
529
|
case 'ready': {
|
|
525
530
|
ds.workerPort = msg.port;
|
|
@@ -547,11 +552,11 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
547
552
|
: undefined;
|
|
548
553
|
if (restoredCardId) {
|
|
549
554
|
try {
|
|
550
|
-
const initTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(
|
|
555
|
+
const initTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
|
|
551
556
|
// Reuse persisted nonce so existing card buttons (toggle/etc) keep working.
|
|
552
557
|
if (!ds.streamCardNonce)
|
|
553
558
|
ds.streamCardNonce = randomBytes(4).toString('hex');
|
|
554
|
-
const streamCardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readOnlyUrl, initTitle, ds.lastScreenContent ?? '', 'starting',
|
|
559
|
+
const streamCardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readOnlyUrl, initTitle, ds.lastScreenContent ?? '', 'starting', effectiveCliId, ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover, loc);
|
|
555
560
|
await updateMessage(ds.larkAppId, restoredCardId, streamCardJson);
|
|
556
561
|
persistStreamCardState(ds);
|
|
557
562
|
// Re-sync worker's display mode (it starts fresh in 'hidden')
|
|
@@ -578,8 +583,8 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
578
583
|
ds.streamCardId = CARD_POSTING_SENTINEL;
|
|
579
584
|
try {
|
|
580
585
|
ds.streamCardNonce = randomBytes(4).toString('hex');
|
|
581
|
-
const initTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(
|
|
582
|
-
const streamCardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readOnlyUrl, initTitle, '', 'starting',
|
|
586
|
+
const initTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
|
|
587
|
+
const streamCardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readOnlyUrl, initTitle, '', 'starting', effectiveCliId, ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover, loc);
|
|
583
588
|
ds.streamCardId = await cb.sessionReply(sessionAnchorId(ds), streamCardJson, 'interactive', ds.larkAppId);
|
|
584
589
|
persistStreamCardState(ds);
|
|
585
590
|
// New card is live — recall any cards frozen by previous turns.
|
|
@@ -600,7 +605,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
600
605
|
persistStreamCardState(ds);
|
|
601
606
|
// Fallback: send static session card
|
|
602
607
|
try {
|
|
603
|
-
const cardJson = buildSessionCard(ds.session.sessionId, sessionAnchorId(ds), readOnlyUrl, ds.session.title || getCliDisplayName(
|
|
608
|
+
const cardJson = buildSessionCard(ds.session.sessionId, sessionAnchorId(ds), readOnlyUrl, ds.session.title || getCliDisplayName(effectiveCliId), effectiveCliId, undefined, !!ds.adoptedFrom, loc);
|
|
604
609
|
await cb.sessionReply(sessionAnchorId(ds), cardJson, 'interactive', ds.larkAppId);
|
|
605
610
|
}
|
|
606
611
|
catch (fallbackErr) {
|
|
@@ -616,7 +621,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
616
621
|
break;
|
|
617
622
|
}
|
|
618
623
|
case 'prompt_ready': {
|
|
619
|
-
logger.info(`[${t}] ${getCliDisplayName(
|
|
624
|
+
logger.info(`[${t}] ${getCliDisplayName(effectiveCliId)} is ready for input`);
|
|
620
625
|
break;
|
|
621
626
|
}
|
|
622
627
|
case 'screen_update': {
|
|
@@ -643,7 +648,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
643
648
|
});
|
|
644
649
|
}
|
|
645
650
|
const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
|
|
646
|
-
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(
|
|
651
|
+
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
|
|
647
652
|
const mode = ds.displayMode ?? 'hidden';
|
|
648
653
|
if (ds.streamCardPending || !ds.streamCardId) {
|
|
649
654
|
// If a POST is already in-flight, drop this update — it will be
|
|
@@ -657,7 +662,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
657
662
|
// New turn → image_key from previous turn no longer valid
|
|
658
663
|
if (isNewTurn)
|
|
659
664
|
ds.currentImageKey = undefined;
|
|
660
|
-
const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, isNewTurn ? '' : msg.content, msg.status,
|
|
665
|
+
const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, isNewTurn ? '' : msg.content, msg.status, effectiveCliId, mode, ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover, loc);
|
|
661
666
|
// Mark POST in-flight so subsequent screen_updates are dropped,
|
|
662
667
|
// not POSTed as duplicate cards.
|
|
663
668
|
ds.streamCardPending = false;
|
|
@@ -691,7 +696,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
691
696
|
const statusChanged = prevStatus !== msg.status;
|
|
692
697
|
if (!statusChanged)
|
|
693
698
|
break;
|
|
694
|
-
const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, msg.content, msg.status,
|
|
699
|
+
const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, msg.content, msg.status, effectiveCliId, mode, ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover, loc);
|
|
695
700
|
scheduleCardPatch(ds, cardJson);
|
|
696
701
|
}
|
|
697
702
|
break;
|
|
@@ -709,8 +714,8 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
709
714
|
if (!ds.streamCardId || ds.streamCardId === CARD_POSTING_SENTINEL || !ds.workerPort)
|
|
710
715
|
break;
|
|
711
716
|
const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
|
|
712
|
-
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(
|
|
713
|
-
const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent ?? '', msg.status,
|
|
717
|
+
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
|
|
718
|
+
const cardJson = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent ?? '', msg.status, effectiveCliId, 'screenshot', ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover, loc);
|
|
714
719
|
scheduleCardPatch(ds, cardJson);
|
|
715
720
|
break;
|
|
716
721
|
}
|
|
@@ -758,7 +763,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
758
763
|
break;
|
|
759
764
|
}
|
|
760
765
|
case 'claude_exit': {
|
|
761
|
-
logger.info(`[${t}] ${getCliDisplayName(
|
|
766
|
+
logger.info(`[${t}] ${getCliDisplayName(effectiveCliId)} exited (code: ${msg.code}, signal: ${msg.signal})`);
|
|
762
767
|
ds.hasHistory = true;
|
|
763
768
|
// Do NOT auto-restart in adopt mode — there's nothing to restart
|
|
764
769
|
if (ds.adoptedFrom) {
|
|
@@ -766,8 +771,8 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
766
771
|
// Freeze the streaming card
|
|
767
772
|
if (ds.streamCardId && ds.workerPort) {
|
|
768
773
|
const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
|
|
769
|
-
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(
|
|
770
|
-
const frozenCard = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent ?? '', 'idle',
|
|
774
|
+
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
|
|
775
|
+
const frozenCard = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent ?? '', 'idle', effectiveCliId, ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover);
|
|
771
776
|
scheduleCardPatch(ds, frozenCard);
|
|
772
777
|
}
|
|
773
778
|
killWorker(ds);
|
|
@@ -794,17 +799,17 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
794
799
|
rc.lastAt = now;
|
|
795
800
|
restartCounts.set(key, rc);
|
|
796
801
|
if (rc.count > 3) {
|
|
797
|
-
logger.warn(`[${t}] ${getCliDisplayName(
|
|
802
|
+
logger.warn(`[${t}] ${getCliDisplayName(effectiveCliId)} crashed ${rc.count} times in 1 min, not auto-restarting`);
|
|
798
803
|
// Freeze the last streaming card so it doesn't stay at "working" forever
|
|
799
804
|
if (ds.streamCardId && ds.workerPort) {
|
|
800
805
|
const readUrl = `http://${config.web.externalHost}:${ds.workerPort}`;
|
|
801
|
-
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(
|
|
802
|
-
const frozenCard = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent ?? '', 'idle',
|
|
806
|
+
const turnTitle = ds.currentTurnTitle || ds.session.title || getCliDisplayName(effectiveCliId);
|
|
807
|
+
const frozenCard = buildStreamingCard(ds.session.sessionId, sessionAnchorId(ds), readUrl, turnTitle, ds.lastScreenContent ?? '', 'idle', effectiveCliId, ds.displayMode ?? 'hidden', ds.streamCardNonce, ds.currentImageKey, isAdopt, showTakeover, loc);
|
|
803
808
|
scheduleCardPatch(ds, frozenCard);
|
|
804
809
|
}
|
|
805
810
|
// Kill the worker process to free resources
|
|
806
811
|
killWorker(ds);
|
|
807
|
-
const cliName = getCliDisplayName(
|
|
812
|
+
const cliName = getCliDisplayName(effectiveCliId);
|
|
808
813
|
try {
|
|
809
814
|
await cb.sessionReply(sessionAnchorId(ds), tr('worker.crash_loop_stopped', { cliName, count: rc.count }, loc), 'text', ds.larkAppId);
|
|
810
815
|
}
|
|
@@ -818,7 +823,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
818
823
|
}
|
|
819
824
|
// Auto-restart CLI within the same worker
|
|
820
825
|
if (ds.worker && !ds.worker.killed) {
|
|
821
|
-
logger.info(`[${t}] Auto-restarting ${getCliDisplayName(
|
|
826
|
+
logger.info(`[${t}] Auto-restarting ${getCliDisplayName(effectiveCliId)}...`);
|
|
822
827
|
ds.worker.send({ type: 'restart' });
|
|
823
828
|
}
|
|
824
829
|
break;
|
|
@@ -871,7 +876,7 @@ function setupWorkerHandlers(ds, worker) {
|
|
|
871
876
|
title: '📜 /adopt 前最后一轮',
|
|
872
877
|
userText: msg.userText,
|
|
873
878
|
assistantText: msg.assistantText,
|
|
874
|
-
assistantLabel: getCliDisplayName(
|
|
879
|
+
assistantLabel: getCliDisplayName(effectiveCliId),
|
|
875
880
|
recipientOpenId: ds.session.ownerOpenId,
|
|
876
881
|
});
|
|
877
882
|
cb.sessionReply(sessionAnchorId(ds), cardJson, 'interactive', ds.larkAppId).catch((err) => {
|
|
@@ -913,6 +918,7 @@ const FINAL_OUTPUT_RETRY_BACKOFF_MS = [0, 5000, 15000]; // immediate, +5s, +15s
|
|
|
913
918
|
* via an unbounded retry loop. */
|
|
914
919
|
function deliverFinalOutput(ds, msg, t, attempt) {
|
|
915
920
|
const cb = requireCallbacks();
|
|
921
|
+
const effectiveCliId = ds.session.cliId ?? getBot(ds.larkAppId).config.cliId;
|
|
916
922
|
setTimeout(async () => {
|
|
917
923
|
// Guard: if the user closed the session (or it was torn down for any
|
|
918
924
|
// other reason) between attempts, don't post a stale final answer to
|
|
@@ -940,7 +946,7 @@ function deliverFinalOutput(ds, msg, t, attempt) {
|
|
|
940
946
|
: '🖥️ 终端本地对话(在 adopted pane 中直接输入,已同步至飞书)',
|
|
941
947
|
userText: msg.kind === 'local-turn' ? msg.userText ?? '' : undefined,
|
|
942
948
|
assistantText: msg.content,
|
|
943
|
-
assistantLabel: getCliDisplayName(
|
|
949
|
+
assistantLabel: getCliDisplayName(effectiveCliId),
|
|
944
950
|
recipientOpenId: ds.session.ownerOpenId,
|
|
945
951
|
})
|
|
946
952
|
: buildMarkdownCard(msg.content, ds.session.ownerOpenId);
|
|
@@ -1077,18 +1083,20 @@ export function forkAdoptWorker(ds, opts) {
|
|
|
1077
1083
|
};
|
|
1078
1084
|
worker.send(initMsg);
|
|
1079
1085
|
ds.initConfig = initMsg;
|
|
1080
|
-
// Use shared handler
|
|
1081
|
-
setupWorkerHandlers(ds, worker);
|
|
1082
|
-
ds.worker = worker;
|
|
1083
|
-
ds.spawnedAt = Date.now();
|
|
1084
|
-
ds.cliVersion = '';
|
|
1085
1086
|
// Stamp cliId on the persisted session so the dashboard can show a CLI badge
|
|
1086
1087
|
// even after the session is closed. Adopt sessions inherit the adopted CLI's id.
|
|
1088
|
+
// Do this before installing worker handlers: a fast worker can emit `ready`
|
|
1089
|
+
// immediately after init, and card rendering must use the adopted CLI identity.
|
|
1087
1090
|
const adoptedCliIdTyped = adoptedCliId;
|
|
1088
1091
|
if (ds.session.cliId !== adoptedCliIdTyped) {
|
|
1089
1092
|
ds.session.cliId = adoptedCliIdTyped;
|
|
1090
1093
|
sessionStore.updateSession(ds.session);
|
|
1091
1094
|
}
|
|
1095
|
+
// Use shared handler
|
|
1096
|
+
setupWorkerHandlers(ds, worker);
|
|
1097
|
+
ds.worker = worker;
|
|
1098
|
+
ds.spawnedAt = Date.now();
|
|
1099
|
+
ds.cliVersion = '';
|
|
1092
1100
|
logger.info(`[${t}] Adopt worker forked (pid: ${worker.pid}, target: ${adopted.tmuxTarget})`);
|
|
1093
1101
|
ds.exitEventEmitted = false;
|
|
1094
1102
|
dashboardEventBus.publish({
|
|
@@ -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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"}
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAuBA,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAuBA,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0/BrD,wBAAsB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwPlE"}
|
package/dist/daemon.js
CHANGED
|
@@ -34,6 +34,8 @@ import { isCallbackUrl, handleCallbackUrl } from './utils/user-token.js';
|
|
|
34
34
|
import { getSessionWorkingDir, getProjectScanDirs, expandHome, downloadResources, formatAttachmentsHint, buildNewTopicPrompt, buildFollowUpContent, buildBridgeInputContent, buildReforkPrompt, getAvailableBots, restoreActiveSessions, executeScheduledTask, persistStreamCardState, } from './core/session-manager.js';
|
|
35
35
|
import { handleCardAction } from './im/lark/card-handler.js';
|
|
36
36
|
import { isBotMentioned, probeBotOpenId, startLarkEventDispatcher, writeBotInfoFile, canOperate, isKnownPeerBot, checkRequiredScopes } from './im/lark/event-dispatcher.js';
|
|
37
|
+
import { learnFromMentions, resolveSender, flushIdentityCacheSync } from './im/lark/identity-cache.js';
|
|
38
|
+
import { renderSenderTag } from './core/session-manager.js';
|
|
37
39
|
import { markSessionActivity } from './core/session-activity.js';
|
|
38
40
|
// ─── State ───────────────────────────────────────────────────────────────────
|
|
39
41
|
const activeSessions = new Map();
|
|
@@ -250,6 +252,7 @@ function beginNewTurn(ds, title) {
|
|
|
250
252
|
}
|
|
251
253
|
ds.streamCardPending = true;
|
|
252
254
|
ds.currentTurnTitle = title.substring(0, 50);
|
|
255
|
+
ds.currentImageKey = undefined;
|
|
253
256
|
persistStreamCardState(ds);
|
|
254
257
|
}
|
|
255
258
|
// Dependencies passed to command-handler
|
|
@@ -332,6 +335,10 @@ async function handleNewTopic(data, ctx) {
|
|
|
332
335
|
const { extraResources } = await expandMergeForward(larkAppId, messageId, parsed);
|
|
333
336
|
resources.push(...extraResources);
|
|
334
337
|
}
|
|
338
|
+
// Free-path identity learning — mentions carry (name, open_id) pairs, so
|
|
339
|
+
// every event that flows through us teaches the cache without touching
|
|
340
|
+
// the contact API. Must run before any await on the sender resolver.
|
|
341
|
+
learnFromMentions(larkAppId, parsed.mentions);
|
|
335
342
|
let content = parsed.content.trim();
|
|
336
343
|
// Strip leading @<bot> mentions so "@bot /oncall bind" is recognized as a command.
|
|
337
344
|
let cmdContent = stripLeadingMentions(content, parsed.mentions);
|
|
@@ -423,6 +430,10 @@ async function handleNewTopic(data, ctx) {
|
|
|
423
430
|
// worker will see; promptContent wraps it for prompt-building paths but
|
|
424
431
|
// leaves `content` untouched for title / log substring uses.
|
|
425
432
|
const promptContent = buildQuoteHint(parsed, scope, anchor) + content;
|
|
433
|
+
// Resolve sender identity for <sender> tag injection. The first call to
|
|
434
|
+
// resolveSender for an unseen open_id may await contact.v3.user.get with a
|
|
435
|
+
// short budget; subsequent calls hit the cache and are sync-fast.
|
|
436
|
+
const newTopicSender = await resolveSender(larkAppId, senderOpenId, parsed.senderType);
|
|
426
437
|
refreshCliVersion(botCfg.cliId, botCfg.cliPathOverride);
|
|
427
438
|
// Create session in pending-repo state — don't spawn CLI yet.
|
|
428
439
|
// For thread-scope, rootMessageId == anchor (the thread root). Critical
|
|
@@ -479,6 +490,7 @@ async function handleNewTopic(data, ctx) {
|
|
|
479
490
|
pendingPrompt: promptContent,
|
|
480
491
|
pendingAttachments: attachments.length > 0 ? attachments : undefined,
|
|
481
492
|
pendingMentions: parsed.mentions,
|
|
493
|
+
pendingSender: newTopicSender,
|
|
482
494
|
ownerOpenId: senderOpenId,
|
|
483
495
|
currentTurnTitle: content.substring(0, 50),
|
|
484
496
|
workingDir: pinnedWorkingDir,
|
|
@@ -491,7 +503,7 @@ async function handleNewTopic(data, ctx) {
|
|
|
491
503
|
// Pinned (oncall binding or inherited from sibling bot): spawn CLI immediately.
|
|
492
504
|
if (pinnedWorkingDir) {
|
|
493
505
|
const selfBot = getBot(larkAppId);
|
|
494
|
-
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, chatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId));
|
|
506
|
+
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, chatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId), newTopicSender);
|
|
495
507
|
forkWorker(ds, prompt);
|
|
496
508
|
const reason = oncallEntry
|
|
497
509
|
? `oncall-bound chat ${chatId}`
|
|
@@ -516,7 +528,7 @@ async function handleNewTopic(data, ctx) {
|
|
|
516
528
|
// No projects found — skip repo selection, spawn directly
|
|
517
529
|
ds.pendingRepo = false;
|
|
518
530
|
const selfBot = getBot(larkAppId);
|
|
519
|
-
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, chatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId));
|
|
531
|
+
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, chatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId), newTopicSender);
|
|
520
532
|
forkWorker(ds, prompt);
|
|
521
533
|
logger.info(`Session ${session.sessionId} ready (no projects to select), total active: ${getActiveCount()}`);
|
|
522
534
|
}
|
|
@@ -565,6 +577,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
565
577
|
const { extraResources } = await expandMergeForward(larkAppId, parsed.messageId, parsed);
|
|
566
578
|
resources.push(...extraResources);
|
|
567
579
|
}
|
|
580
|
+
learnFromMentions(larkAppId, parsed.mentions);
|
|
568
581
|
// Foreign bot @mention prefix: when sender is another botmux bot,把内容包成
|
|
569
582
|
// [来自 X 的 @mention]\n<原文> 喂给 worker,让 CLI 知道这是另一个 bot 发的——
|
|
570
583
|
// 不是用户直接发的——后续不需要按"对话用户"的方式处理。signal-file 路径
|
|
@@ -585,14 +598,29 @@ async function handleThreadReply(data, ctx) {
|
|
|
585
598
|
senderOpenIdForPrefix !== selfBotOpenId &&
|
|
586
599
|
(isBotSenderType ||
|
|
587
600
|
isKnownPeerBot(config.session.dataDir, larkAppId, senderOpenIdForPrefix));
|
|
601
|
+
const foreignBotName = isForeignBot ? lookupForeignBotName(senderOpenIdForPrefix, larkAppId) : undefined;
|
|
588
602
|
const botSenderPrefix = isForeignBot
|
|
589
|
-
? `${tr('daemon.foreign_bot_mention_prefix', { botName:
|
|
603
|
+
? `${tr('daemon.foreign_bot_mention_prefix', { botName: foreignBotName }, localeForBot(larkAppId))}\n`
|
|
590
604
|
: '';
|
|
591
605
|
const promptContent = buildQuoteHint(parsed, scope, anchor) + botSenderPrefix + parsed.content;
|
|
592
606
|
if (isForeignBot) {
|
|
593
607
|
logger.info(`[${larkAppId}] foreign-bot @mention prefix attached: sender=${senderOpenIdForPrefix?.substring(0, 12)} ` +
|
|
594
608
|
`senderType=${parsed.senderType} via=${isBotSenderType ? 'sender_type' : 'cross-ref'}`);
|
|
595
609
|
}
|
|
610
|
+
// resolveSender is deferred until we know the message actually needs prompt
|
|
611
|
+
// injection. callback URLs, daemon commands, and "other bot owns this
|
|
612
|
+
// anchor" all return early; routing them through resolveSender first would
|
|
613
|
+
// tack the 800ms budget onto paths that never see the sender tag. Use the
|
|
614
|
+
// helper below at every actual injection point.
|
|
615
|
+
let threadSenderCached;
|
|
616
|
+
let threadSenderResolved = false;
|
|
617
|
+
const getThreadSender = async () => {
|
|
618
|
+
if (threadSenderResolved)
|
|
619
|
+
return threadSenderCached;
|
|
620
|
+
threadSenderResolved = true;
|
|
621
|
+
threadSenderCached = await resolveSender(larkAppId, senderOpenIdForPrefix, parsed.senderType, isForeignBot ? { type: 'bot', name: foreignBotName !== 'Bot' ? foreignBotName : undefined } : undefined);
|
|
622
|
+
return threadSenderCached;
|
|
623
|
+
};
|
|
596
624
|
const content = parsed.content.trim();
|
|
597
625
|
// Strip leading @<bot> mentions so "@bot /restart" is recognized as a command.
|
|
598
626
|
const cmdContent = stripLeadingMentions(content, parsed.mentions);
|
|
@@ -694,6 +722,13 @@ async function handleThreadReply(data, ctx) {
|
|
|
694
722
|
});
|
|
695
723
|
enriched += `\n\n${tr('daemon.enriched_mentions_label', undefined, localeForBot(larkAppId))}\n${mentionLines.join('\n')}`;
|
|
696
724
|
}
|
|
725
|
+
// Stamp each buffered follow-up with its own <sender> tag — pendingFollowUps
|
|
726
|
+
// can contain messages from multiple users while a single ds.pendingSender
|
|
727
|
+
// is fixed at the first message, so without per-message attribution the
|
|
728
|
+
// CLI can't tell which user said what after repo selection unlocks the spawn.
|
|
729
|
+
const followUpSenderTag = renderSenderTag(await getThreadSender());
|
|
730
|
+
if (followUpSenderTag)
|
|
731
|
+
enriched = `${followUpSenderTag}\n${enriched}`;
|
|
697
732
|
if (!ds.pendingFollowUps)
|
|
698
733
|
ds.pendingFollowUps = [];
|
|
699
734
|
ds.pendingFollowUps.push(enriched);
|
|
@@ -750,6 +785,11 @@ async function handleThreadReply(data, ctx) {
|
|
|
750
785
|
})
|
|
751
786
|
: null;
|
|
752
787
|
const pinnedWorkingDir = oncallEntry?.workingDir ?? inheritedFrom?.workingDir;
|
|
788
|
+
// Now we know the message will spawn or pend a real session — resolve
|
|
789
|
+
// sender (may await contact API budget) since every downstream branch
|
|
790
|
+
// injects it either into the immediate prompt or stashes it on
|
|
791
|
+
// pendingSender for the deferred spawn.
|
|
792
|
+
const autoCreateSender = await getThreadSender();
|
|
753
793
|
const newDs = {
|
|
754
794
|
session,
|
|
755
795
|
worker: null,
|
|
@@ -767,6 +807,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
767
807
|
pendingPrompt: promptContent,
|
|
768
808
|
pendingAttachments: attachments.length > 0 ? attachments : undefined,
|
|
769
809
|
pendingMentions: parsed.mentions,
|
|
810
|
+
pendingSender: autoCreateSender,
|
|
770
811
|
ownerOpenId: senderOId,
|
|
771
812
|
currentTurnTitle: parsed.content.substring(0, 50),
|
|
772
813
|
workingDir: pinnedWorkingDir,
|
|
@@ -780,7 +821,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
780
821
|
// spawn CLI immediately, skip repo selection.
|
|
781
822
|
if (pinnedWorkingDir) {
|
|
782
823
|
const selfBot = getBot(larkAppId);
|
|
783
|
-
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, autoCreateChatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId));
|
|
824
|
+
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, autoCreateChatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId), autoCreateSender);
|
|
784
825
|
forkWorker(newDs, prompt);
|
|
785
826
|
const reason = oncallEntry
|
|
786
827
|
? `oncall-bound chat ${autoCreateChatId}`
|
|
@@ -805,7 +846,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
805
846
|
// No projects found — skip repo selection, spawn directly
|
|
806
847
|
newDs.pendingRepo = false;
|
|
807
848
|
const selfBot = getBot(larkAppId);
|
|
808
|
-
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, autoCreateChatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId));
|
|
849
|
+
const prompt = buildNewTopicPrompt(promptContent, session.sessionId, botCfg.cliId, botCfg.cliPathOverride, attachments, parsed.mentions, await getAvailableBots(larkAppId, autoCreateChatId), undefined, { name: selfBot.botName, openId: selfBot.botOpenId }, localeForBot(larkAppId), autoCreateSender);
|
|
809
850
|
forkWorker(newDs, prompt);
|
|
810
851
|
}
|
|
811
852
|
return;
|
|
@@ -835,6 +876,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
835
876
|
isAdoptMode: false,
|
|
836
877
|
cliId: dsBotCfgForMsg.cliId,
|
|
837
878
|
cliPathOverride: dsBotCfgForMsg.cliPathOverride,
|
|
879
|
+
sender: await getThreadSender(),
|
|
838
880
|
});
|
|
839
881
|
beginNewTurn(ds, parsed.content);
|
|
840
882
|
ds.worker.send({ type: 'message', content: msgContent });
|
|
@@ -853,6 +895,14 @@ async function handleThreadReply(data, ctx) {
|
|
|
853
895
|
parkStreamCard(ds);
|
|
854
896
|
ds.streamCardId = undefined;
|
|
855
897
|
ds.streamCardNonce = undefined;
|
|
898
|
+
// This is a new turn even though the worker is currently down. Force the
|
|
899
|
+
// first screen_update from the re-forked worker to POST a fresh card and
|
|
900
|
+
// drop any persisted screenshot from the previous turn. Otherwise a stale
|
|
901
|
+
// image_key (for example an old Claude Code frame) can be reused on the
|
|
902
|
+
// new Worker card until the next screenshot upload, which makes a fresh
|
|
903
|
+
// @mention appear to resurrect the wrong CLI UI.
|
|
904
|
+
ds.streamCardPending = true;
|
|
905
|
+
ds.currentImageKey = undefined;
|
|
856
906
|
persistStreamCardState(ds);
|
|
857
907
|
// Wrap the user message in the same `<user_message>` / `<session_id>` /
|
|
858
908
|
// `<botmux_reminder>` envelope as live-worker turns. Without this, the
|
|
@@ -869,6 +919,7 @@ async function handleThreadReply(data, ctx) {
|
|
|
869
919
|
cliId: dsBotCfgForFork.cliId,
|
|
870
920
|
cliPathOverride: dsBotCfgForFork.cliPathOverride,
|
|
871
921
|
selfMention: { name: selfBot.botName, openId: selfBot.botOpenId },
|
|
922
|
+
sender: await getThreadSender(),
|
|
872
923
|
});
|
|
873
924
|
forkWorker(ds, wrappedPrompt, ds.hasHistory);
|
|
874
925
|
}
|
|
@@ -1100,6 +1151,10 @@ export async function startDaemon(botIndex) {
|
|
|
1100
1151
|
logger.warn(`${stragglers}/${survivors.length} worker(s) didn't exit within ${SHUTDOWN_GRACE_MS}ms — SIGKILL'd to prevent ppid=1 orphans.`);
|
|
1101
1152
|
}
|
|
1102
1153
|
}
|
|
1154
|
+
// Flush any pending identity-cache writes before exit. The cache uses a
|
|
1155
|
+
// 2s debounce on disk persistence to dedupe writes from chatty groups; on
|
|
1156
|
+
// SIGTERM we want anything learned since the last flush to land.
|
|
1157
|
+
flushIdentityCacheSync();
|
|
1103
1158
|
removePidFile();
|
|
1104
1159
|
process.exit(0);
|
|
1105
1160
|
};
|
|
@@ -1111,6 +1166,10 @@ export async function startDaemon(botIndex) {
|
|
|
1111
1166
|
process.on('exit', () => {
|
|
1112
1167
|
clearInterval(descriptorHeartbeat);
|
|
1113
1168
|
removeDaemonDescriptor(cfg.larkAppId);
|
|
1169
|
+
// Plain-exit path (uncaught fatal, manual process.exit) bypasses the
|
|
1170
|
+
// graceful shutdown above. flushIdentityCacheSync is synchronous and
|
|
1171
|
+
// idempotent — safe to call here as a belt-and-suspenders save.
|
|
1172
|
+
flushIdentityCacheSync();
|
|
1114
1173
|
});
|
|
1115
1174
|
logger.info('Daemon is running. Press Ctrl+C to stop.');
|
|
1116
1175
|
}
|