01966108ea
The sync runner builds map keys from path.relative (readModelMetadata)
and path.join (tomlFiles, plus the metadata-namespace cleanup), which
return backslash-separated paths on Windows. Those keys are compared
against forward-slash base_model references, ${id}.toml model ids, and
desiredMetadata paths, so base_model resolution and existing-file
diffing break and bun models:sync <provider> fails on Windows with
"Unable to resolve base_model: ...".
Normalize the three keys with .split(path.sep).join("/") (a no-op on
POSIX), mirroring the fix #2711 applied to src/generate.ts and the
standalone generators.