Named, versioned per-run prepared contracts.
@spec fetch(term(), term(), term()) :: {:ok, map()} | {:error, :not_found}
@spec put(term(), term(), TypeSafeSDK.Prepared.t() | keyword(), keyword()) :: :ok
@spec resolve(term(), term()) :: {:ok, map()} | {:error, :not_found}