Control.RequestSDK control request types.
type permission_r = private {tool_name : string;input : Jsont.json;permission_suggestions : Permissions.Update.t list option;blocked_path : string option;unknown : Unknown.t;}type hook_callback_r = private {callback_id : string;input : Jsont.json;tool_use_id : string option;unknown : Unknown.t;}type t = | Interrupt| Permission of permission_r| Initialize of initialize_r| Set_permission_mode of set_permission_mode_r| Hook_callback of hook_callback_r| Mcp_message of mcp_message_r| Set_model of set_model_r| Get_server_infoThe type of SDK control requests. Wire format uses "subtype" field: "interrupt", "canUseTool", "initialize", "setPermissionMode", "hookCallback", "mcpMessage", "setModel", "getServerInfo".
*)val interrupt : unit -> tinterrupt () creates an interrupt request.
val permission :
tool_name:string ->
input:Jsont.json ->
?permission_suggestions:Permissions.Update.t list ->
?blocked_path:string ->
unit ->
tpermission ~tool_name ~input ?permission_suggestions ?blocked_path () creates a permission request.
val initialize : ?hooks:(string * Jsont.json) list -> unit -> tinitialize ?hooks () creates an initialize request.
val set_permission_mode : mode:Permissions.Mode.t -> unit -> tset_permission_mode ~mode () creates a permission mode change request.
val hook_callback :
callback_id:string ->
input:Jsont.json ->
?tool_use_id:string ->
unit ->
thook_callback ~callback_id ~input ?tool_use_id () creates a hook callback request.
val mcp_message : server_name:string -> message:Jsont.json -> unit -> tmcp_message ~server_name ~message () creates an MCP message request.
val set_model : model:string -> unit -> tset_model ~model () creates a model change request.
val get_server_info : unit -> tget_server_info () creates a server info request.