sig
  val default_plugins : (string * (module Long_running.LONG_RUNNING)) list
  val register_long_running_plugin :
    name:string -> (module Long_running.LONG_RUNNING-> unit
  val long_running_log :
    string -> string -> (string * Ketrew_pure.Internal_pervasives.Log.t) list
  val additional_queries :
    Ketrew_pure.Target.t ->
    (string * Ketrew_pure.Internal_pervasives.Log.t) list
  val call_query :
    target:Ketrew_pure.Target.t ->
    host_io:Ketrew.Host_io.t ->
    string ->
    (string, Ketrew_pure.Internal_pervasives.Log.t) Unix_io.Deferred_result.t
  val find_plugin : string -> (module Long_running.LONG_RUNNING) option
  val load_plugins :
    [ `Compiled of string | `OCamlfind of string ] list ->
    (unit,
     [> `Dyn_plugin of [> `Dynlink_error of Dynlink.error | `Findlib of exn ]
      | `Failure of string ])
    Unix_io.Deferred_result.t
  val load_plugins_no_lwt_exn :
    [ `Compiled of string | `OCamlfind of string ] list -> unit
end