sig
  type t
  val v :
    ?log:string ->
    ?ctx:Assemblage.Ctx.t ->
    ?inputs:Assemblage.Path.t list ->
    ?outputs:Assemblage.Path.t list ->
    Assemblage.Acmd.t list -> Assemblage.Action.t
  val ctx : Assemblage.Action.t -> Assemblage.Ctx.t
  val inputs : Assemblage.Action.t -> Assemblage.Path.t list
  val outputs : Assemblage.Action.t -> Assemblage.Path.t list
  val cmds : Assemblage.Action.t -> Assemblage.Acmd.t list
  val log : Assemblage.Action.t -> string option
  val products : Assemblage.Action.t -> Assemblage.Path.t list
  val symlink :
    (Assemblage.Path.t -> Assemblage.Path.t -> Assemblage.Action.t)
    Assemblage.Conf.value
  val list_inputs : Assemblage.Action.t list -> Assemblage.Path.t list
  val list_outputs : Assemblage.Action.t list -> Assemblage.Path.t list
  val list_products : Assemblage.Action.t list -> Assemblage.Path.t list
end