+9
-6
jmap/bin/fastmail_connect.ml
+9
-6
jmap/bin/fastmail_connect.ml
···+printf "Using account: %s\nBuilding JMAP request using type-safe capabilities...\n" account_id_str;Jmap_email.Query.(query () |> with_account account_id |> order_by Sort.by_date_desc |> limit 5 |> build_email_query) in···printf " Subject: %s\n" (Jmap_email.Email.subject email |> Option.value ~default:"(No Subject)");···-("Jmap.Types.Id", Jmap.Types.Id.(of_string "test-id-123" |> Result.map (Format.asprintf "%a" pp)));-("Jmap.Types.Date", Ok (Jmap.Types.Date.(Unix.time () |> of_timestamp |> to_timestamp |> Printf.sprintf "%.0f")));+("Jmap.Date", Ok (Jmap.Date.(Unix.time () |> of_timestamp |> to_timestamp |> Printf.sprintf "%.0f")));
+2
-2
jmap/examples/mailboxes_client.ml
+2
-2
jmap/examples/mailboxes_client.ml
······
+3
-3
jmap/examples/messages_client.ml
+3
-3
jmap/examples/messages_client.ml
······
+3
-4
jmap/jmap-email/apple.ml
+3
-4
jmap/jmap-email/apple.ml
·········
-1
jmap/jmap-email/apple.mli
-1
jmap/jmap-email/apple.mli
+12
-10
jmap/jmap-email/body.ml
+12
-10
jmap/jmap-email/body.ml
·····················
+12
-13
jmap/jmap-email/body.mli
+12
-13
jmap/jmap-email/body.mli
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-4.1.4> RFC 8621, Section 4.1.4 - Email Body Structure·····················
+27
-21
jmap/jmap-email/changes.ml
+27
-21
jmap/jmap-email/changes.ml
·········+created = tracker.created @ (List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Changes_response.created response));+updated = tracker.updated @ (List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Changes_response.updated response));+destroyed = tracker.destroyed @ (List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Changes_response.destroyed response));·········+pending_created = sync.pending_created @ (List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) created);+pending_updated = sync.pending_updated @ (List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) updated);+pending_destroyed = sync.pending_destroyed @ (List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) destroyed);···+let c = List.map (fun id -> match Jmap.Id.of_string id with | Ok id_t -> id_t | Error _ -> failwith ("Invalid ID: " ^ id)) (Changes_response.created response) in+let u = List.map (fun id -> match Jmap.Id.of_string id with | Ok id_t -> id_t | Error _ -> failwith ("Invalid ID: " ^ id)) (Changes_response.updated response) in+let d = List.map (fun id -> match Jmap.Id.of_string id with | Ok id_t -> id_t | Error _ -> failwith ("Invalid ID: " ^ id)) (Changes_response.destroyed response) in
+8
-9
jmap/jmap-email/changes.mli
+8
-9
jmap/jmap-email/changes.mli
························
-1
jmap/jmap-email/dune
-1
jmap/jmap-email/dune
+66
-39
jmap/jmap-email/email.ml
+66
-39
jmap/jmap-email/email.ml
······let string_list (name : string) (fields : (string * Yojson.Safe.t) list) : string list option =············+("blobId", (match t.blob_id with Some id_t -> `String (Jmap.Id.to_string id_t) | None -> `Null));+("threadId", (match t.thread_id with Some id_t -> `String (Jmap.Id.to_string id_t) | None -> `Null));······+let assoc_list = Hashtbl.fold (fun k v acc -> (Jmap.Id.to_string k, `Bool v) :: acc) map [] in···+let fields = add_opt_date fields "receivedAt" (Option.map Jmap.Date.to_timestamp t.received_at) in························
+28
-31
jmap/jmap-email/email.mli
+28
-31
jmap/jmap-email/email.mli
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-4.1> RFC 8621, Section 4.1 - Email Object·································
+115
-88
jmap/jmap-email/identity.ml
+115
-88
jmap/jmap-email/identity.ml
············] (* TODO: Use Property.to_string_list Property.all_properties when module ordering is fixed *)·································-| Some (Some addrs) -> ("replyTo", `List (List.map Types.Email_address.to_json addrs)) :: fields·········+| Some ids -> ("ids", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: fields···-| Some (`List ids) -> Some (List.map (function `String s -> s | _ -> failwith "Invalid ID in 'ids' list") ids)+| Some (`List ids) -> Some (List.map (function `String s -> (match Jmap.Id.of_string s with Ok id -> id | Error err -> failwith ("Invalid ID: " ^ err)) | _ -> failwith "Invalid ID in 'ids' list") ids)············+| Some ids -> ("destroy", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: fields······-| Some (`List ids) -> Some (List.map (function `String s -> s | _ -> failwith "Invalid ID in 'destroy' list") ids)+| Some (`List ids) -> Some (List.map (function `String s -> (match Jmap.Id.of_string s with Ok id -> id | Error _ -> failwith ("Invalid ID in 'destroy' list: " ^ s)) | _ -> failwith "Invalid ID in 'destroy' list") ids)·········("notDestroyed", `Assoc (hashtbl_to_assoc (fun _ -> `String "placeholder") t.not_destroyed));······-| Some (`List ids) -> List.map (function `String s -> s | _ -> failwith "Invalid ID in 'destroyed' list") ids+| Some (`List ids) -> List.map (function `String s -> (match Jmap.Id.of_string s with Ok id -> id | Error _ -> failwith ("Invalid ID in 'destroyed' list: " ^ s)) | _ -> failwith "Invalid ID in 'destroyed' list") ids························-| Some (`List ids) -> List.map (function `String s -> s | _ -> failwith ("Invalid ID in '" ^ key ^ "' list")) ids+| Some (`List ids) -> List.map (function `String s -> (match Jmap.Id.of_string s with Ok id -> id | Error _ -> failwith ("Invalid ID in '" ^ key ^ "' list: " ^ s)) | _ -> failwith ("Invalid ID in '" ^ key ^ "' list")) ids························-| Some (`List ids) -> List.map (function `String s -> s | _ -> failwith "Invalid ID in 'notFound' list") ids······
+63
-64
jmap/jmap-email/identity.mli
+63
-64
jmap/jmap-email/identity.mli
······@return Immutable unique ID (Some for all persisted identities, None only for unsaved objects) *)···········································································
+365
-191
jmap/jmap-email/mailbox.ml
+365
-191
jmap/jmap-email/mailbox.ml
·········+total_threads = (match Jmap.UInt.of_int 0 with Ok n -> n | Error e -> failwith ("Invalid total_threads: " ^ e));+unread_threads = (match Jmap.UInt.of_int 0 with Ok n -> n | Error e -> failwith ("Invalid unread_threads: " ^ e));+let create_full ~id ~name ?parent_id ?role ?(sort_order=(match Jmap.UInt.of_int 0 with Ok u -> u | Error _ -> failwith "Invalid default sort_order")) ~total_emails ~unread_emails···+Format.fprintf ppf "Mailbox{id=%s; name=%s; role=%s}" (Jmap.Id.to_string t.mailbox_id) t.name role_str···+("parentId", (match t.parent_id with Some p -> `String (Jmap.Id.to_string p) | None -> `Null));················································(* Stub implementations for method modules - these would be implemented based on actual JMAP method signatures *)·····················@return JSON object with accountId, queryState, canCalculateChanges, position, ids, and optional total *)············+| Some ids -> ("ids", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: base···+let account_id = match Jmap.Id.of_string (Yojson.Safe.Util.(json |> member "accountId" |> to_string)) with+| Error _ -> failwith ("Invalid id in Get_args ids list: " ^ Yojson.Safe.Util.to_string id_json)···············+let account_id = match Jmap.Id.of_string account_id_str with Ok id -> id | Error _ -> failwith ("Invalid account_id: " ^ account_id_str) in+let id = match Jmap.Id.of_string id_str with Ok id -> id | Error _ -> failwith ("Invalid id: " ^ id_str) in+| Some s -> (match Jmap.Id.of_string s with Ok id -> Some id | Error _ -> failwith ("Invalid parent_id: " ^ s))······+match Jmap.Id.of_string id_str with Ok id -> id | Error _ -> failwith ("Invalid not_found id: " ^ id_str)) in············+("destroy", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) args.destroy)) :: base···············@return JSON object with accountId, states, created, updated, destroyed, and error maps *)···+("destroyed", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) resp.destroyed)) :: base····························································
+70
-71
jmap/jmap-email/mailbox.mli
+70
-71
jmap/jmap-email/mailbox.mli
················································-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string···············-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string···············-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string··················-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string······
+11
-9
jmap/jmap-email/query.ml
+11
-9
jmap/jmap-email/query.ml
··················
+3
-3
jmap/jmap-email/query.mli
+3
-3
jmap/jmap-email/query.mli
·········
+4
-4
jmap/jmap-email/response.ml
+4
-4
jmap/jmap-email/response.ml
···+List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Query_response.ids response)···+List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Changes_response.created response)+List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Changes_response.updated response)+List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) (Changes_response.destroyed response)
+4
-5
jmap/jmap-email/response.mli
+4
-5
jmap/jmap-email/response.mli
·········
+31
-21
jmap/jmap-email/search.ml
+31
-21
jmap/jmap-email/search.ml
············-(match t.preview with Some p -> "\"" ^ String.sub p 0 (min 50 (String.length p)) ^ "...\"" | None -> "None")+(match t.preview with Some p -> "\"" ^ String.sub p 0 (Int.min 50 (String.length p)) ^ "...\"" | None -> "None")······+| Some ids -> ("emailIds", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: fields······-| Some (`List ids) -> Some (List.map (function `String id -> id | _ -> failwith "Invalid email ID") ids)+| Some (`List ids) -> Some (List.map (function `String id -> (match Jmap.Id.of_string id with Ok id -> id | Error err -> failwith ("Invalid email ID: " ^ err)) | _ -> failwith "Invalid email ID") ids)·········("list", `Assoc (Hashtbl.fold (fun k v acc -> (k, SearchSnippet.to_json v) :: acc) t.list []));···-| Some (`List ids) -> List.map (function `String id -> id | _ -> failwith "Invalid not found ID") ids···
+12
-13
jmap/jmap-email/search.mli
+12
-13
jmap/jmap-email/search.mli
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-5> RFC 8621, Section 5: SearchSnippet·····················
+29
-23
jmap/jmap-email/set.ml
+29
-23
jmap/jmap-email/set.ml
······-("mailboxIds", (`Assoc (List.map (fun (id, v) -> (id, `Bool v)) t.mailbox_ids) : Yojson.Safe.t));+("mailboxIds", (`Assoc (List.map (fun (id, v) -> (Jmap.Id.to_string id, `Bool v)) t.mailbox_ids) : Yojson.Safe.t));("keywords", (`Assoc (List.map (fun (kw, v) -> (Keywords.keyword_to_string kw, `Bool v)) t.keywords) : Yojson.Safe.t));-| Some timestamp -> ("receivedAt", (`String (Jmap.Date.of_timestamp timestamp |> Jmap.Date.to_rfc3339) : Yojson.Safe.t)) :: fields············
+26
-27
jmap/jmap-email/set.mli
+26
-27
jmap/jmap-email/set.mli
····································
+104
-85
jmap/jmap-email/submission.ml
+104
-85
jmap/jmap-email/submission.ml
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-7> RFC 8621, Section 7: EmailSubmission······+("dsnBlobIds", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) submission.dsn_blob_ids));+("mdnBlobIds", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) submission.mdn_blob_ids));···-Format.fprintf ppf "EmailSubmission{id=%s; email_id=%s; thread_id=%s; identity_id=%s; send_at=%s; undo_status=%s}"+Format.fprintf ppf "EmailSubmission{Id.t=%s; email_id=%s; thread_id=%s; identity_id=%s; send_at=%s; undo_status=%s}"···-Format.fprintf ppf "EmailSubmission {\n id: %s\n email_id: %s\n thread_id: %s\n identity_id: %s\n send_at: %s\n undo_status: %s\n envelope: %s\n delivery_status: %s\n dsn_blob_ids: %d\n mdn_blob_ids: %d\n}"+Format.fprintf ppf "EmailSubmission {\n Id.t: %s\n email_id: %s\n thread_id: %s\n identity_id: %s\n send_at: %s\n undo_status: %s\n envelope: %s\n delivery_status: %s\n dsn_blob_ids: %d\n mdn_blob_ids: %d\n}"···+| `String s -> (match Jmap.Id.of_string s with Ok id -> id | Error err -> failwith ("Invalid dsnBlobId: " ^ err))+| `String s -> (match Jmap.Id.of_string s with Ok id -> id | Error err -> failwith ("Invalid mdnBlobId: " ^ err))···+("dsnBlobIds", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) submission.dsn_blob_ids));+("mdnBlobIds", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) submission.mdn_blob_ids));··················+| Some ids -> ("ids", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: base···············+let account_id _ = match Jmap.Id.of_string "stub-account-id" with Ok id -> id | Error _ -> failwith "Invalid stub id"···+let account_id _ = match Jmap.Id.of_string "stub-account-id" with Ok id -> id | Error _ -> failwith "Invalid stub id"+let position _ = match Jmap.UInt.of_int 0 with Ok v -> v | Error _ -> failwith "Invalid position"···+let account_id _ = match Jmap.Id.of_string "stub-set-response-account-id" with Ok id -> id | Error _ -> failwith "Invalid stub id"············
+76
-79
jmap/jmap-email/submission.mli
+76
-79
jmap/jmap-email/submission.mli
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-7> RFC 8621, Section 7: EmailSubmission··································································
+99
-67
jmap/jmap-email/thread.ml
+99
-67
jmap/jmap-email/thread.ml
············+let id = if id_str = "" then None else (match Jmap.Id.of_string id_str with Ok id -> Some id | Error e -> failwith e) in+let email_ids = List.map (fun s -> match Jmap.Id.of_string s with Ok id -> id | Error e -> failwith e) email_ids in··········································+| Some ids -> ("ids", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: json_fields························+let fields = [("accountId", `String (Jmap.Id.to_string t.account_id)); ("sinceState", `String t.since_state)] in························
+54
-55
jmap/jmap-email/thread.mli
+54
-55
jmap/jmap-email/thread.mli
·····················-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string··················-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string··················-include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := id and type state := string+include Jmap_sigs.METHOD_RESPONSE with type t := t and type account_id := string and type state := string············
-807
jmap/jmap-email/types.ml
-807
jmap/jmap-email/types.ml
···-| Some message_ids -> ("messageId", `List (List.map (fun s -> `String s) message_ids)) :: fields-| Some text_body -> ("textBody", `List (List.map Email_body_part.to_json text_body)) :: fields-| Some html_body -> ("htmlBody", `List (List.map Email_body_part.to_json html_body)) :: fields-| Some attachments -> ("attachments", `List (List.map Email_body_part.to_json attachments)) :: fields
-764
jmap/jmap-email/types.mli
-764
jmap/jmap-email/types.mli
···-@see <https://www.rfc-editor.org/rfc/rfc8621.html> RFC 8621: The JSON Meta Application Protocol (JMAP) for Mail-@see <https://datatracker.ietf.org/doc/draft-ietf-mailmaint-messageflag-mailboxattribute/> Draft for vendor extensions-on_success_destroy_original : bool option; (** Whether to destroy originals after successful copy *)-destroy_from_if_in_state : string option; (** Only destroy if source account is in this state *)
+87
-62
jmap/jmap-email/vacation.ml
+87
-62
jmap/jmap-email/vacation.ml
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-8> RFC 8621, Section 8: VacationResponse······-let actual_id = match id with Some id -> id | None -> Jmap.Types.Constants.vacation_response_id in······] (* TODO: Use Property.to_string_list Property.all_properties when module ordering is fixed *)······Format.fprintf ppf "VacationResponse{id=%s; is_enabled=%s; from_date=%s; to_date=%s; subject=%s}"······Format.fprintf ppf "VacationResponse {\n id: %s\n is_enabled: %s\n from_date: %s\n to_date: %s\n subject: %s\n text_body: %s\n html_body: %s\n}"············+| `String date_str -> Some (Some (try Jmap.Date.of_timestamp (float_of_string date_str) with _ -> Jmap.Date.of_timestamp 0.0))+| `String date_str -> Some (Some (try Jmap.Date.of_timestamp (float_of_string date_str) with _ -> Jmap.Date.of_timestamp 0.0))······+| Some ids -> ("ids", `List (List.map (fun id -> `String (Jmap.Id.to_string id)) ids)) :: json_fields··················-update = Some (Hashtbl.create 1 |> fun tbl -> Hashtbl.add tbl Jmap.Types.Constants.vacation_response_id update; tbl);·····················
+51
-52
jmap/jmap-email/vacation.mli
+51
-52
jmap/jmap-email/vacation.mli
···@see <https://www.rfc-editor.org/rfc/rfc8621.html#section-8> RFC 8621, Section 8: VacationResponse·························································
+11
-11
jmap/jmap-unix/client.mli
+11
-11
jmap/jmap-unix/client.mli
························
+32
-22
jmap/jmap-unix/jmap_unix.ml
+32
-22
jmap/jmap-unix/jmap_unix.ml
···-("User-Agent", Option.value ctx.config.user_agent ~default:Jmap.Types.Constants.User_agent.eio_client);······+let connect_event_source env ctx ?(types=[]) ?(close_after=`No) ?(ping=(match Jmap.UInt.of_int 30 with Ok v -> v | Error _ -> failwith "Invalid default ping")) () =··················+let mailbox_id_t = match Jmap.Id.of_string mailbox_id with Ok id -> id | Error _ -> failwith ("Invalid mailbox_id: " ^ mailbox_id) in+| Some mailbox_ids -> Some (List.map (fun id_str -> match Jmap.Id.of_string id_str with Ok id -> id | Error _ -> failwith ("Invalid remove_from_mailboxes id: " ^ id_str)) mailbox_ids)············+| Some i -> Some (match Jmap.UInt.of_int i with Ok u -> u | Error _ -> failwith ("Invalid limit: " ^ string_of_int i)){ builder with methods = (Jmap.Method_names.method_to_string `Email_query, args, call_id) :: builder.methods }
+54
-54
jmap/jmap-unix/jmap_unix.mli
+54
-54
jmap/jmap-unix/jmap_unix.mli
············([`State of Jmap.Push.State_change.t | `Ping of Jmap.Push.Event_source_ping_data.t ] Seq.t)) Jmap.Error.result··································································
+122
jmap/jmap/date.ml
+122
jmap/jmap/date.ml
···
+98
jmap/jmap/date.mli
+98
jmap/jmap/date.mli
···
+4
-1
jmap/jmap/dune
+4
-1
jmap/jmap/dune
+7
-7
jmap/jmap/error.ml
+7
-7
jmap/jmap/error.ml
······| `Method_error of string * string * method_error_type * string option (** method_name * call_id * type * description *)-| `Set_error of string * id * set_error_type * string option (** method_name * object_id * type * description *)+| `Set_error of string * string * set_error_type * string option (** method_name * object_id * type * description *)······
+14
-14
jmap/jmap/error.mli
+14
-14
jmap/jmap/error.mli
······| `Method_error of string * string * method_error_type * string option (** method_name * call_id * type * description *)-| `Set_error of string * id * set_error_type * string option (** method_name * object_id * type * description *)+| `Set_error of string * string * set_error_type * string option (** method_name * object_id * type * description *)············
+55
jmap/jmap/id.ml
+55
jmap/jmap/id.ml
···
+75
jmap/jmap/id.mli
+75
jmap/jmap/id.mli
···
+5
-7
jmap/jmap/jmap.ml
+5
-7
jmap/jmap/jmap.ml
···
+10
-19
jmap/jmap/jmap.mli
+10
-19
jmap/jmap/jmap.mli
······
+24
-24
jmap/jmap/jmap_binary.ml
+24
-24
jmap/jmap/jmap_binary.ml
···
+22
-22
jmap/jmap/jmap_binary.mli
+22
-22
jmap/jmap/jmap_binary.mli
············
+8
-8
jmap/jmap/jmap_client.mli
+8
-8
jmap/jmap/jmap_client.mli
···············
+53
-53
jmap/jmap/jmap_methods.ml
+53
-53
jmap/jmap/jmap_methods.ml
······-| Some id_list -> ("ids", (`List (List.map (fun id -> `String id) id_list) : Yojson.Safe.t)) :: base_fields+| Some id_list -> ("ids", (`List (List.map (fun string -> `String string) id_list) : Yojson.Safe.t)) :: base_fields············| exn -> Error (Error.parse_error ("Changes_response parse error: " ^ Printexc.to_string exn))···-| Some destroy_list -> ("destroy", (`List (List.map (fun id -> `String id) destroy_list) : Yojson.Safe.t)) :: fields+| Some destroy_list -> ("destroy", (`List (List.map (fun string -> `String string) destroy_list) : Yojson.Safe.t)) :: fields························
+102
-102
jmap/jmap/jmap_methods.mli
+102
-102
jmap/jmap/jmap_methods.mli
···@see <https://www.rfc-editor.org/rfc/rfc8620.html#section-5> RFC 8620, Section 5 (Standard Methods) *)······················································
+1
-1
jmap/jmap/jmap_protocol.mli
+1
-1
jmap/jmap/jmap_protocol.mli
···
+27
-27
jmap/jmap/jmap_push.ml
+27
-27
jmap/jmap/jmap_push.ml
·································
+43
-43
jmap/jmap/jmap_push.mli
+43
-43
jmap/jmap/jmap_push.mli
····································
+6
-6
jmap/jmap/jmap_request.ml
+6
-6
jmap/jmap/jmap_request.ml
·········
+3
-3
jmap/jmap/jmap_request.mli
+3
-3
jmap/jmap/jmap_request.mli
···@see <https://www.rfc-editor.org/rfc/rfc8620.html#section-3.3> RFC 8620, Section 3.3 (Request Object)@see <https://www.rfc-editor.org/rfc/rfc8620.html#section-3.7> RFC 8620, Section 3.7 (Result References) *)······
+13
-13
jmap/jmap/jmap_response.mli
+13
-13
jmap/jmap/jmap_response.mli
···@see <https://www.rfc-editor.org/rfc/rfc8620.html#section-3.4> RFC 8620, Section 3.4 (Method Responses)······include Jmap_sigs.METHOD_RESPONSE with type t = (Yojson.Safe.t, Yojson.Safe.t) Jmap_methods.Set_response.t···include Jmap_sigs.METHOD_RESPONSE with type t = (Yojson.Safe.t, Yojson.Safe.t) Jmap_methods.Set_response.t···include Jmap_sigs.METHOD_RESPONSE with type t = (Yojson.Safe.t, Yojson.Safe.t) Jmap_methods.Set_response.t···include Jmap_sigs.METHOD_RESPONSE with type t = (Yojson.Safe.t, Yojson.Safe.t) Jmap_methods.Set_response.t···include Jmap_sigs.METHOD_RESPONSE with type t = (Yojson.Safe.t, Yojson.Safe.t) Jmap_methods.Set_response.t
+132
jmap/jmap/patch.ml
+132
jmap/jmap/patch.ml
···
+122
jmap/jmap/patch.mli
+122
jmap/jmap/patch.mli
···
+13
-13
jmap/jmap/session.ml
+13
-13
jmap/jmap/session.ml
···············-let headers = ("Accept", Types.Constants.Content_type.json) :: ("User-Agent", Types.Constants.User_agent.ocaml_jmap) :: (auth_headers auth) in+let headers = ("Accept", "application/json") :: ("User-Agent", "ocaml-jmap/1.0") :: (auth_headers auth) in
+27
-27
jmap/jmap/session.mli
+27
-27
jmap/jmap/session.mli
························
-432
jmap/jmap/types.ml
-432
jmap/jmap/types.ml
···
-592
jmap/jmap/types.mli
-592
jmap/jmap/types.mli
···
+85
jmap/jmap/uint.ml
+85
jmap/jmap/uint.ml
···
+128
jmap/jmap/uint.mli
+128
jmap/jmap/uint.mli
···
+4
-4
jmap/jmap/wire.ml
+4
-4
jmap/jmap/wire.ml
············
+7
-7
jmap/jmap/wire.mli
+7
-7
jmap/jmap/wire.mli
·····················
+3
-3
jmap/test_method.ml
+3
-3
jmap/test_method.ml
······