packageChildEdgeConflict(parentGroupIds: readonly number[],childIds: readonly number[],): Promise<PackageChildEdgeBlock | null>
Which package invariant adding child edges would violate, or null when the
edges are fine: gate_in_hidden when the parent is joining/in a HIDDEN
package group (a visible package renders the member's child selector, so a
member gating children is fine there), or child_is_member when any chosen
child is itself a package member (a package member is only ever sold as part
of its bundle, never folded under another parent). An empty childIds
(clearing children) is never a conflict.