this repo has no description

Guidelines for the AI copilot editor.#

Whenever you generate any new OCaml functions, annotate that function's OCamldoc with a "TODO:claude" to indicate it is autogenerated. Do this for every function you generate and not just the header file.

Project structure#

The spec/rfc8620.txt is the core JMAP protocol, which we are aiming to implement in OCaml code in this project. We must accurately capture the specification in the OCaml interface and never violate it without clear indication.

Coding Instructions#

Read your instructions from this file, and mark successfully completed instructions with DONE so that you will know what to do next when reinvoked in the future.

  1. DONE Define core OCaml type definitions corresponding to the JMAP protocol specification, in a new Jmap.Types module.
  2. DONE Add a Jmap.Api module to make JMAP API requests over HTTP and parse the responses into the Jmap.Types. Used Cohttp_lwt_unix for the HTTP library. Note: There is a compilation issue with the current ezjsonm package on the system.
  3. Add an implementation of the Jmap_session handling.