sig
  type t = {
    name : string;
    fullName : string;
    version : string;
    semanticVersion : string;
    fileVersion : string;
    downloadUri : string;
    sarifLoggerVersion : string;
    language : string;
    properties : Sarif.Properties.t;
  }
  val to_yojson : Sarif.Tool.t -> Yojson.Safe.t
  val of_yojson :
    Yojson.Safe.t -> Sarif.Tool.t Ppx_deriving_yojson_runtime.error_or
  val _ : Yojson.Safe.t -> Sarif.Tool.t Ppx_deriving_yojson_runtime.error_or
  val create :
    name:string ->
    ?fullName:string ->
    ?version:string ->
    ?semanticVersion:string ->
    ?fileVersion:string ->
    ?downloadUri:string ->
    ?sarifLoggerVersion:string ->
    ?language:string ->
    ?properties:Sarif.Properties.t -> unit -> Sarif.Tool.t
  val default : Sarif.Tool.t
end