@@ -9,6 +9,8 @@ import { sendMessage } from '../../src/agent/agent.js';
99import { Result } from '../../src/core/result.js' ;
1010import { CheckpointService } from '../../src/checkpoint/checkpoint-service.js' ;
1111import { ToolSearchService } from '../../src/tools/tool-search-service.js' ;
12+ import { ProjectRuntimeService } from '../../src/runtime/project-runtime.js' ;
13+ import { ApprovalService } from '../../src/approval/index.js' ;
1214
1315const mockState = {
1416 sessionId : 'test-session' ,
@@ -186,6 +188,10 @@ describe('ContextService', () => {
186188 status : ( ) => Effect . succeed ( [ ] ) ,
187189 } as any ) ;
188190
191+ const MockApprovalLayer = Layer . succeed ( ApprovalService , {
192+ evaluate : ( ) => Effect . succeed ( { type : 'allow' as const , level : 0 } ) ,
193+ } as any ) ;
194+
189195 const AllDeps = Layer . mergeAll (
190196 MockToolExecutorLayer ,
191197 MockContextLayer ,
@@ -194,10 +200,17 @@ describe('ContextService', () => {
194200 MockSkillLayer ,
195201 HookLayer ,
196202 MockToolSearchLayer ,
197- MockMcpLayer
203+ MockMcpLayer ,
204+ MockApprovalLayer
198205 ) ;
199206
200- const fullLayer = Layer . mergeAll ( AgentService . Default . pipe ( Layer . provide ( AllDeps ) ) , AllDeps ) ;
207+ const projectRuntimeLayer = ProjectRuntimeService . Default . pipe (
208+ Layer . provide ( Layer . mergeAll ( HookLayer , MockMcpLayer ) )
209+ ) ;
210+ const agentWithDeps = AgentService . Default . pipe (
211+ Layer . provide ( Layer . mergeAll ( AllDeps , projectRuntimeLayer ) )
212+ ) ;
213+ const fullLayer = Layer . mergeAll ( AllDeps , projectRuntimeLayer , agentWithDeps ) ;
201214
202215 let sid1 : string = '' ;
203216 // Step 1: send message in one Effect scope
0 commit comments