e63a23ea00
Fixes https://github.com/twentyhq/twenty/issues/18949 ## Problem - Creating a record from filters with DATE_TIME fields produced empty objects instead of dates — `isPlainObject` from `twenty-shared` treats `Date` instances as plain objects, so `mergeCompositeValues` spread them into `{}` - `buildRecordInputFromFilter` applied composite merge logic to all field types indiscriminately, including primitives, dates, and strings - DATE_TIME "is before" filters produced exact boundary values instead of subtracting a minute ## Fix - Composite and non-composite fields are now handled in separate branches — `buildRecordInputFromFilter` uses `isCompositeFieldType` to decide whether to merge or assign directly - `mergeCompositeValues` extracted to its own file with a properly typed signature (`Record<string, unknown>`) — no more runtime type guessing - DATE_TIME fields with `IS_BEFORE` operand subtract one minute using `subMinutes` from `date-fns` - 13 unit tests for `mergeCompositeValues` covering all composite field types (currency, address, full name, links, emails, phones) and successive sub-field accumulation