ShellResult
Result of a shell invocation. exitCode == 0 is the success convention; tools test it explicitly because some commands return non-zero on success (e.g. pm grant for an unknown permission).
stdoutBytes is the raw byte stream — needed for binary commands like screencap -p which emit PNG bytes. stdout is the UTF-8 decode of those bytes for text use. stderr is always text.