Two review nits:
1. `RELATION_SUB_MENU_FIELD_TYPE` and `ObjectFilterDropdownSubMenuFieldType`
lived inside the state file. They aren't state — moved to
`object-filter-dropdown/constants/` and `record-filter/types/`
respectively, alongside the rest of the constants and types.
2. The relation sub-menu branch in `AdvancedFilterSubFieldSelectMenu`
computed `targetObjectMetadataId` with an empty-string sentinel so
the always-running `useFilterableFieldMetadataItems` hook could
accept it. Fragile (the `''` sentinel is unnamed, untyped, and
relies on the selector silently returning `[]`). Extracted the
relation branch into its own `AdvancedFilterRelationSubMenu`
component that only mounts when actually in relation mode — the
hook now always receives a real object id, no sentinel.
Also: turned `isManyToOneRelationField` into a generic type guard so
callers can read `field.relation.targetObjectMetadata.id` after the
check without a non-null assertion.