( request: Request, env: Env, program: Effect.Effect<A, never, McpAuthProvider>, )
| 174 | // `McpAuthProvider` from it; the telemetry layer is still provided per run, so |
| 175 | // spans keep exporting exactly as before. |
| 176 | const runTraced = <A>( |
| 177 | request: Request, |
| 178 | env: Env, |
| 179 | program: Effect.Effect<A, never, McpAuthProvider>, |
| 180 | ): Promise<A> => { |
| 181 | const parsed = parseTraceparent( |
| 182 | request.headers.get("traceparent"), |
| 183 | request.headers.get("tracestate"), |
| 184 | ); |
| 185 | return mcpAuthRuntimeFor(mcpAuthBindingsFingerprint(env)).runPromise( |
| 186 | (parsed ? OtelTracer.withSpanContext(program, parsed) : program).pipe( |
| 187 | Effect.provide(WorkerTelemetryLive), |
| 188 | ), |
| 189 | ); |
| 190 | }; |
| 191 | |
| 192 | // The MCP resource the request targets. `server.ts` routes both the bare `/mcp` |
| 193 | // and `/mcp/toolkits/<slug>` to this handler (`prepareMcpOrgScope` strips the org |
no test coverage detected