An immutable, versioned procedure definition.
@type t() :: %Tursox.Procedures.Procedure{ enabled: boolean(), language: :lua, metadata: map(), name: String.t(), source: String.t(), source_hash: String.t(), version: pos_integer() }