Module Types.Client_info

type version = {
major : int option;
minor : int option;
patch : int option;
prerelease : string option;
commit : string option;
}
val sexp_of_version : version -> Ppx_sexp_conv_lib.Sexp.t
type client_type = [
| `Remote
| `Ui
| `Embedder
| `Host
| `Plugin
]
val sexp_of_client_type : client_type -> Ppx_sexp_conv_lib.Sexp.t
type client_method = {
async : bool;
nargs : [ `Fixed of int | `Range of int * int ] option;
opts : Msgpack.t Core.String.Map.t;
}
val sexp_of_client_method : client_method -> Ppx_sexp_conv_lib.Sexp.t
type t = {
version : version option;
methods : client_method Core.String.Map.t;
attributes : string Core.String.Map.t;
name : string option;
type_ : client_type option;
}
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t