namespace StellaOps.AirGap.Bundle.Services;
///
/// Result of creating a knowledge snapshot bundle.
///
public sealed record SnapshotBundleResult
{
public bool Success { get; init; }
public string? OutputPath { get; init; }
public string? BundleId { get; init; }
public string? MerkleRoot { get; init; }
public string? BundleDigest { get; init; }
public long TotalSizeBytes { get; init; }
public int EntryCount { get; init; }
public DateTimeOffset CreatedAt { get; init; }
public string? Error { get; init; }
///
/// Whether the manifest was signed.
///
public bool Signed { get; init; }
///
/// Key ID used for signing.
///
public string? SigningKeyId { get; init; }
///
/// Algorithm used for signing.
///
public string? SigningAlgorithm { get; init; }
public static SnapshotBundleResult Failed(string error) => new()
{
Success = false,
Error = error
};
}