The options a daemon run accepts: everything from UserRunOptions that survives a socket.
A daemon run happens in another process, so a plugin object and a reporter instance cannot come along — they are functions, and functions do not serialize. Rather than accepting them and silently dropping them, they are simply not in this type: the limitation is a compile error at the call site instead of a surprise at run time.
reporter narrows to the built-in names for the same reason. console stays, because it is the
client's console for the text the daemon streams back — it never crosses.
const options: DaemonRunOptions = { inputs: ['test/'], reporter: 'tap' }; options.reporter; // 'tap' — a name, not an instance
optional
reporter: ReporterName | false
One built-in reporter by name, or false. An instance cannot cross a socket.
optional
reporters: ReadonlyArray<ReporterName>
Several built-in reporters by name. Mutually exclusive with reporter, as it is locally.