(** JMAP Response Object *) (** Main response type *) type t = { method_responses : Jmap_invocation.response_list; created_ids : (Jmap_id.t * Jmap_id.t) list option; session_state : string; } (** Accessors *) val method_responses : t -> Jmap_invocation.response_list val created_ids : t -> (Jmap_id.t * Jmap_id.t) list option val session_state : t -> string (** Constructor *) val make : ?created_ids:(Jmap_id.t * Jmap_id.t) list option -> method_responses:Jmap_invocation.response_list -> session_state:string -> unit -> t (** Parser submodule *) module Parser : sig (** Parse response from JSON value *) val of_json : Ezjsonm.value -> t (** Parse response from JSON string *) val of_string : string -> t (** Parse response from input channel *) val of_channel : in_channel -> t end (** Serialization *) val to_json : t -> Ezjsonm.value