···110111 The first type parameter indicates the method kind (query/get/changes/set/...),
112 used for building result references. The second type parameter is the
113- parsed response type, enabling type-safe parsing via {!parse}. *)
114type (_, _) handle
115116val call_id : (_, _) handle -> string
···514 providing compile-time type safety. *)
515516val parse_exn : (_, 'resp) handle -> Jmap_proto.Response.t -> 'resp
517-(** [parse_exn handle response] is like {!parse} but raises on error. *)
518519(** {1 JSON Helpers}
520
···110111 The first type parameter indicates the method kind (query/get/changes/set/...),
112 used for building result references. The second type parameter is the
113+ parsed response type, enabling type-safe parsing via {!val-parse}. *)
114type (_, _) handle
115116val call_id : (_, _) handle -> string
···514 providing compile-time type safety. *)
515516val parse_exn : (_, 'resp) handle -> Jmap_proto.Response.t -> 'resp
517+(** [parse_exn handle response] is like {!val-parse} but raises on error. *)
518519(** {1 JSON Helpers}
520
+1-1
lib/core/jmap.mli
···26 {2 Module Structure}
2728 - {!Proto} - Low-level protocol and mail types (RFC 8620/8621)
29- - {!Error}, {!Id}, {!Keyword}, {!Role}, {!Capability} - Core types
30 - {!Session}, {!Email}, {!Mailbox}, etc. - Abstract type accessors
31*)
32
···26 {2 Module Structure}
2728 - {!Proto} - Low-level protocol and mail types (RFC 8620/8621)
29+ - {!module-Error}, {!Id}, {!Keyword}, {!Role}, {!Capability} - Core types
30 - {!Session}, {!Email}, {!Mailbox}, etc. - Abstract type accessors
31*)
32
+2-2
lib/mail/mail_email.mli
···187]
188189(** A dynamic header property request.
190- Use {!Mail_header.header_property} for type-safe construction. *)
191type header_property = [ `Header of Mail_header.header_property ]
192193(** Any Email property - standard or dynamic header. *)
···372373(** Extra arguments for Email/get beyond standard /get.
374375- Note: The standard [properties] argument from {!Proto_method.get_args}
376 should use {!property} variants converted via {!property_to_string}. *)
377type get_args_extra = {
378 body_properties : body_part_property list option;
···187]
188189(** A dynamic header property request.
190+ Use [Mail_header.header_property] for type-safe construction. *)
191type header_property = [ `Header of Mail_header.header_property ]
192193(** Any Email property - standard or dynamic header. *)
···372373(** Extra arguments for Email/get beyond standard /get.
374375+ Note: The standard [properties] argument from [Proto_method.get_args]
376 should use {!property} variants converted via {!property_to_string}. *)
377type get_args_extra = {
378 body_properties : body_part_property list option;
+2-2
lib/proto/proto_blob.mli
···4041val expand_download_url : template:string -> download_vars -> string
42(** [expand_download_url ~template vars] expands the download URL template
43- with the given variables. Template uses {accountId}, {blobId},
44- {type}, and {name} placeholders. *)
4546(** {1 Blob/copy} *)
47
···4041val expand_download_url : template:string -> download_vars -> string
42(** [expand_download_url ~template vars] expands the download URL template
43+ with the given variables. Template uses [\{accountId\}], [\{blobId\}],
44+ [\{type\}], and [\{name\}] placeholders. *)
4546(** {1 Blob/copy} *)
47
+3-3
lib/proto/proto_invocation.mli
···37 result_reference
38(** [result_reference_of_strings] creates a result reference, parsing
39 the path string into a JMAP pointer.
40- @raise Jsont.Error if the path is not a valid JMAP pointer. *)
4142val result_reference_jsont : result_reference Jsont.t
43···59 This is the most common pattern in JMAP where result references are
60 used to pass IDs between method calls.
6162- @raise Jsont.Error if resolution fails or the result is not a string list. *)
6364val resolve :
65 result_reference ->
···69(** [resolve ref ~responses codec] resolves the result reference and
70 decodes the extracted value with [codec].
7172- @raise Jsont.Error if resolution fails or decoding fails. *)
7374(** {1 Invocations} *)
75
···37 result_reference
38(** [result_reference_of_strings] creates a result reference, parsing
39 the path string into a JMAP pointer.
40+ @raise Jsont.exception-Error if the path is not a valid JMAP pointer. *)
4142val result_reference_jsont : result_reference Jsont.t
43···59 This is the most common pattern in JMAP where result references are
60 used to pass IDs between method calls.
6162+ @raise Jsont.exception-Error if resolution fails or the result is not a string list. *)
6364val resolve :
65 result_reference ->
···69(** [resolve ref ~responses codec] resolves the result reference and
70 decodes the extracted value with [codec].
7172+ @raise Jsont.exception-Error if resolution fails or decoding fails. *)
7374(** {1 Invocations} *)
75