packageMembersError(listings: readonly { id: number; can_pay_more: boolean; name: string; }[],hideListings: boolean | undefined,): Promise<string | null>
The member-naming package error for the first listing in listings that
can't be a package member (pay-what-you-want, an add-on of another listing,
or — on a hidden package — a member gating its own children), or null when
every listing is a valid member. Judged against ONE batched edge load (two
queries for the whole member list, never one per member); the rules and
their messages live in the shared packageMemberError. The one place
every package save (group form, add-listings, listing form/API, catalog
import) turns an unpackageable member into its user-facing message.