1import * as Effect from "effect/Effect";
2import * as Layer from "effect/Layer";
3import * as Headers from "effect/http/Headers";
4import * as UrlParams from "effect/http/UrlParams";
5
6export const layer = Layer.mergeAll(
7 Layer.effect(
8 Headers.CurrentRedactedNames,
9 // `expo-session` carries the `eas login` session secret on Expo API requests.
10 Effect.map(Headers.CurrentRedactedNames, (names) => [...names, "dpop", "expo-session"]),
11 ),
12 Layer.effect(
13 UrlParams.CurrentRedactedNames,
14 // Socket tickets and proofs, pairing tokens, and OAuth codes travel in query strings.
15 Effect.map(UrlParams.CurrentRedactedNames, (names) => [
16 ...names,
17 "wsTicket",
18 "dpop",
19 "token",
20 "pairingUrl",
21 "code",
22 "state",
23 "challenge",
24 ]),
25 ),
26);