(request: Request)
| 259 | * identity never produces — narrowed away rather than asserted, so an MCP |
| 260 | * session can never bind to a subject-less credential if that changes. */ |
| 261 | const authenticateSession = (request: Request): Effect.Effect<Principal | null> => |
| 262 | fallback.authenticate(request).pipe( |
| 263 | Effect.map((principal) => (isPlatformPrincipal(principal) ? null : principal)), |
| 264 | Effect.catchTags({ |
| 265 | Unauthorized: () => Effect.succeed(null), |
| 266 | NoOrganization: () => Effect.succeed(null), |
| 267 | ReadOnlyCredential: () => Effect.succeed(null), |
| 268 | }), |
| 269 | ); |
| 270 | |
| 271 | /** |
| 272 | * Try the OAuth bearer ONLY when a Bearer header is present (no |
no test coverage detected