sig
  type target_query =
      [ `All | `Created_after of float | `Not_finished_before of float ]
  type t =
      [ `Call_query of string * string
      | `Get_available_queries of string
      | `Get_target_ids of Ketrew_protocol.Up_message.target_query
      | `Get_targets of string list
      | `Kill_targets of string list
      | `Restart_targets of string list
      | `Submit_targets of Ketrew_target.t list ]
  val to_json : t -> Yojson.Safe.json
  val of_json_exn : Yojson.Safe.json -> t
  val serialize : t -> string
  val deserialize_exn : string -> t
end