| 66 | }); |
| 67 | |
| 68 | const buildHandler = ( |
| 69 | store: Layer.Layer<McpSessionStore>, |
| 70 | reporter: Layer.Layer<McpErrorReporter>, |
| 71 | authProvider: Layer.Layer<McpAuthProvider> = AuthProviderLive, |
| 72 | ): ((request: Request) => Promise<Response>) => { |
| 73 | const Seams = Layer.mergeAll(authProvider, store, reporter); |
| 74 | const RouteLive = McpServingRoutes.pipe( |
| 75 | HttpRouter.provideRequest(Seams), |
| 76 | Layer.provide(authProvider), |
| 77 | ); |
| 78 | return HttpRouter.toWebHandler(RouteLive.pipe(Layer.provideMerge(HttpServer.layerServices))) |
| 79 | .handler; |
| 80 | }; |
| 81 | |
| 82 | describe("McpServingRoutes envelope", () => { |
| 83 | it("rejects HEAD with a JSON-RPC 405 before dispatch", async () => { |