feat(csm): bootstrap discussion callback flow
This commit is contained in:
@@ -17,8 +17,10 @@ import { ensureTurnOrder, recordChannelAccount } from "./core/turn-bootstrap.js"
|
||||
import { debugCtxSummary, pickDefined, shouldDebugLog } from "./core/utils.js";
|
||||
import { resolveDiscordUserId, sendModeratorMessage } from "./core/moderator-discord.js";
|
||||
import { startNoReplyApi, stopNoReplyApi } from "./core/no-reply-process.js";
|
||||
import { createDiscussionService } from "./core/discussion-service.js";
|
||||
import {
|
||||
DECISION_TTL_MS,
|
||||
forceNoReplySessions,
|
||||
pruneDecisionMap,
|
||||
sessionAccountId,
|
||||
sessionAllowed,
|
||||
@@ -113,11 +115,21 @@ export default {
|
||||
api.logger.info("dirigent: gateway stopping, services shut down");
|
||||
});
|
||||
|
||||
const discussionService = createDiscussionService({
|
||||
api,
|
||||
moderatorBotToken: baseConfig.moderatorBotToken,
|
||||
workspaceRoot: process.cwd(),
|
||||
forceNoReplyForSession: (sessionKey: string) => {
|
||||
if (sessionKey) forceNoReplySessions.add(sessionKey);
|
||||
},
|
||||
});
|
||||
|
||||
// Register tools
|
||||
registerDirigentTools({
|
||||
api,
|
||||
baseConfig,
|
||||
pickDefined,
|
||||
discussionService,
|
||||
});
|
||||
|
||||
// Turn management is handled internally by the plugin (not exposed as tools).
|
||||
@@ -133,6 +145,7 @@ export default {
|
||||
recordChannelAccount,
|
||||
extractMentionedUserIds,
|
||||
buildUserIdToAccountIdMap,
|
||||
discussionService,
|
||||
});
|
||||
|
||||
registerBeforeModelResolveHook({
|
||||
@@ -142,6 +155,7 @@ export default {
|
||||
sessionAllowed,
|
||||
sessionChannelId,
|
||||
sessionAccountId,
|
||||
forceNoReplySessions,
|
||||
policyState,
|
||||
DECISION_TTL_MS,
|
||||
ensurePolicyStateLoaded,
|
||||
@@ -188,6 +202,7 @@ export default {
|
||||
ensureTurnOrder,
|
||||
resolveDiscordUserId,
|
||||
sendModeratorMessage,
|
||||
discussionService,
|
||||
});
|
||||
|
||||
// Turn advance: when an agent sends a message, check if it signals end of turn
|
||||
|
||||
Reference in New Issue
Block a user