Code/SboxSuperuser/Api/IRecoverableAdminStore.cs

Interface for a trusted admin store that supports inspecting and recovering backups. It extends IAdminStore and declares async methods to list backups (GetBackupsAsync) and to recover a selected backup as a new revision (RecoverAsync).

File Access
namespace SboxSuperuser;

/// <summary>Trusted host-only storage and explicit backup recovery; never expose this interface through a player RPC.</summary>
public interface IRecoverableAdminStore : IAdminStore
{
	/// <summary>Inspects current health and up to 100 compatible committed backups, newest first.</summary>
	Task<StoreBackupList> GetBackupsAsync( StoreKey key, CancellationToken cancellation );

	/// <summary>Restores a selected backup as a new revision with a recovery intent; refuses a changed head.</summary>
	Task<StoreWriteResult> RecoverAsync( StoreKey key, Guid generationId, long expectedHeadRevision,
		AuditIntent recoveryIntent, CancellationToken cancellation );
}