Skip to content

Commit 39ebf4d

Browse files
committed
Fix compilation errors in AgentEnvironmentFactory and EnvironmentOrchestrator
- Add missing Database import to AgentEnvironmentFactory - Refactor EnvironmentOrchestrator to use AgentEnvironment pattern instead of individual parameters, consistent with MeetingOrchestrator
1 parent 0c89562 commit 39ebf4d

2 files changed

Lines changed: 13 additions & 24 deletions

File tree

shared/src/commonMain/kotlin/link/socket/ampere/agents/events/AgentEnvironmentFactory.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import link.socket.ampere.agents.events.tickets.TicketRepository
1212
import link.socket.ampere.agents.events.utils.ConsoleEventLogger
1313
import link.socket.ampere.agents.events.utils.EventLogger
1414
import link.socket.ampere.data.DEFAULT_JSON
15+
import link.socket.ampere.db.Database
1516

1617
/**
1718
* Factory for creating [AgentEnvironment] instances with all core infrastructure wired up.

shared/src/commonMain/kotlin/link/socket/ampere/agents/events/EnvironmentOrchestrator.kt

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
package 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
54
import link.socket.ampere.agents.events.meetings.Meeting
65
import 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
136
import 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
*/
2822
class 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

Comments
 (0)