Resolve the host's CURRENT default Audio/Sink node name via pw-metadata. Never
throws: a host without PipeWire (CI, headless) resolves undefined so the caller
can fall back to the enumerated sinks — or skip the autoroute cleanly.
Parameters
run: NodeCommandRunner = ...
the command runner (default an execFile-backed one; tests inject a fake)
Returns Promise<string|undefined>
the default sink's node name, or undefined when unresolvable
Resolve the host's CURRENT default Audio/Sink node name via
pw-metadata. Never throws: a host without PipeWire (CI, headless) resolvesundefinedso the caller can fall back to the enumerated sinks — or skip the autoroute cleanly.