This commit is contained in:
2026-01-11 00:39:17 -08:00
parent 13caa8d5fa
commit 6eb02f22b5
9 changed files with 736 additions and 40 deletions

View File

@@ -280,7 +280,14 @@ def _serialize_conf(config: Dict[str, Any]) -> str:
lines.append("")
lines.append(f"[store={subtype}]")
lines.append(f"name={_format_conf_value(name)}")
# Deduplicate keys case-insensitively and skip "name"
seen_keys = {"NAME", "name"}
for k in sorted(block.keys()):
k_upper = k.upper()
if k_upper in seen_keys:
continue
seen_keys.add(k_upper)
lines.append(f"{k}={_format_conf_value(block.get(k))}")
# Provider blocks
@@ -292,7 +299,13 @@ def _serialize_conf(config: Dict[str, Any]) -> str:
continue
lines.append("")
lines.append(f"[provider={prov}]")
seen_keys = set()
for k in sorted(block.keys()):
k_upper = k.upper()
if k_upper in seen_keys:
continue
seen_keys.add(k_upper)
lines.append(f"{k}={_format_conf_value(block.get(k))}")
# Tool blocks
@@ -304,7 +317,13 @@ def _serialize_conf(config: Dict[str, Any]) -> str:
continue
lines.append("")
lines.append(f"[tool={name}]")
seen_keys = set()
for k in sorted(block.keys()):
k_upper = k.upper()
if k_upper in seen_keys:
continue
seen_keys.add(k_upper)
lines.append(f"{k}={_format_conf_value(block.get(k))}")
return "\n".join(lines).rstrip() + "\n"