using StellaOps.AuditPack.Models;
namespace StellaOps.AuditPack.Services;
///
/// Interface for isolated replay context.
///
public interface IIsolatedReplayContext : IDisposable
{
bool IsInitialized { get; }
DateTimeOffset EvaluationTime { get; }
string WorkingDirectory { get; }
byte[]? Sbom { get; }
byte[]? FeedsSnapshot { get; }
byte[]? PolicyBundle { get; }
byte[]? VexStatements { get; }
string? SbomDigest { get; }
string? FeedsDigest { get; }
string? PolicyDigest { get; }
Task InitializeAsync(
AuditBundleReadResult bundleResult,
CancellationToken cancellationToken = default);
InputDigestVerification VerifyInputDigests(InputDigests expected);
string GetInputPath(ReplayInputType inputType);
}