| 86 | }); |
| 87 | |
| 88 | const buildHandler = ( |
| 89 | store: Layer.Layer<McpSessionStore>, |
| 90 | reporter: Layer.Layer<McpErrorReporter>, |
| 91 | authProvider: Layer.Layer<McpAuthProvider> = AuthProviderLive, |
| 92 | ): ((request: Request) => Promise<Response>) => { |
| 93 | const Seams = Layer.mergeAll(authProvider, store, reporter); |
| 94 | const RouteLive = McpServingRoutes.pipe( |
| 95 | HttpRouter.provideRequest(Seams), |
| 96 | Layer.provide(authProvider), |
| 97 | ); |
| 98 | return HttpRouter.toWebHandler(RouteLive.pipe(Layer.provideMerge(HttpServer.layerServices))) |
| 99 | .handler; |
| 100 | }; |
| 101 | |
| 102 | describe("McpServingRoutes envelope", () => { |
| 103 | it("rejects HEAD with a JSON-RPC 405 before dispatch", async () => { |