fix(config): merge legacy and unified continuity maps

- combine continuity.inherit_from_account with legacy continuity_inherit_from_account

- prefer unified continuity entries on key collisions

- add regression coverage for mixed-key merge behavior
This commit is contained in:
Tam Nhu Tran
2026-03-03 02:49:18 +07:00
parent 8a45727b31
commit 1eb41cc4e2
2 changed files with 49 additions and 8 deletions
+10 -8
View File
@@ -260,20 +260,22 @@ function normalizeContinuityInheritanceMap(value: unknown): Record<string, strin
* Supports legacy root key: continuity_inherit_from_account.
*/
function normalizeContinuityConfig(partial: Partial<UnifiedConfig>): ContinuityConfig | undefined {
const continuityMap = normalizeContinuityInheritanceMap(partial.continuity?.inherit_from_account);
if (continuityMap) {
return { inherit_from_account: continuityMap };
}
const legacyMap = normalizeContinuityInheritanceMap(
(partial as Partial<UnifiedConfig> & { continuity_inherit_from_account?: unknown })
.continuity_inherit_from_account
);
if (legacyMap) {
return { inherit_from_account: legacyMap };
const continuityMap = normalizeContinuityInheritanceMap(partial.continuity?.inherit_from_account);
if (!legacyMap && !continuityMap) {
return undefined;
}
return undefined;
return {
inherit_from_account: {
...(legacyMap ?? {}),
...(continuityMap ?? {}),
},
};
}
/**