Workspace diff result between two snapshots.
@type backend_kind() :: :git | :hash
@type t() :: %ASM.Extensions.Workspace.Diff{ added: [String.t()], backend: backend_kind(), deleted: [String.t()], from_snapshot_id: String.t(), metadata: map(), modified: [String.t()], to_snapshot_id: String.t() }
@spec changed_count(t()) :: non_neg_integer()
@spec empty?(t()) :: boolean()
@spec summary(t()) :: map()
@spec to_map(t()) :: map()