Skip to content

ResolveStrategy

ResolveStrategy = { depth?: number; strategy: "full"; } | { depth?: number; strategy: "normalized"; } | { strategy: "adaptive"; }

How deep a response is expanded.

  • full — one request, the server expands references depth levels (default 10, the server’s own cap, so the default means “as deep as the document goes”). SSR- and CDN-friendly; the only strategy that reaches every Adapter-bearing binding in one request.

  • normalized — the incremental, cache-friendly traversal unit: an entity with its own outgoing edges resolved one hop (default depth 1 — depth 1 is what lets the server apply an edge’s Adapter, so the React crawl never meets adapter_requires_server_resolve). The React crawl resolves each further reference on demand via resolveReference. depth is still accepted ({ strategy: 'normalized', depth: 0 } works) but is not part of the documented surface.

  • adaptive (SDK-only, never sent on the wire — always resolved to a concrete full/normalized before any request or cache key) — full for the first location a client instance resolves (and for every later resolve of that same location), normalized for any other. The SDK’s default strategy.

    Per location, not per call: the resolved strategy is part of the cache key, so a per-call decision would make two callers resolving the same location disagree — which is exactly what a page does when a loading indicator calls useExperience beside its own <Experience path>, costing two real requests for one page.