11import { ConsoleCompletedHandler } from '#agent/autonomous/agentCompletion' ;
2- import { SlackChatBotService } from '#modules/slack/slackChatBotService' ;
32import { logger } from '#o11y/logger' ;
43import { GitLabNoteCompletedHandler } from '#routes/webhooks/gitlab/gitlabNoteHandler' ;
54import type { AgentCompleted } from '#shared/agent/agent.model' ;
65
76// Use a Map for easier addition/removal during tests
87let handlersMap = new Map < string , new ( ) => AgentCompleted > ( ) ;
98
10- // Initialize with default handlers
11- handlersMap . set ( new ConsoleCompletedHandler ( ) . agentCompletedHandlerId ( ) , ConsoleCompletedHandler ) ;
12- handlersMap . set ( new SlackChatBotService ( ) . agentCompletedHandlerId ( ) , SlackChatBotService ) ;
13- handlersMap . set ( new GitLabNoteCompletedHandler ( ) . agentCompletedHandlerId ( ) , GitLabNoteCompletedHandler ) ;
9+ function initHandlers ( ) {
10+ // Initialize with default handlers
11+ handlersMap . set ( new ConsoleCompletedHandler ( ) . agentCompletedHandlerId ( ) , ConsoleCompletedHandler ) ;
12+ handlersMap . set ( new GitLabNoteCompletedHandler ( ) . agentCompletedHandlerId ( ) , GitLabNoteCompletedHandler ) ;
13+ }
1414
1515/**
1616 * Return the AgentCompleted callback object from its id.
@@ -20,6 +20,8 @@ handlersMap.set(new GitLabNoteCompletedHandler().agentCompletedHandlerId(), GitL
2020export function getCompletedHandler ( handlerId : string ) : AgentCompleted | null {
2121 if ( ! handlerId ) return null ;
2222
23+ if ( handlersMap . size === 0 ) initHandlers ( ) ;
24+
2325 const HandlerCtor = handlersMap . get ( handlerId ) ;
2426 if ( HandlerCtor ) return new HandlerCtor ( ) ;
2527
@@ -47,5 +49,4 @@ export function clearCompletedHandlers(): void {
4749 handlersMap = new Map < string , new ( ) => AgentCompleted > ( ) ;
4850 // Re-initialize with default handlers
4951 handlersMap . set ( new ConsoleCompletedHandler ( ) . agentCompletedHandlerId ( ) , ConsoleCompletedHandler ) ;
50- handlersMap . set ( new SlackChatBotService ( ) . agentCompletedHandlerId ( ) , SlackChatBotService ) ;
5152}
0 commit comments