The node contract: function refs, retry policy, timeout, idempotency.
Summary
Types
@type idempotency() :: %{key: String.t()} | nil
@type mfa_ref() :: %{module: module(), function: atom(), arity: pos_integer()}
@type retry() :: %{ strategy: String.t(), max: non_neg_integer(), on: [String.t()], base_ms: pos_integer() | nil } | nil
@type t() :: %Bloccs.Manifest.Contract{ effect_shell: mfa_ref(), idempotency: idempotency(), pure_core: mfa_ref(), retry: retry(), timeout_ms: pos_integer() | nil }