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