11package link.socket.ampere.agents.events
22
3- import link.socket.ampere.agents.events.api.AgentEventApi
4- import link.socket.ampere.agents.events.bus.EventBus
3+ import link.socket.ampere.agents.core.AgentId
54import link.socket.ampere.agents.events.meetings.Meeting
65import link.socket.ampere.agents.events.meetings.MeetingOrchestrator
7- import link.socket.ampere.agents.events.meetings.MeetingRepository
8- import link.socket.ampere.agents.events.messages.AgentMessageApi
9- import link.socket.ampere.agents.events.tickets.TicketOrchestrator
10- import link.socket.ampere.agents.events.tickets.TicketRepository
11- import link.socket.ampere.agents.events.utils.ConsoleEventLogger
12- import link.socket.ampere.agents.events.utils.EventLogger
136import link.socket.ampere.agents.events.meetings.MeetingSchedulingService
7+ import link.socket.ampere.agents.events.tickets.TicketOrchestrator
148
159/* *
1610 * Top-level orchestrator that coordinates all domain orchestrators.
@@ -26,21 +20,15 @@ import link.socket.ampere.agents.events.meetings.MeetingSchedulingService
2620 * without depending directly on MeetingOrchestrator.
2721 */
2822class EnvironmentOrchestrator (
29- private val meetingRepository : MeetingRepository ,
30- private val ticketRepository : TicketRepository ,
31- private val eventBus : EventBus ,
32- private val messageApi : AgentMessageApi ,
33- private val eventApi : AgentEventApi ,
34- private val logger : EventLogger = ConsoleEventLogger (),
23+ private val environment : AgentEnvironment ,
24+ private val agentId : AgentId = " environment-orchestrator" ,
3525) {
3626 /* *
3727 * The meeting orchestrator that handles meeting lifecycle operations.
3828 */
3929 val meetingOrchestrator: MeetingOrchestrator = MeetingOrchestrator (
40- repository = meetingRepository,
41- eventBus = eventBus,
42- messageApi = messageApi,
43- logger = logger,
30+ environment = environment,
31+ agentId = agentId,
4432 )
4533
4634 /* *
@@ -50,19 +38,19 @@ class EnvironmentOrchestrator(
5038 * allowing TicketOrchestrator to schedule meetings without direct dependency.
5139 */
5240 val ticketOrchestrator: TicketOrchestrator = TicketOrchestrator (
53- ticketRepository = ticketRepository,
54- eventBus = eventBus,
55- messageApi = messageApi ,
41+ ticketRepository = environment. ticketRepository,
42+ eventBus = environment. eventBus,
43+ messageApi = environment.createMessageApi(agentId) ,
5644 meetingSchedulingService = createMeetingSchedulingService(),
57- logger = logger,
45+ logger = environment. logger,
5846 )
5947
6048 /* *
6149 * The event router that routes events to subscribed agents.
6250 */
6351 val eventRouter: EventRouter = EventRouter (
64- eventApi = eventApi ,
65- eventBus = eventBus,
52+ eventApi = environment.createEventApi(agentId) ,
53+ eventBus = environment. eventBus,
6654 )
6755
6856 /* *
0 commit comments