The client configuration engine traffic requires, layered over whatever base
config the host supplies — its requester, its headers, its apiHost. Engine
policy deliberately wins over that base: a host's own defaults are tuned for
content reads, not for the engine's documents.
The base is generic rather than @sanity/client's ClientConfig so that a
host resolving a different copy of that package still type-checks — the same
reason the engine states its client structurally. The host's own config type
flows through to the result, which stays assignable to it.
The client configuration engine traffic requires, layered over whatever base config the host supplies — its requester, its headers, its
apiHost. Engine policy deliberately wins over that base: a host's own defaults are tuned for content reads, not for the engine's documents.The base is generic rather than
@sanity/client'sClientConfigso that a host resolving a different copy of that package still type-checks — the same reason the engine states its client structurally. The host's own config type flows through to the result, which stays assignable to it.