Proto.ControlControl protocol wire format for SDK communication.
This module defines the wire format for the SDK control protocol used for bidirectional communication between the SDK and the Claude CLI. It handles JSON serialization and deserialization of control messages.
The control protocol enables:
module Request : sig ... endSDK control request types.
module Response : sig ... endSDK control response types.
Control request envelope. Wire format has "type": "control_request".
Control response envelope. Wire format has "type": "control_response".
val request_envelope_jsont : request_envelope Jsont.trequest_envelope_jsont is the Jsont codec for request envelopes.
val response_envelope_jsont : response_envelope Jsont.tresponse_envelope_jsont is the Jsont codec for response envelopes.
val create_request :
request_id:string ->
request:Request.t ->
unit ->
request_envelopecreate_request ~request_id ~request () creates a control request envelope.
val create_response : response:Response.t -> unit -> response_envelopecreate_response ~response () creates a control response envelope.
module Server_info : sig ... endServer information and capabilities.