/**
 * When true, the catalog domain is served by the in-memory mock (apis/mockApi.ts) behind the
 * CatalogApi seam — the b5 `catalog` + `nurse_variants` routes exist, but the mock lets the Home
 * grid and the nurse builder (incl. the required-option validation and the duplicate-listing 409)
 * demo standalone before the backend is reachable in this environment. Flip to false to hit the
 * live endpoints — no hook/component changes (see dev/shared-working-context/reports/mocks-registry.md).
 */
export const USE_CATALOG_MOCK = false;

/**
 * Categories and a category's option groups/values are **admin-seeded reference data** that changes
 * rarely, so they are cached **for the whole session** (Infinite `staleTime`) exactly like the geo
 * hierarchy — fetched once and served from cache across the Home grid and every builder step, never
 * refetched per screen. A generous `gcTime` keeps them warm after the last consumer unmounts.
 */
export const CATALOG_REFERENCE_STALE_TIME = Infinity;
export const CATALOG_REFERENCE_GC_TIME = 24 * 60 * 60 * 1000; // 24h

/** The nurse's own offerings change on mutation; keep warm across remounts, invalidate on write. */
export const MY_VARIANTS_STALE_TIME = 60_000;

/** api-conventions default/max page sizes. A nurse has a handful of offerings; categories are few. */
export const CATEGORIES_PAGE_SIZE = 50;
export const MY_VARIANTS_PAGE_SIZE = 50;
