sig
type time_constraint =
[ `All
| `Created_after of float
| `Not_finished_before of float
| `Status_changed_since of float ]
type string_predicate = [ `Equals of string | `Matches of string ]
type filter =
[ `And of Ketrew_pure.Protocol.Up_message.filter list
| `False
| `Has_tag of Ketrew_pure.Protocol.Up_message.string_predicate
| `Id of Ketrew_pure.Protocol.Up_message.string_predicate
| `Name of Ketrew_pure.Protocol.Up_message.string_predicate
| `Not of Ketrew_pure.Protocol.Up_message.filter
| `Or of Ketrew_pure.Protocol.Up_message.filter list
| `Status of
[ `Activated_by_user
| `Dead_because_of_dependencies
| `Killable
| `Really_running
| `Simple of Target.State.simple ]
| `True ]
type target_query = {
time_constraint : Ketrew_pure.Protocol.Up_message.time_constraint;
filter : Ketrew_pure.Protocol.Up_message.filter;
}
type query_option = [ `Block_if_empty_at_most of float ]
type t =
[ `Call_query of string * string
| `Get_available_queries of string
| `Get_server_status
| `Get_target_flat_states of
[ `All | `Since of float ] * string list *
Ketrew_pure.Protocol.Up_message.query_option list
| `Get_target_ids of
Ketrew_pure.Protocol.Up_message.target_query *
Ketrew_pure.Protocol.Up_message.query_option list
| `Get_target_summaries of string list
| `Get_targets of string list
| `Kill_targets of string list
| `Restart_targets of string list
| `Submit_targets of 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
val target_query_markup :
Ketrew_pure.Protocol.Up_message.target_query ->
Internal_pervasives.Display_markup.t
end