The Bun global when running on Bun, undefined elsewhere — read only for
its version string. Required (rather than optional) so callers and tests
state it explicitly and every version-resolution arm stays reachable.
Synchronous file-system operations (compatible with node:fs).
Hostname function (from node:os).
Process object (version, env, exit, signal listening).
The built-ins
buildBunHostneeds, injectable so every wrapper is unit-testable without real file-system access. Shapes matchnode:fs(sync),node:os, andnode:process, all of which Bun implements.