refactor(env): per-tool override keys for supporter binaries (T-495)

Store each tool's override under its own key (app.tools.<name>) instead of
one map, so the settings panel can bind a plain text field per tool.
loadSupporterBinaries reads the per-tool keys plus a first-run marker and
keeps an explicit path; redetectSupporterBinaries backs the Re-detect
action. The resolver itself is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-29 09:22:41 +02:00
co-authored by Claude Opus 4.8
parent 3be063d6da
commit bd4a8332af
3 changed files with 81 additions and 41 deletions
+2 -2
View File
@@ -119,8 +119,8 @@ Future<void> main() async {
// overrides first, else the primed PATH + the well-known dirs; auto-detect
// and pin them on first run (T-495, D-104).
activeSupporterBinaries = await loadSupporterBinaries(
readOverrides: () => bootSettings.get<Map>(supporterToolsKey),
writeOverrides: (m) => bootSettings.set(supporterToolsKey, m),
read: (k) => bootSettings.get<Object>(k),
write: (k, v) => bootSettings.set<Object?>(k, v),
);
startupWorkRoot = resolveStartupWorkspace(
cwdRoot: startupWorkRoot,