authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-10-05 17:05:15-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-05 17:05:15-07:00
log6302d66f7773ee43d198155d2cfc22d9d66dbbe0
tree76231d634bbde32acb03c023fb0c5b6919271e37
parentee6991ad502c7c8979ab47b6a8fc645498f5b4ce
signature Signed by PGP key B5690EEEBB952194

refactor(server): import service modules as namespaces, not aliased layers (#16267)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

3 files changed, 112 insertions(+), 120 deletions(-)

apps/server/src/orchestration-v2/CheckpointRestoreSafety.test.ts+7-8
......@@ -16,13 +16,10 @@ import * as Layer from "effect/Layer";
1616import * as Option from "effect/Option";
1717import * as Path from "effect/Path";
1818import { symlinksSupported } from "@t3tools/shared/testing/symlinks";
19import {
20 CheckpointRollbackServiceV2,
21 layer as rollbackLayer,
22} from "./CheckpointRollbackService.ts";
19import * as CheckpointRollbackService from "./CheckpointRollbackService.ts";
2320import { CheckpointServiceV2 } from "./CheckpointService.ts";
2421import { EventSinkV2 } from "./EventSink.ts";
25import { layer as idAllocatorLayer } from "./IdAllocator.ts";
22import * as IdAllocator from "./IdAllocator.ts";
2623import { ProjectionStoreV2 } from "./ProjectionStore.ts";
2724import * as ProjectStore from "./ProjectStore.ts";
2825import { ProviderSessionManagerV2 } from "./ProviderSessionManager.ts";
......@@ -101,11 +98,11 @@ it.effect.each([
10198 checkpointScopes: [{ id: scopeId, cwd }],
10299 runs: [{ id: "later-run", ordinal: 1, status: "completed", rootNodeId: null }],
103100 } as unknown as OrchestrationV2ThreadProjection;
104 const testLayer = rollbackLayer.pipe(
101 const testLayer = CheckpointRollbackService.layer.pipe(
105102 Layer.provide(
106103 Layer.mergeAll(
107104 NodeServices.layer,
108 idAllocatorLayer,
105 IdAllocator.layer,
109106 Layer.mock(ProjectStore.ProjectStoreV2)({
110107 get: () => Effect.succeed(Option.some({ workspaceRoot: parent } as never)),
111108 }),
......@@ -177,7 +174,9 @@ it.effect.each([
177174 ),
178175 ),
179176 );
180 const service = yield* CheckpointRollbackServiceV2.pipe(Effect.provide(testLayer));
177 const service = yield* CheckpointRollbackService.CheckpointRollbackServiceV2.pipe(
178 Effect.provide(testLayer),
179 );
181180 const restoreFiles = owner !== "conversation";
182181 const rejected = !["sibling", "stopped-provider", "shared-provider", "conversation"].includes(
183182 owner,
apps/server/src/orchestration-v2/Orchestrator.ts+3-6
......@@ -85,10 +85,7 @@ import { EventSinkV2 } from "./EventSink.ts";
8585import * as EffectOutbox from "./EffectOutbox.ts";
8686import type { OrchestrationEffectRequestV2, PendingOrchestrationEffectV2 } from "./EffectOutbox.ts";
8787import { IdAllocatorV2 } from "./IdAllocator.ts";
88import {
89 ThreadCommandExecutor,
90 layer as threadCommandExecutorLayer,
91} from "./ThreadCommandExecutor.ts";
88import * as ThreadCommandExecutor from "./ThreadCommandExecutor.ts";
9289import {
9390 applyToProjection,
9491 emptyProjection,
......@@ -787,7 +784,7 @@ const makeOrchestrator = Effect.fn("orchestrationV2.Orchestrator.layer")(functio
787784 const providerSwitchService = yield* ProviderSwitchServiceV2;
788785 const runtimePolicy = yield* RuntimePolicyV2;
789786 const threadForkService = yield* ThreadForkServiceV2;
790 const threadDispatch = yield* ThreadCommandExecutor;
787 const threadDispatch = yield* ThreadCommandExecutor.ThreadCommandExecutor;
791788
792789 const mapDispatchError =
793790 (command: OrchestrationV2ServerCommand) =>
......@@ -10616,7 +10613,7 @@ export const layer: Layer.Layer<
1061610613 | RuntimePolicyV2
1061710614 | ThreadForkServiceV2
1061810615> = Layer.effect(OrchestratorV2, makeOrchestrator()).pipe(
10619 Layer.provide(threadCommandExecutorLayer),
10616 Layer.provide(ThreadCommandExecutor.layer),
1062010617);
1062110618
1062210619const layerUnavailable: Layer.Layer<OrchestratorV2> = Layer.succeed(
apps/server/src/orchestration-v2/runtimeLayer.ts+102-106
......@@ -3,57 +3,51 @@ import * as Scheduler from "../scheduling/Scheduler.ts";
33import * as Layer from "effect/Layer";
44import * as OrchestrationCommandReceipts from "../persistence/Layers/OrchestrationCommandReceipts.ts";
55import * as OrchestrationEventStore from "../persistence/Layers/OrchestrationEventStore.ts";
6import { layer as providerSessionRuntimeLayer } from "../persistence/ProviderSessionRuntime.ts";
6import * as ProviderSessionRuntime from "../persistence/ProviderSessionRuntime.ts";
77import * as TextGeneration from "../textGeneration/TextGeneration.ts";
88import { ProviderAuthServiceLive } from "../provider/Layers/ProviderAuthService.ts";
9import { layer as agentSessionImporterLayer } from "../project/AgentSessionImporter.ts";
9import * as AgentSessionImporter from "../project/AgentSessionImporter.ts";
1010import * as AgentSessionScanner from "../project/AgentSessionScanner.ts";
11import { layer as projectServiceLayer } from "../project/ProjectService.ts";
12import { layer as projectSetupScriptRunnerLayer } from "../project/ProjectSetupScriptRunner.ts";
11import * as ProjectService from "../project/ProjectService.ts";
12import * as ProjectSetupScriptRunner from "../project/ProjectSetupScriptRunner.ts";
1313import * as ManagedProjectFolders from "../project/ManagedProjectFolders.ts";
14import { layer as checkpointCaptureServiceLayer } from "./CheckpointCaptureService.ts";
15import { layer as checkpointServiceLayer } from "./CheckpointService.ts";
16import { layer as checkpointRollbackServiceLayer } from "./CheckpointRollbackService.ts";
17import { layer as commandPolicyLayer } from "./CommandPolicy.ts";
18import { layerFromApplicationReceipts as commandReceiptStoreLayer } from "./CommandReceiptStore.ts";
19import { layer as contextHandoffServiceLayer } from "./ContextHandoffService.ts";
20import {
21 layer as effectOutboxLayer,
22 pruneWorkerLive as effectOutboxPruneWorkerLive,
23} from "./EffectOutbox.ts";
24import {
25 executorLayer as effectExecutorLayer,
26 layer as effectWorkerLayer,
27} from "./EffectWorker.ts";
28import { layerFromStores as eventSinkLayer } from "./EventSink.ts";
29import { layerFromOrchestrationEventStore as eventStoreLayer } from "./EventStore.ts";
30import { layer as idAllocatorLayer } from "./IdAllocator.ts";
14import * as CheckpointCaptureService from "./CheckpointCaptureService.ts";
15import * as CheckpointService from "./CheckpointService.ts";
16import * as CheckpointRollbackService from "./CheckpointRollbackService.ts";
17import * as CommandPolicy from "./CommandPolicy.ts";
18import * as CommandReceiptStore from "./CommandReceiptStore.ts";
19import * as ContextHandoffService from "./ContextHandoffService.ts";
20import * as EffectOutbox from "./EffectOutbox.ts";
21import * as EffectWorker from "./EffectWorker.ts";
22import * as EventSink from "./EventSink.ts";
23import * as EventStore from "./EventStore.ts";
24import * as IdAllocator from "./IdAllocator.ts";
3125import * as LegacyV1ThreadImporter from "./legacy/LegacyV1ThreadImporter.ts";
32import { layer as orchestratorLayer } from "./Orchestrator.ts";
33import { layer as projectionStoreLayer } from "./ProjectionStore.ts";
34import { layer as projectionMaintenanceLayer } from "./ProjectionMaintenance.ts";
26import * as Orchestrator from "./Orchestrator.ts";
27import * as ProjectionStore from "./ProjectionStore.ts";
28import * as ProjectionMaintenance from "./ProjectionMaintenance.ts";
3529import * as ProjectStore from "./ProjectStore.ts";
36import { layerFromProviderInstanceRegistry as providerAdapterRegistryLayerFromProviderInstances } from "./ProviderAdapterRegistry.ts";
37import { layer as providerContinuationRequestsLayer } from "./ProviderContinuationRequests.ts";
38import { workerLive as providerContinuationWorkerLive } from "./ProviderContinuationService.ts";
39import { layer as threadTitleRegenerationServiceLayer } from "./ThreadTitleRegenerationService.ts";
40import { layer as providerEventIngestorLayer } from "./ProviderEventIngestor.ts";
30import * as ProviderAdapterRegistry from "./ProviderAdapterRegistry.ts";
31import * as ProviderContinuationRequests from "./ProviderContinuationRequests.ts";
32import * as ProviderContinuationService from "./ProviderContinuationService.ts";
33import * as ThreadTitleRegenerationService from "./ThreadTitleRegenerationService.ts";
34import * as ProviderEventIngestor from "./ProviderEventIngestor.ts";
4135import * as ThreadCommandExecutor from "./ThreadCommandExecutor.ts";
42import { layer as providerSessionManagerLayer } from "./ProviderSessionManager.ts";
43import { layer as providerRuntimeRecoveryLayer } from "./ProviderRuntimeRecoveryService.ts";
44import { layer as providerSwitchServiceLayer } from "./ProviderSwitchService.ts";
45import { layer as providerTurnControlServiceLayer } from "./ProviderTurnControlService.ts";
46import { layer as providerTurnStartServiceLayer } from "./ProviderTurnStartService.ts";
47import { layer as runExecutionServiceLayer } from "./RunExecutionService.ts";
48import { layer as runFinalizationServiceLayer } from "./RunFinalizationService.ts";
36import * as ProviderSessionManager from "./ProviderSessionManager.ts";
37import * as ProviderRuntimeRecoveryService from "./ProviderRuntimeRecoveryService.ts";
38import * as ProviderSwitchService from "./ProviderSwitchService.ts";
39import * as ProviderTurnControlService from "./ProviderTurnControlService.ts";
40import * as ProviderTurnStartService from "./ProviderTurnStartService.ts";
41import * as RunExecutionService from "./RunExecutionService.ts";
42import * as RunFinalizationService from "./RunFinalizationService.ts";
4943import * as RuntimePolicy from "./RuntimePolicy.ts";
50import { layer as runtimeRequestServiceLayer } from "./RuntimeRequestService.ts";
51import { layerWithLegacyImporter as threadManagementServiceLayer } from "./ThreadManagementService.ts";
52import { layer as threadLaunchServiceLayer } from "./ThreadLaunchService.ts";
53import { layer as threadLifecycleServiceLayer } from "./ThreadLifecycleService.ts";
54import { layer as threadForkServiceLayer } from "./ThreadForkService.ts";
55import { layer as turnItemPositionStoreLayer } from "./TurnItemPositionStore.ts";
56import { layer as scheduledTaskServiceLayer } from "../scheduledTasks/ScheduledTaskService.ts";
44import * as RuntimeRequestService from "./RuntimeRequestService.ts";
45import * as ThreadManagementService from "./ThreadManagementService.ts";
46import * as ThreadLaunchService from "./ThreadLaunchService.ts";
47import * as ThreadLifecycleService from "./ThreadLifecycleService.ts";
48import * as ThreadForkService from "./ThreadForkService.ts";
49import * as TurnItemPositionStore from "./TurnItemPositionStore.ts";
50import * as ScheduledTaskService from "../scheduledTasks/ScheduledTaskService.ts";
5751import * as SecretRequests from "../secrets/SecretRequests.ts";
5852
5953/** The shared application event log and its command receipts. */
......@@ -66,97 +60,99 @@ const runtimePolicyProvided = RuntimePolicy.layerFromProjectStore.pipe(
6660 Layer.provide(ProjectStore.layer),
6761);
6862
69const eventStoreProvided = eventStoreLayer.pipe(
63const eventStoreProvided = EventStore.layerFromOrchestrationEventStore.pipe(
7064 Layer.provide(OrchestrationEventInfrastructureLayerLive),
7165);
72const commandReceiptStoreProvided = commandReceiptStoreLayer.pipe(
66const commandReceiptStoreProvided = CommandReceiptStore.layerFromApplicationReceipts.pipe(
7367 Layer.provide(OrchestrationEventInfrastructureLayerLive),
7468);
7569
7670const storesLayer = Layer.mergeAll(
7771 OrchestrationEventInfrastructureLayerLive,
7872 eventStoreProvided,
79 projectionStoreLayer,
73 ProjectionStore.layer,
8074 ProjectStore.layer,
8175 commandReceiptStoreProvided,
82 effectOutboxLayer,
83 turnItemPositionStoreLayer,
76 EffectOutbox.layer,
77 TurnItemPositionStore.layer,
8478);
8579
86export const OrchestrationV2EventSinkLayerLive = eventSinkLayer.pipe(Layer.provide(storesLayer));
80export const OrchestrationV2EventSinkLayerLive = EventSink.layerFromStores.pipe(
81 Layer.provide(storesLayer),
82);
8783const eventSinkProvided = OrchestrationV2EventSinkLayerLive;
88const projectionMaintenanceProvided = projectionMaintenanceLayer.pipe(Layer.provide(storesLayer));
84const projectionMaintenanceProvided = ProjectionMaintenance.layer.pipe(Layer.provide(storesLayer));
8985const legacyV1ThreadImporterProvided = LegacyV1ThreadImporter.layer.pipe(
9086 Layer.provide(eventSinkProvided),
9187);
9288
93export const ProjectServiceLayerLive = projectServiceLayer.pipe(
89export const ProjectServiceLayerLive = ProjectService.layer.pipe(
9490 Layer.provide(
9591 Layer.mergeAll(
9692 ProjectStore.layer,
97 projectionStoreLayer,
93 ProjectionStore.layer,
9894 eventSinkProvided,
99 idAllocatorLayer,
95 IdAllocator.layer,
10096 legacyV1ThreadImporterProvided,
10197 ),
10298 ),
10399);
104100
105const providerEventIngestorProvided = providerEventIngestorLayer.pipe(
101const providerEventIngestorProvided = ProviderEventIngestor.layer.pipe(
106102 Layer.provide(
107103 Layer.mergeAll(
108104 eventSinkProvided,
109 idAllocatorLayer,
110 projectionStoreLayer,
105 IdAllocator.layer,
106 ProjectionStore.layer,
111107 ThreadCommandExecutor.layer,
112108 ),
113109 ),
114110);
115111
116const checkpointServiceProvided = checkpointServiceLayer.pipe(Layer.provide(idAllocatorLayer));
117const contextHandoffServiceProvided = contextHandoffServiceLayer.pipe(
118 Layer.provide(idAllocatorLayer),
112const checkpointServiceProvided = CheckpointService.layer.pipe(Layer.provide(IdAllocator.layer));
113const contextHandoffServiceProvided = ContextHandoffService.layer.pipe(
114 Layer.provide(IdAllocator.layer),
119115);
120116
121const providerAdapterRegistryProvided = providerAdapterRegistryLayerFromProviderInstances;
122const providerSwitchServiceProvided = providerSwitchServiceLayer.pipe(
117const providerAdapterRegistryProvided = ProviderAdapterRegistry.layerFromProviderInstanceRegistry;
118const providerSwitchServiceProvided = ProviderSwitchService.layer.pipe(
123119 Layer.provide(providerAdapterRegistryProvided),
124120);
125121
126const providerSessionManagerProvided = providerSessionManagerLayer.pipe(
122const providerSessionManagerProvided = ProviderSessionManager.layer.pipe(
127123 Layer.provide(
128124 Layer.mergeAll(
129125 providerAdapterRegistryProvided,
130126 eventSinkProvided,
131 idAllocatorLayer,
127 IdAllocator.layer,
132128 providerEventIngestorProvided,
133 projectionStoreLayer,
129 ProjectionStore.layer,
134130 ),
135131 ),
136132);
137133
138134const providerAuthServiceProvided = ProviderAuthServiceLive.pipe(
139 Layer.provide(Layer.merge(projectionStoreLayer, providerSessionManagerProvided)),
135 Layer.provide(Layer.merge(ProjectionStore.layer, providerSessionManagerProvided)),
140136);
141137
142const runExecutionServiceProvided = runExecutionServiceLayer.pipe(
138const runExecutionServiceProvided = RunExecutionService.layer.pipe(
143139 Layer.provide(
144140 Layer.mergeAll(
145141 checkpointServiceProvided,
146142 eventSinkProvided,
147 idAllocatorLayer,
143 IdAllocator.layer,
148144 providerEventIngestorProvided,
149145 ),
150146 ),
151147);
152148
153const providerTurnStartServiceProvided = providerTurnStartServiceLayer.pipe(
149const providerTurnStartServiceProvided = ProviderTurnStartService.layer.pipe(
154150 Layer.provide(
155151 Layer.mergeAll(
156152 contextHandoffServiceProvided,
157153 eventSinkProvided,
158 idAllocatorLayer,
159 projectionStoreLayer,
154 IdAllocator.layer,
155 ProjectionStore.layer,
160156 providerSessionManagerProvided,
161157 providerAuthServiceProvided,
162158 runExecutionServiceProvided,
......@@ -165,87 +161,87 @@ const providerTurnStartServiceProvided = providerTurnStartServiceLayer.pipe(
165161 ),
166162);
167163
168const providerTurnControlServiceProvided = providerTurnControlServiceLayer.pipe(
169 Layer.provide(Layer.merge(projectionStoreLayer, providerSessionManagerProvided)),
164const providerTurnControlServiceProvided = ProviderTurnControlService.layer.pipe(
165 Layer.provide(Layer.merge(ProjectionStore.layer, providerSessionManagerProvided)),
170166);
171const runtimeRequestServiceProvided = runtimeRequestServiceLayer.pipe(
172 Layer.provide(Layer.merge(projectionStoreLayer, providerSessionManagerProvided)),
167const runtimeRequestServiceProvided = RuntimeRequestService.layer.pipe(
168 Layer.provide(Layer.merge(ProjectionStore.layer, providerSessionManagerProvided)),
173169);
174const checkpointRollbackServiceProvided = checkpointRollbackServiceLayer.pipe(
170const checkpointRollbackServiceProvided = CheckpointRollbackService.layer.pipe(
175171 Layer.provide(
176172 Layer.mergeAll(
177173 ProjectStore.layer,
178174 checkpointServiceProvided,
179175 eventSinkProvided,
180 idAllocatorLayer,
181 projectionStoreLayer,
176 IdAllocator.layer,
177 ProjectionStore.layer,
182178 providerSessionManagerProvided,
183179 runtimePolicyProvided,
184180 ),
185181 ),
186182);
187const checkpointCaptureServiceProvided = checkpointCaptureServiceLayer.pipe(
183const checkpointCaptureServiceProvided = CheckpointCaptureService.layer.pipe(
188184 Layer.provide(
189185 Layer.mergeAll(
190186 checkpointServiceProvided,
191187 eventSinkProvided,
192 idAllocatorLayer,
193 projectionStoreLayer,
188 IdAllocator.layer,
189 ProjectionStore.layer,
194190 ),
195191 ),
196192);
197const runFinalizationServiceProvided = runFinalizationServiceLayer.pipe(
198 Layer.provide(Layer.merge(checkpointCaptureServiceProvided, projectionStoreLayer)),
193const runFinalizationServiceProvided = RunFinalizationService.layer.pipe(
194 Layer.provide(Layer.merge(checkpointCaptureServiceProvided, ProjectionStore.layer)),
199195);
200196
201const orchestratorProvided = orchestratorLayer.pipe(
197const orchestratorProvided = Orchestrator.layer.pipe(
202198 Layer.provide(
203199 Layer.mergeAll(
204200 checkpointServiceProvided,
205 commandPolicyLayer,
201 CommandPolicy.layer,
206202 storesLayer,
207203 eventSinkProvided,
208204 commandReceiptStoreProvided,
209205 contextHandoffServiceProvided,
210 idAllocatorLayer,
206 IdAllocator.layer,
211207 ProjectStore.layer,
212208 providerAdapterRegistryProvided,
213209 // Same layer reference as the continuation worker and the adapter
214210 // infrastructure so layer memoization yields one shared request queue.
215 providerContinuationRequestsLayer,
211 ProviderContinuationRequests.layer,
216212 providerEventIngestorProvided,
217213 runtimePolicyProvided,
218214 providerSessionManagerProvided,
219215 providerSwitchServiceProvided,
220216 runExecutionServiceProvided,
221 threadForkServiceLayer,
217 ThreadForkService.layer,
222218 ),
223219 ),
224220);
225221
226const agentSessionImporterProvided = agentSessionImporterLayer.pipe(
222const agentSessionImporterProvided = AgentSessionImporter.layer.pipe(
227223 Layer.provide(
228224 Layer.mergeAll(
229225 AgentSessionScanner.layer,
230226 ProjectServiceLayerLive,
231227 orchestratorProvided,
232228 eventSinkProvided,
233 idAllocatorLayer,
234 providerSessionRuntimeLayer,
229 IdAllocator.layer,
230 ProviderSessionRuntime.layer,
235231 ),
236232 ),
237233);
238234
239const threadManagementProvided = threadManagementServiceLayer.pipe(
235const threadManagementProvided = ThreadManagementService.layerWithLegacyImporter.pipe(
240236 Layer.provide(Layer.merge(orchestratorProvided, legacyV1ThreadImporterProvided)),
241237);
242export const ProjectSetupScriptRunnerLayerLive = projectSetupScriptRunnerLayer.pipe(
238export const ProjectSetupScriptRunnerLayerLive = ProjectSetupScriptRunner.layer.pipe(
243239 Layer.provide(ProjectServiceLayerLive),
244240);
245241const managedProjectFoldersProvided = ManagedProjectFolders.layer.pipe(
246242 Layer.provide(ProjectServiceLayerLive),
247243);
248const threadLaunchProvided = threadLaunchServiceLayer.pipe(
244const threadLaunchProvided = ThreadLaunchService.layer.pipe(
249245 Layer.provide(
250246 Layer.mergeAll(
251247 ProjectServiceLayerLive,
......@@ -253,28 +249,28 @@ const threadLaunchProvided = threadLaunchServiceLayer.pipe(
253249 managedProjectFoldersProvided,
254250 threadManagementProvided,
255251 commandReceiptStoreProvided,
256 idAllocatorLayer,
252 IdAllocator.layer,
257253 ),
258254 ),
259255);
260const threadLifecycleProvided = threadLifecycleServiceLayer.pipe(
256const threadLifecycleProvided = ThreadLifecycleService.layer.pipe(
261257 Layer.provide(threadManagementProvided),
262258);
263259const secretRequestsProvided = SecretRequests.layer.pipe(Layer.provide(threadManagementProvided));
264const scheduledTaskProvided = scheduledTaskServiceLayer.pipe(
260const scheduledTaskProvided = ScheduledTaskService.layer.pipe(
265261 Layer.provide(
266262 Layer.mergeAll(threadLaunchProvided, threadManagementProvided, secretRequestsProvided),
267263 ),
268264);
269const providerContinuationWorkerProvided = providerContinuationWorkerLive.pipe(
265const providerContinuationWorkerProvided = ProviderContinuationService.workerLive.pipe(
270266 Layer.provide(
271 Layer.mergeAll(providerContinuationRequestsLayer, threadManagementProvided, idAllocatorLayer),
267 Layer.mergeAll(ProviderContinuationRequests.layer, threadManagementProvided, IdAllocator.layer),
272268 ),
273269);
274const threadTitleRegenerationProvided = threadTitleRegenerationServiceLayer.pipe(
270const threadTitleRegenerationProvided = ThreadTitleRegenerationService.layer.pipe(
275271 Layer.provide(Layer.mergeAll(threadManagementProvided, ProjectStore.layer, TextGeneration.layer)),
276272);
277const effectExecutorProvided = effectExecutorLayer.pipe(
273const effectExecutorProvided = EffectWorker.executorLayer.pipe(
278274 Layer.provide(
279275 Layer.mergeAll(
280276 runFinalizationServiceProvided,
......@@ -288,17 +284,17 @@ const effectExecutorProvided = effectExecutorLayer.pipe(
288284 ),
289285 ),
290286);
291const effectWorkerProvided = effectWorkerLayer.pipe(
287const effectWorkerProvided = EffectWorker.layer.pipe(
292288 Layer.provide(Layer.merge(storesLayer, effectExecutorProvided)),
293289);
294const providerRuntimeRecoveryProvided = providerRuntimeRecoveryLayer.pipe(
290const providerRuntimeRecoveryProvided = ProviderRuntimeRecoveryService.layer.pipe(
295291 Layer.provide(
296292 Layer.mergeAll(
297293 effectWorkerProvided,
298294 storesLayer,
299295 eventSinkProvided,
300 idAllocatorLayer,
301 projectionStoreLayer,
296 IdAllocator.layer,
297 ProjectionStore.layer,
302298 ),
303299 ),
304300);
......@@ -323,11 +319,11 @@ export const OrchestrationV2ProductionLayerLive = Layer.mergeAll(
323319 scheduledTaskProvided,
324320 secretRequestsProvided,
325321 UsageLimitRecoveryWorker.workerLive.pipe(
326 Layer.provide(Layer.mergeAll(projectionStoreLayer, threadManagementProvided)),
322 Layer.provide(Layer.mergeAll(ProjectionStore.layer, threadManagementProvided)),
327323 ),
328324 providerContinuationWorkerProvided,
329325 agentSessionImporterProvided,
330 effectOutboxPruneWorkerLive.pipe(Layer.provide(effectOutboxLayer)),
326 EffectOutbox.pruneWorkerLive.pipe(Layer.provide(EffectOutbox.layer)),
331327).pipe(
332328 Layer.provide(Scheduler.layer),
333329 Layer.provideMerge(OrchestrationEventInfrastructureLayerLive),