Module Prompt_template.Chat_markdown

type function_call = {
  1. name : string;
  2. arguments : string;
}
val jsonaf_of_function_call : function_call -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val function_call_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> function_call
val sexp_of_function_call : function_call -> Sexplib0.Sexp.t
val function_call_of_sexp : Sexplib0.Sexp.t -> function_call
val bin_shape_function_call : Bin_prot.Shape.t
val bin_size_function_call : function_call Bin_prot.Size.sizer
val bin_write_function_call : function_call Bin_prot.Write.writer
val bin_writer_function_call : function_call Bin_prot.Type_class.writer
val bin_read_function_call : function_call Bin_prot.Read.reader
val __bin_read_function_call__ : (int -> function_call) Bin_prot.Read.reader
val bin_reader_function_call : function_call Bin_prot.Type_class.reader
val bin_function_call : function_call Bin_prot.Type_class.t
val compare_function_call : function_call -> function_call -> int
type tool_call = {
  1. id : string;
  2. function_ : function_call;
}
val jsonaf_of_tool_call : tool_call -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val tool_call_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> tool_call
val sexp_of_tool_call : tool_call -> Sexplib0.Sexp.t
val tool_call_of_sexp : Sexplib0.Sexp.t -> tool_call
val bin_shape_tool_call : Bin_prot.Shape.t
val bin_size_tool_call : tool_call Bin_prot.Size.sizer
val bin_write_tool_call : tool_call Bin_prot.Write.writer
val bin_writer_tool_call : tool_call Bin_prot.Type_class.writer
val bin_read_tool_call : tool_call Bin_prot.Read.reader
val __bin_read_tool_call__ : (int -> tool_call) Bin_prot.Read.reader
val bin_reader_tool_call : tool_call Bin_prot.Type_class.reader
val bin_tool_call : tool_call Bin_prot.Type_class.t
val compare_tool_call : tool_call -> tool_call -> int
type image_url = {
  1. url : string;
}
val jsonaf_of_image_url : image_url -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val image_url_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> image_url
val sexp_of_image_url : image_url -> Sexplib0.Sexp.t
val image_url_of_sexp : Sexplib0.Sexp.t -> image_url
val bin_shape_image_url : Bin_prot.Shape.t
val bin_size_image_url : image_url Bin_prot.Size.sizer
val bin_write_image_url : image_url Bin_prot.Write.writer
val bin_writer_image_url : image_url Bin_prot.Type_class.writer
val bin_read_image_url : image_url Bin_prot.Read.reader
val __bin_read_image_url__ : (int -> image_url) Bin_prot.Read.reader
val bin_reader_image_url : image_url Bin_prot.Type_class.reader
val bin_image_url : image_url Bin_prot.Type_class.t
val compare_image_url : image_url -> image_url -> int
type basic_content_item = {
  1. type_ : string;
  2. text : string option;
  3. image_url : image_url option;
  4. document_url : string option;
  5. is_local : bool;
  6. cleanup_html : bool;
}
val jsonaf_of_basic_content_item : basic_content_item -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val basic_content_item_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> basic_content_item
val sexp_of_basic_content_item : basic_content_item -> Sexplib0.Sexp.t
val basic_content_item_of_sexp : Sexplib0.Sexp.t -> basic_content_item
val hash_basic_content_item : basic_content_item -> Ppx_hash_lib.Std.Hash.hash_value
val bin_shape_basic_content_item : Bin_prot.Shape.t
val bin_size_basic_content_item : basic_content_item Bin_prot.Size.sizer
val bin_write_basic_content_item : basic_content_item Bin_prot.Write.writer
val bin_writer_basic_content_item : basic_content_item Bin_prot.Type_class.writer
val bin_read_basic_content_item : basic_content_item Bin_prot.Read.reader
val __bin_read_basic_content_item__ : (int -> basic_content_item) Bin_prot.Read.reader
val bin_reader_basic_content_item : basic_content_item Bin_prot.Type_class.reader
val bin_basic_content_item : basic_content_item Bin_prot.Type_class.t
val compare_basic_content_item : basic_content_item -> basic_content_item -> int
type agent_content = {
  1. url : string;
  2. is_local : bool;
  3. items : content_item list;
}
and content_item =
  1. | Basic of basic_content_item
  2. | Agent of agent_content
val jsonaf_of_agent_content : agent_content -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val jsonaf_of_content_item : content_item -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val agent_content_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> agent_content
val content_item_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> content_item
val sexp_of_agent_content : agent_content -> Sexplib0.Sexp.t
val sexp_of_content_item : content_item -> Sexplib0.Sexp.t
val agent_content_of_sexp : Sexplib0.Sexp.t -> agent_content
val content_item_of_sexp : Sexplib0.Sexp.t -> content_item
val bin_shape_agent_content : Bin_prot.Shape.t
val bin_shape_content_item : Bin_prot.Shape.t
val bin_size_agent_content : agent_content Bin_prot.Size.sizer
val bin_write_agent_content : agent_content Bin_prot.Write.writer
val bin_writer_agent_content : agent_content Bin_prot.Type_class.writer
val bin_size_content_item : content_item Bin_prot.Size.sizer
val bin_write_content_item : content_item Bin_prot.Write.writer
val bin_writer_content_item : content_item Bin_prot.Type_class.writer
val bin_read_agent_content : agent_content Bin_prot.Read.reader
val __bin_read_agent_content__ : (int -> agent_content) Bin_prot.Read.reader
val bin_reader_agent_content : agent_content Bin_prot.Type_class.reader
val bin_read_content_item : content_item Bin_prot.Read.reader
val __bin_read_content_item__ : (int -> content_item) Bin_prot.Read.reader
val bin_reader_content_item : content_item Bin_prot.Type_class.reader
val bin_agent_content : agent_content Bin_prot.Type_class.t
val bin_content_item : content_item Bin_prot.Type_class.t
val compare_agent_content : agent_content -> agent_content -> int
val compare_content_item : content_item -> content_item -> int
type chat_message_content =
  1. | Text of string
  2. | Items of content_item list
val jsonaf_of_chat_message_content : chat_message_content -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val chat_message_content_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> chat_message_content
val sexp_of_chat_message_content : chat_message_content -> Sexplib0.Sexp.t
val chat_message_content_of_sexp : Sexplib0.Sexp.t -> chat_message_content
val hash_chat_message_content : chat_message_content -> Ppx_hash_lib.Std.Hash.hash_value
val bin_shape_chat_message_content : Bin_prot.Shape.t
val bin_size_chat_message_content : chat_message_content Bin_prot.Size.sizer
val bin_write_chat_message_content : chat_message_content Bin_prot.Write.writer
val bin_writer_chat_message_content : chat_message_content Bin_prot.Type_class.writer
val bin_read_chat_message_content : chat_message_content Bin_prot.Read.reader
val __bin_read_chat_message_content__ : (int -> chat_message_content) Bin_prot.Read.reader
val bin_reader_chat_message_content : chat_message_content Bin_prot.Type_class.reader
val bin_chat_message_content : chat_message_content Bin_prot.Type_class.t
val compare_chat_message_content : chat_message_content -> chat_message_content -> int
type reasoning_summary = {
  1. text : string;
  2. _type : string;
}
val jsonaf_of_reasoning_summary : reasoning_summary -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val reasoning_summary_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> reasoning_summary
val sexp_of_reasoning_summary : reasoning_summary -> Sexplib0.Sexp.t
val reasoning_summary_of_sexp : Sexplib0.Sexp.t -> reasoning_summary
val hash_reasoning_summary : reasoning_summary -> Ppx_hash_lib.Std.Hash.hash_value
val bin_shape_reasoning_summary : Bin_prot.Shape.t
val bin_size_reasoning_summary : reasoning_summary Bin_prot.Size.sizer
val bin_write_reasoning_summary : reasoning_summary Bin_prot.Write.writer
val bin_writer_reasoning_summary : reasoning_summary Bin_prot.Type_class.writer
val bin_read_reasoning_summary : reasoning_summary Bin_prot.Read.reader
val __bin_read_reasoning_summary__ : (int -> reasoning_summary) Bin_prot.Read.reader
val bin_reader_reasoning_summary : reasoning_summary Bin_prot.Type_class.reader
val bin_reasoning_summary : reasoning_summary Bin_prot.Type_class.t
val compare_reasoning_summary : reasoning_summary -> reasoning_summary -> int
type reasoning = {
  1. summary : reasoning_summary list;
  2. id : string;
  3. status : string option;
  4. _type : string;
}
val jsonaf_of_reasoning : reasoning -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val reasoning_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> reasoning
val sexp_of_reasoning : reasoning -> Sexplib0.Sexp.t
val reasoning_of_sexp : Sexplib0.Sexp.t -> reasoning
val bin_shape_reasoning : Bin_prot.Shape.t
val bin_size_reasoning : reasoning Bin_prot.Size.sizer
val bin_write_reasoning : reasoning Bin_prot.Write.writer
val bin_writer_reasoning : reasoning Bin_prot.Type_class.writer
val bin_read_reasoning : reasoning Bin_prot.Read.reader
val __bin_read_reasoning__ : (int -> reasoning) Bin_prot.Read.reader
val bin_reader_reasoning : reasoning Bin_prot.Type_class.reader
val bin_reasoning : reasoning Bin_prot.Type_class.t
val compare_reasoning : reasoning -> reasoning -> int
type msg = {
  1. role : string;
  2. content : chat_message_content option;
  3. name : string option;
  4. id : string option;
    (*

    NEW

    *)
  5. status : string option;
    (*

    NEW

    *)
  6. function_call : function_call option;
  7. tool_call : tool_call option;
  8. tool_call_id : string option;
}
val sexp_of_msg : msg -> Sexplib0.Sexp.t
val msg_of_sexp : Sexplib0.Sexp.t -> msg
val bin_shape_msg : Bin_prot.Shape.t
val bin_size_msg : msg Bin_prot.Size.sizer
val bin_write_msg : msg Bin_prot.Write.writer
val bin_writer_msg : msg Bin_prot.Type_class.writer
val bin_read_msg : msg Bin_prot.Read.reader
val __bin_read_msg__ : (int -> msg) Bin_prot.Read.reader
val bin_reader_msg : msg Bin_prot.Type_class.reader
val compare_msg : msg -> msg -> int
type custom_tool = {
  1. name : string;
  2. description : string option;
  3. command : string;
}
val jsonaf_of_custom_tool : custom_tool -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val custom_tool_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> custom_tool
val sexp_of_custom_tool : custom_tool -> Sexplib0.Sexp.t
val custom_tool_of_sexp : Sexplib0.Sexp.t -> custom_tool
val bin_shape_custom_tool : Bin_prot.Shape.t
val bin_size_custom_tool : custom_tool Bin_prot.Size.sizer
val bin_write_custom_tool : custom_tool Bin_prot.Write.writer
val bin_writer_custom_tool : custom_tool Bin_prot.Type_class.writer
val bin_read_custom_tool : custom_tool Bin_prot.Read.reader
val __bin_read_custom_tool__ : (int -> custom_tool) Bin_prot.Read.reader
val bin_reader_custom_tool : custom_tool Bin_prot.Type_class.reader
val bin_custom_tool : custom_tool Bin_prot.Type_class.t
val compare_custom_tool : custom_tool -> custom_tool -> int
type agent_tool = {
  1. name : string;
  2. description : string option;
  3. agent : string;
  4. is_local : bool;
}
val jsonaf_of_agent_tool : agent_tool -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val agent_tool_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> agent_tool
val sexp_of_agent_tool : agent_tool -> Sexplib0.Sexp.t
val agent_tool_of_sexp : Sexplib0.Sexp.t -> agent_tool
val bin_shape_agent_tool : Bin_prot.Shape.t
val bin_size_agent_tool : agent_tool Bin_prot.Size.sizer
val bin_write_agent_tool : agent_tool Bin_prot.Write.writer
val bin_writer_agent_tool : agent_tool Bin_prot.Type_class.writer
val bin_read_agent_tool : agent_tool Bin_prot.Read.reader
val __bin_read_agent_tool__ : (int -> agent_tool) Bin_prot.Read.reader
val bin_reader_agent_tool : agent_tool Bin_prot.Type_class.reader
val bin_agent_tool : agent_tool Bin_prot.Type_class.t
val compare_agent_tool : agent_tool -> agent_tool -> int
type tool =
  1. | Builtin of string
  2. | Custom of custom_tool
  3. | Agent of agent_tool
val sexp_of_tool : tool -> Sexplib0.Sexp.t
val tool_of_sexp : Sexplib0.Sexp.t -> tool
val bin_shape_tool : Bin_prot.Shape.t
val bin_size_tool : tool Bin_prot.Size.sizer
val bin_write_tool : tool Bin_prot.Write.writer
val bin_writer_tool : tool Bin_prot.Type_class.writer
val bin_read_tool : tool Bin_prot.Read.reader
val __bin_read_tool__ : (int -> tool) Bin_prot.Read.reader
val bin_reader_tool : tool Bin_prot.Type_class.reader
val compare_tool : tool -> tool -> int
type config = {
  1. max_tokens : int option;
  2. model : string option;
  3. reasoning_effort : string option;
  4. temperature : float option;
  5. show_tool_call : bool;
  6. id : string option;
}
val sexp_of_config : config -> Sexplib0.Sexp.t
val config_of_sexp : Sexplib0.Sexp.t -> config
val bin_shape_config : Bin_prot.Shape.t
val bin_size_config : config Bin_prot.Size.sizer
val bin_write_config : config Bin_prot.Write.writer
val bin_writer_config : config Bin_prot.Type_class.writer
val bin_read_config : config Bin_prot.Read.reader
val __bin_read_config__ : (int -> config) Bin_prot.Read.reader
val bin_reader_config : config Bin_prot.Type_class.reader
val bin_config : config Bin_prot.Type_class.t
val compare_config : config -> config -> int
type top_level_elements =
  1. | Msg of msg
  2. | Config of config
  3. | Reasoning of reasoning
  4. | Tool of tool
val jsonaf_of_top_level_elements : top_level_elements -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val top_level_elements_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> top_level_elements
val sexp_of_top_level_elements : top_level_elements -> Sexplib0.Sexp.t
val top_level_elements_of_sexp : Sexplib0.Sexp.t -> top_level_elements
val hash_top_level_elements : top_level_elements -> Ppx_hash_lib.Std.Hash.hash_value
val bin_shape_top_level_elements : Bin_prot.Shape.t
val bin_size_top_level_elements : top_level_elements Bin_prot.Size.sizer
val bin_write_top_level_elements : top_level_elements Bin_prot.Write.writer
val bin_writer_top_level_elements : top_level_elements Bin_prot.Type_class.writer
val bin_read_top_level_elements : top_level_elements Bin_prot.Read.reader
val __bin_read_top_level_elements__ : (int -> top_level_elements) Bin_prot.Read.reader
val bin_reader_top_level_elements : top_level_elements Bin_prot.Type_class.reader
val bin_top_level_elements : top_level_elements Bin_prot.Type_class.t
val compare_top_level_elements : top_level_elements -> top_level_elements -> int
val parse_chat_inputs : dir:Eio.Fs.dir_ty Eio.Path.t -> string -> top_level_elements list