feat(env): wire supporter-binary resolution at boot (T-495)

main resolves the override map (and first-run auto-detects, using the
primed login-shell PATH) right after bootSettings.load(), exposing the
process-wide activeSupporterBinaries that tool consumers read — the d2
template (T-494) will resolve its binary through it. Analyze clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 23:07:52 +02:00
co-authored by Claude Opus 4.8
parent 0adccc5cd1
commit 62418b4010
2 changed files with 13 additions and 0 deletions
+5
View File
@@ -92,6 +92,11 @@ class SupporterBinaries {
bool _fileExists(String p) => File(p).existsSync();
/// The process-wide resolver, wired at boot via [loadSupporterBinaries]. Tool
/// consumers (e.g. the d2 template, T-494) read it to resolve a binary; null in
/// headless contexts where boot wiring hasn't run.
SupporterBinaries? activeSupporterBinaries;
/// The user-scope SettingsStore key (app layer, `~/.clide`, per-machine) holding
/// the tool→absolute-path override map.
const supporterToolsKey = 'app.tools';