using System.Collections.Immutable; using StellaOps.AuditPack.Models; namespace StellaOps.AuditPack.Services; public sealed partial class AuditBundleReader { private sealed record BundleEntry(string Path, string Digest, long SizeBytes); private sealed record SignatureVerificationResult { public bool? Verified { get; init; } public string? KeyId { get; init; } public string? Error { get; init; } } private sealed record MerkleVerificationResult { public bool Verified { get; init; } public string? Error { get; init; } } private sealed record InputDigestVerificationResult { public bool Verified { get; init; } public ImmutableArray? Errors { get; init; } } private sealed record ManifestLoadResult( bool Success, string? Error, AuditBundleManifest? Manifest, byte[]? ManifestBytes); private sealed record ExtractionResult( bool Success, string? Error, AuditBundleReadResult Result, string TempDir); }