Compares two workspace exports and returns changes needed to transform
the base workspace into the target workspace.
Elements are matched by uuid first (uuid is an element's identity and
survives key renames), then by (type, key, integrationKey) selector for
elements without a uuid counterpart — e.g. cross-workspace imports where
uuids differ but keys match. Without uuid-first matching, a key rename
decomposes into DELETE + CREATE of the same uuid, and recreating an
element under a previously-used key aliases two distinct elements onto
one existing document.
Compares two workspace exports and returns changes needed to transform the base workspace into the target workspace.
Elements are matched by uuid first (uuid is an element's identity and survives key renames), then by (type, key, integrationKey) selector for elements without a uuid counterpart — e.g. cross-workspace imports where uuids differ but keys match. Without uuid-first matching, a key rename decomposes into DELETE + CREATE of the same uuid, and recreating an element under a previously-used key aliases two distinct elements onto one existing document.