(request: Request)
| 238 | * identity never produces — narrowed away rather than asserted, so an MCP |
| 239 | * session can never bind to a subject-less credential if that changes. */ |
| 240 | const authenticateSession = (request: Request): Effect.Effect<Principal | null> => |
| 241 | fallback.authenticate(request).pipe( |
| 242 | Effect.map((principal) => (isPlatformPrincipal(principal) ? null : principal)), |
| 243 | Effect.catchTags({ |
| 244 | Unauthorized: () => Effect.succeed(null), |
| 245 | NoOrganization: () => Effect.succeed(null), |
| 246 | ReadOnlyCredential: () => Effect.succeed(null), |
| 247 | }), |
| 248 | ); |
| 249 | |
| 250 | /** |
| 251 | * Try the OAuth bearer ONLY when a Bearer header is present (no |
no test coverage detected