mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-22 16:25:58 +00:00
windows-hermes-resolution.test.ts regexed main.ts source text to check three Windows resolution bugs that caused desktop reinstall loops: 1. findOnPath()'s PATHEXT extension order (must try real extensions before the empty one, or an extensionless Git-Bash hermes shim shadows hermes.cmd/.exe). 2. handOffWindowsBootstrapRecovery()'s --update vs --repair choice (must gate on any real-install signal, not just the hermes.exe shim). 3. unwrapWindowsVenvHermesCommand()'s probe-before-trust behavior (must canImportHermesCli() before returning a venv python, or a broken venv gets re-selected forever). Extract all three into pure, dependency-injected functions in windows-hermes-path.ts (no Electron import): buildPathExtCandidates(), chooseUpdaterArgs(), resolveVenvHermesCommand(). main.ts's findOnPath/handOffWindowsBootstrapRecovery/unwrapWindowsVenvHermesCommand now call these with their existing helpers (fileExists, canImportHermesCli, getVenvPython, etc.) passed through as deps. windows-hermes-path.test.ts replaces windows-hermes-resolution.test.ts, importing the pure functions directly and asserting real return values with fake/injected dependencies (fake venvs, fake probes) -- no readFileSync, no regex-on-source. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||