d8a59467a0a07f303af8af200e9b7e4a35b2b042
updateFile/createFile now return { sha, conflict } so 409/422 from GitHub
can drive a UI flow instead of being swallowed as a generic save error.
Also adds fetchLatestSha(path) for cheap freshness checks against HEAD.
Description
Languages
Vue
53.8%
TypeScript
42%
JavaScript
1.8%
CSS
1.7%
HTML
0.5%
Other
0.2%