Franklin Agent 3.28.3 — Node version guard
Old Node (< 20.19) crashed at startup with an opaque ERR_REQUIRE_ESM stack trace from deep inside rpc-websockets/uuid. The real requirement was always Node 20.19+ (require(esm)). 3.28.2's >=20.18.0 floor was one patch too low to actually run.
- Runtime preflight guard. New dependency-free
src/preflight.ts, imported before any other module, checks the Node version and on Node < 20.19.0 prints a clear upgrade message (nvm/fnm) and exits cleanly — no node_modules stack trace. - Correct engine floor.
engines.node>=20.18.0→>=20.19.0. - README updated to Node 20.19+ with the
ERR_REQUIRE_ESMcrash in the troubleshooting table.