/** * Compile-time-only type-accuracy check for SDK 0.71.0's per-site slug twins * (MGD: `siteSlug`, `primarySiteSlug`, `gameSiteSlug`, `targetGameSiteSlug`, * `entitySiteSlug`). * * No runtime assertions and never imported by index.ts — `bun:test` skips it * (the name doesn't match `*.test.ts`) and `bun build` can't reach it. It * exists so `bun run typecheck` / `bun run build` fails loudly if these types * drift from the wire contract. Three things are pinned, and the first two are * the ones a normal test cannot express: * * 1. EVERY twin is OPTIONAL. A tenant with no `site_catalog_pages` rows — * every tenant today — gets a body without the key, so an object literal * that omits it must still typecheck. If any of these became required, the * "no field" blocks below would stop compiling. * 2. The twins are NOT nullable where the server omits them * (`siteSlug?: string`, not `string | null`): a storefront writing * `siteSlug ?? slug` must not be told to expect a null it will never see. * The two CMS/promo fields ARE `| null` on purpose — their sibling * (`entitySlug`, `targetGameSlug`) is nullable too, and the pair travels * together. * 3. The house rule itself compiles: `href = siteSlug ?? slug` is a `string`. */ export {};