Module Chat_completion

module Agent_key : sig ... end
module Agent_res_LRU : sig ... end
type persistent_form = {
  1. max_size : int;
  2. items : (Prompt_template.Chat_markdown.agent_content * string Agent_res_LRU.entry) list;
}
val bin_shape_persistent_form : Core.Bin_prot.Shape.t
val bin_size_persistent_form : persistent_form Core.Bin_prot.Size.sizer
val bin_write_persistent_form : persistent_form Core.Bin_prot.Write.writer
val bin_writer_persistent_form : persistent_form Core.Bin_prot.Type_class.writer
val __bin_read_persistent_form__ : (int -> persistent_form) Core.Bin_prot.Read.reader
val bin_read_persistent_form : persistent_form Core.Bin_prot.Read.reader
val bin_reader_persistent_form : persistent_form Core.Bin_prot.Type_class.reader
val to_persistent_form : string Agent_res_LRU.t -> persistent_form
val of_persistent_form : persistent_form -> string Agent_res_LRU.t
val write_lru_to_file : filename:string -> string Agent_res_LRU.t -> unit
val read_lru_from_file : filename:string -> string Agent_res_LRU.t
val clean_html : string -> Core.String.t
val tab_on_newline : string -> string
val get_content : dir:Eio.Fs.dir_ty Eio.Path.t -> net:[> [> `Generic ] Eio.Net.ty ] Eio.Net.t -> string -> bool -> string
val get_user_msg : dir:Eio.Fs.dir_ty Eio.Path.t -> net:[> [> `Generic ] Eio.Net.ty ] Eio.Net.t -> cache:string Agent_res_LRU.t -> Prompt_template.Chat_markdown.content_item list -> string
val run_agent : string -> Prompt_template.Chat_markdown.content_item list -> dir:Eio.Fs.dir_ty Eio.Path.t -> net:[> [> `Generic ] Eio.Net.ty ] Eio.Net.t -> cache:string Agent_res_LRU.t -> string
val run_completion : env: < fs : Eio.Fs.dir_ty Eio.Path.t ; net : [> [> `Generic ] Eio.Net.ty ] Eio.Net.t.. > -> output_file:string -> prompt_file:string option -> unit