code: def stream(
      self,
      command: str,
      *,
      log_dir: Path,
      ui_mode: UIMode = UIMode.dots,
      is_silent=True,
  ):
      with monit.section(f"Exec: {command}", is_silent=is_silent):
          thread = ExecutorThread(
              self.client, command, log_dir=log_dir, ui_mode=ui_mode
          )
          thread.start()
          thread.join()
          if thread.exit_code != 0:
              monit.fail()
  
          return EvalResult(thread.exit_code, "", "")
  
file_path: labml/remote/labml_remote/execute/remote.py
imports: import threading
  import time
  from pathlib import Path
  from typing import NamedTuple, Optional
  from paramiko import SSHClient
  from labml import monit
  from labml_remote.execute import UIMode
label_desc: Use image node_id 4 for calling the RemoteExecutor obj's underlying member method code with example usage: obj.stream(command) and returns: EvalResult